0a63ba05d39c2de2e9a1c0d68770f34e5481c3d7
[gnulib.git] / ChangeLog
1 2011-09-29  Bruno Haible  <bruno@clisp.org>
2
3         doc: Improve doc about gl_EARLY.
4         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5         AC_PROG_CC_STDC invocation.
6         Reported by Gary V. Vaughan <gary@gnu.org>.
7
8 2011-09-28  Bruno Haible  <bruno@clisp.org>
9
10         fgetc, fputc, fread, fwrite tests: Fix link error.
11         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12         on non-MSVC platforms.
13         * tests/test-fputc.c (main): Likewise.
14         * tests/test-fread.c (main): Likewise.
15         * tests/test-fwrite.c (main): Likewise.
16         Reported by Jim Meyering.
17
18 2011-09-27  Bruno Haible  <bruno@clisp.org>
19
20         fputc, fwrite tests: Avoid test failure on MSVC.
21         * tests/test-fgetc.c: Include msvc-inval.h.
22         (main): Invoke gl_msvc_inval_ensure_handler.
23         * tests/test-fputc.c: Include msvc-inval.h.
24         (main): Invoke gl_msvc_inval_ensure_handler.
25         * tests/test-fread.c: Include msvc-inval.h.
26         (main): Invoke gl_msvc_inval_ensure_handler.
27         * tests/test-fwrite.c: Include msvc-inval.h.
28         (main): Invoke gl_msvc_inval_ensure_handler.
29         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30         * modules/fputc-tests (Depends-on): Likewise.
31         * modules/fread-tests (Depends-on): Likewise.
32         * modules/fwrite-tests (Depends-on): Likewise.
33
34 2011-09-27  Bruno Haible  <bruno@clisp.org>
35
36         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
37         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
38         (raise): Remove older, duplicated declaration.
39         (_gl_raise_SIGPIPE): New declaration.
40         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
41         (rpl_raise): Remove function.
42         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
43         a gnulib-defined SIGPIPE here.
44         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
45         'sigprocmask' has detected missing signal-blocking and the module
46         'sigpipe' is enabled.
47         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48
49 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
50
51         base64-tests: avoid memory leak
52         * tests/test-base64.c (main): Plug memory leak.
53
54         base32: new module
55         * modules/base32: New module.
56         * lib/base32.c: New file.
57         * lib/base32.h: Likewise.
58         * m4/base32.m4: Likewise.
59         * modules/base32-tests: New test.
60         * tests/test-base32.c: Likewise.
61         * MODULES.html.sh (Misc): Mention it.
62
63 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64
65         gnulib: use more-standard license notice wording
66         * gnulib-tool (func_emit_copyright_notice): When emitting a
67         license notice into a file, use the standard wording as suggested
68         by the current information for GNU maintainers, except say "file"
69         rather than "program".  The new wording gives a license version
70         number, which addresses an issue raised by Glenn Morris in
71         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
72         * m4/onceonly.m4: Use that same wording here, too.
73
74         dup2: minor simplification
75         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
76         as lib/dup2.c no longer uses 'inline'.
77
78 2011-09-25  Bruno Haible  <bruno@clisp.org>
79
80         strings: Fix compilation error on MSVC.
81         * lib/strings.in.h: Include <stddef.h> for size_t.
82
83 2011-09-25  Bruno Haible  <bruno@clisp.org>
84
85         fflush et al.: Document limitation on MSVC.
86         * doc/posix-functions/fflush.texi: Document possible crash in handling
87         mode other than DEFAULT_HANDLING.
88         * doc/posix-functions/fgetc.texi: Likewise.
89         * doc/posix-functions/fputc.texi: Likewise.
90         * doc/posix-functions/fread.texi: Likewise.
91         * doc/posix-functions/fwrite.texi: Likewise.
92
93 2011-09-25  Bruno Haible  <bruno@clisp.org>
94
95         msvc-inval: Allow three invalid parameter handling modes.
96         * lib/msvc-inval.h: Don't include <stdlib.h> here.
97         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
98         macros.
99         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
100         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
101         SANE_LIBRARY_HANDLING as a no-op.
102         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
103         <stdlib.h>.
104         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
105
106 2011-09-25  Bruno Haible  <bruno@clisp.org>
107
108         msvc-inval: Make handler multithread-safe.
109         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
110         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
111         declarations.
112         (gl_msvc_inval_current): New declaration.
113         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
114         Operate on the structure returned by gl_msvc_inval_current().
115         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
116         Remove varaiables.
117         (tls_index, tls_initialized): New variables.
118         (not_per_thread): New variable.
119         (gl_msvc_inval_current): New function.
120         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
121         returned by gl_msvc_inval_current().
122
123 2011-09-25  Bruno Haible  <bruno@clisp.org>
124
125         msvc-inval: Install handler globally.
126         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
127         !_MSC_VER.
128         (gl_msvc_invalid_parameter_handler): Remove declaration.
129         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
130         declarations.
131         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
132         Install the handler globally, don't uninstall it.
133         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
134         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
135         currently valid, call RaiseException instead.
136         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
137         for !_MSC_VER.
138
139 2011-09-25  Bruno Haible  <bruno@clisp.org>
140
141         strerror_r-posix: Fix for MSVC 9.
142         * lib/strerror_r.c (local_snprintf): New function.
143         (snprintf): Define to local_snprintf, not to _snprintf.
144
145 2011-09-25  Bruno Haible  <bruno@clisp.org>
146
147         ftruncate: Support for MSVC 9.
148         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
149         (chsize_nothrow): New function.
150         (chsize): Redefine as a macro.
151         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
152         * modules/ftruncate (Depends-on): Add msvc-inval.
153
154 2011-09-25  Bruno Haible  <bruno@clisp.org>
155
156         New module 'fstat'.
157         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
158         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
159         * lib/fchdir.c (rpl_fstat): Remove function.
160         * m4/fstat.m4: New file.
161         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
162         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
163         declared.
164         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
165         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
166         * modules/fstat: New file.
167         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
168         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
169         is set.
170         * doc/posix-functions/fstat.texi: Mention the new module and the
171         problem on MSVC.
172         * NEWS: Mention the change.
173         * modules/acl (Depends-on): Add fstat.
174         * modules/chdir-safer (Depends-on): Likewise.
175         * modules/chown (Depends-on): Likewise.
176         * modules/copy-file (Depends-on): Likewise.
177         * modules/fchdir (Depends-on): Likewise.
178         * modules/fdopendir (Depends-on): Likewise.
179         * modules/fopen (Depends-on): Likewise.
180         * modules/fts (Depends-on): Likewise.
181         * modules/getcwd (Depends-on): Likewise.
182         * modules/isapipe (Depends-on): Likewise.
183         * modules/linkat (Depends-on): Likewise.
184         * modules/lseek (Depends-on): Likewise.
185         * modules/mkdir-p (Depends-on): Likewise.
186         * modules/open (Depends-on): Likewise.
187         * modules/openat (Depends-on): Likewise.
188         * modules/read-file (Depends-on): Likewise.
189         * modules/renameat (Depends-on): Likewise.
190         * modules/utimens (Depends-on): Likewise.
191
192 2011-09-25  Bruno Haible  <bruno@clisp.org>
193
194         linkat: Fix compilation on MSVC 9.
195         * lib/linkat.c: Don't include <stdint.h>.
196
197 2011-09-25  Bruno Haible  <bruno@clisp.org>
198
199         fclose: Support for MSVC 9.
200         * lib/fclose.c: Include msvc-inval.h.
201         (fclose_nothrow): New function.
202         (rpl_fclose): Use it.
203         * modules/fclose (Depends-on): Add msvc-inval.
204         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
205
206 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
207
208         dup2: minor simplifications
209         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
210         that it's a performance win.
211         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
212         ! defined __CYGWIN__)" to "ifdef F_GETFL".
213
214 2011-09-24  Jim Meyering  <meyering@redhat.com>
215
216         test-futimens: avoid a warning from gcc -Wshadow
217         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
218         to avoid a shadowing warning.
219
220 2011-09-24  Bruno Haible  <bruno@clisp.org>
221
222         fdopen: Support for MSVC 9.
223         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
224         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
225         * lib/fdopen.c: Include msvc-inval.h.
226         (fdopen_nothrow): New function.
227         (rpl_fdopen): Use it.
228         * modules/fdopen (Depends-on): Add msvc-inval.
229         * modules/fclose-tests (Depends-on): Add fdopen.
230         * modules/fflush-tests (Depends-on): Likewise.
231         * modules/fgetc-tests (Depends-on): Likewise.
232         * modules/fputc-tests (Depends-on): Likewise.
233         * modules/fread-tests (Depends-on): Likewise.
234         * modules/freopen-tests (Depends-on): Likewise.
235         * modules/fseeko-tests (Depends-on): Likewise.
236         * modules/ftello-tests (Depends-on): Likewise.
237         * modules/fwrite-tests  (Depends-on): Likewise.
238         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
239
240 2011-09-24  Bruno Haible  <bruno@clisp.org>
241
242         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
243         * modules/fgetc-tests (Depends-on): Add unistd.
244         * modules/fputc-tests (Depends-on): Likewise.
245         * modules/fread-tests (Depends-on): Likewise.
246         * modules/fwrite-tests (Depends-on): Likewise.
247
248 2011-09-24  Bruno Haible  <bruno@clisp.org>
249
250         dup: Simplify autoconf test.
251         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
252         on gl_MSVC_INVAL's result.
253
254 2011-09-24  Bruno Haible  <bruno@clisp.org>
255
256         Tests for function fwrite().
257         * modules/fwrite-tests: New file.
258         * tests/test-fwrite.c: New file.
259         * modules/stdio-tests (Depends-on): Add fwrite-tests.
260
261         Tests for function fread().
262         * modules/fread-tests: New file.
263         * tests/test-fread.c: New file.
264         * modules/stdio-tests (Depends-on): Add fread-tests.
265
266         Activate fputc tests.
267         * modules/stdio-tests (Depends-on): Add fputc-tests.
268
269         Enhance fgetc, fputc tests.
270         * tests/test-fgetc.c (main): Also test the stream's error indicator.
271         * tests/test-fputc.c (main): Likewise.
272
273 2011-09-24  Bruno Haible  <bruno@clisp.org>
274
275         write: Support for MSVC 9.
276         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
277         is not 1.
278         * lib/write.c (write_nothrow): New function.
279         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
280         not 1. Use write_nothrow.
281         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
282         invalid parameter handler.
283         (gl_PREREQ_WRITE): New macro.
284         * modules/write (Depends-on): Add msvc-inval.
285         (configure.ac): Invoke gl_PREREQ_WRITE.
286         * doc/posix-functions/write.texi: Mention the problem on MSVC.
287
288 2011-09-24  Bruno Haible  <bruno@clisp.org>
289
290         read: Fix last commit.
291         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
292
293 2011-09-24  Bruno Haible  <bruno@clisp.org>
294
295         dup2: Fix last commit.
296         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
297         (rpl_dup2): Disable fcntl workaround on native Windows.
298
299         sigprocmask: Make code safer.
300         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
301         section that changes macro definitions for this compilation unit.
302
303 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
304
305         dup2: clarify by coalescing Windows-specific material
306         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
307         "msvc-nothrow.h"' to the Windows-specific section, so that the
308         Emacs source need not contain these include files.
309         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
310         Windows-specific fixes into this function rather than just the
311         nothrow fix, as this shortens and clarifies the code.  Always
312         define as a function, as that's a bit cleaner than having it be
313         sometimes a function and sometimes a macro.
314         (rpl_dup2): Move the Windows-specific stuff out of here and into
315         ms_windows_dup2.  Don't protect the Haiku-related fix with
316         "#if !defined __linux__", as the same code also works around
317         a Linux kernel bug, and it doesn't add any system calls on any
318         platform.  Add comment about FreeBSD 6.1.
319
320         sigprocmask: move #include directive
321         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
322         Windows-specific section, so that the Emacs source need not
323         contain msvc-inval.h.
324
325 2011-09-23  Bruno Haible  <bruno@clisp.org>
326
327         read: Support for MSVC 9.
328         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
329         is not 1.
330         * lib/read.c (read_nothrow): New function.
331         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
332         read_nothrow.
333         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
334         invalid parameter handler.
335         (gl_PREREQ_READ): New macro.
336         * modules/read (Depends-on): Add msvc-inval.
337         (configure.ac): Invoke gl_PREREQ_READ.
338         * doc/posix-functions/read.texi: Mention the problem on MSVC.
339
340 2011-09-23  Bruno Haible  <bruno@clisp.org>
341
342         close: Support for MSVC 9.
343         * lib/close.c: Include <errno.h>, msvc-inval.h.
344         (close_nothrow): New function.
345         (rpl_close): Use it.
346         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
347         invalid parameter handler.
348         * modules/close (Depends-on): Add msvc-inval.
349         * modules/dup2-tests (Depends-on): Add close.
350         * modules/dup3-tests (Depends-on): Likewise.
351         * modules/fcntl-tests (Depends-on): Likewise.
352         * modules/spawn-pipe-tests (Depends-on): Likewise.
353         * modules/unistd-safer-tests (Depends-on): Likewise.
354         * doc/posix-functions/close.texi: Mention the problem on MSVC.
355
356 2011-09-23  Bruno Haible  <bruno@clisp.org>
357
358         New module 'dup'.
359         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
360         Allow replacement.
361         * lib/dup.c: New file.
362         * lib/fchdir.c (rpl_dup): Remove function.
363         * m4/dup.m4: New file.
364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
365         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
366         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
367         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
368         * modules/dup: New file.
369         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
370         'dup' module is in use.
371         * modules/fdopendir (Depends-on): Add dup.
372         * modules/fdutimensat-tests (Depends-on): Likewise.
373         * modules/fts (Depends-on): Likewise.
374         * modules/futimens-tests (Depends-on): Likewise.
375         * modules/posix_spawnp-tests (Depends-on): Likewise.
376         * modules/unistd-safer-tests (Depends-on): Likewise.
377         * modules/utimens-tests (Depends-on): Likewise.
378         * doc/posix-functions/dup.texi: Mention the new module and the problem
379         on MSVC.
380
381 2011-09-23  Bruno Haible  <bruno@clisp.org>
382
383         getdtablesize: Support for MSVC 9.
384         * lib/getdtablesize.c: Include msvc-inval.h.
385         (_setmaxstdio_nothrow): New function.
386         (_setmaxstdio): Redefine it.
387         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
388         * modules/getdtablesize (Depends-on): Add msvc-inval.
389         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
390
391 2011-09-23  Bruno Haible  <bruno@clisp.org>
392
393         signal-h: Rename from signal.
394         * modules/signal-h: Renamed from modules/signal.
395         * modules/pthread_sigmask (Depends-on): Update.
396         * modules/raise (Depends-on): Likewise.
397         * modules/sigaction (Depends-on): Likewise.
398         * modules/sigpipe (Depends-on): Likewise.
399         * modules/sigprocmask (Depends-on): Likewise.
400         * modules/sys_select (Depends-on): Likewise.
401         * modules/signal-h-tests: Renamed from modules/signal-tests.
402         (Files, Depends-on, Makefile.am): Update.
403         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
404         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
405         (Files, Makefile.am): Update.
406         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
407         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
408         * modules/signal: New placeholder file.
409         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
410         * doc/posix-headers/signal.texi: Update.
411         * NEWS: Mention the change.
412
413 2011-09-23  Bruno Haible  <bruno@clisp.org>
414
415         sigprocmask: Avoid crashes through signal() on MSVC 9.
416         * lib/sigprocmask.c: Include msvc-inval.h.
417         (signal_nothrow): New function.
418         (signal): Redefine it.
419         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
420         * modules/sigprocmask (Depends-on): Add msvc-inval.
421         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
422
423 2011-09-23  Bruno Haible  <bruno@clisp.org>
424
425         Tests for module 'raise'.
426         * modules/raise-tests: New file.
427         * tests/test-raise.c: New file.
428
429         raise: Support for MSVC.
430         * lib/signal.in.h (raise): New declaration.
431         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
432         for native Windows platforms.
433         * m4/raise.m4: New file.
434         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
435         HAVE_RAISE, REPLACE_RAISE.
436         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
437         REPLACE_RAISE.
438         * modules/raise (Status, Notice): Remove fields.
439         (Files): Add m4/raise.m4.
440         (Depends-on): Add signal, msvc-inval.
441         (configure.ac): Use the common idioms.
442         (Maintainer): Add me.
443         * tests/test-signal-c++.cc: Check the signature of raise.
444         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
445
446 2011-09-23  Bruno Haible  <bruno@clisp.org>
447
448         pipe2: Fix compilation on pre-C99 compilers.
449         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
450
451 2011-09-23  Bruno Haible  <bruno@clisp.org>
452
453         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
454         * lib/msvc-nothrow.h: New file.
455         * lib/msvc-nothrow.c: New file.
456         * m4/msvc-nothrow.m4: New file.
457         * modules/msvc-nothrow: New file.
458         * lib/dup2.c: Include msvc-nothrow.h.
459         (rpl_dup2): No need to protect _get_osfhandle call here.
460         * lib/accept4.c: Include msvc-nothrow.h.
461         * lib/error.c: Likewise.
462         * lib/fcntl.c: Likewise.
463         * lib/lseek.c: Likewise.
464         * lib/nonblocking.c: Likewise.
465         * lib/poll.c: Likewise.
466         * lib/read.c: Likewise.
467         * lib/select.c: Likewise.
468         * lib/sockets.h: Likewise.
469         * lib/sockets.c: Likewise.
470         * lib/stdio-read.c: Likewise.
471         * lib/stdio-write.c: Likewise.
472         * lib/write.c: Likewise.
473         * lib/w32sock.h: Likewise.
474         * lib/w32spawn.h: Likewise.
475         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
476         * lib/fsync.c: Likewise.
477         * lib/isapipe.c: Likewise.
478         * modules/dup2 (Depends-on): Add msvc-nothrow.
479         * modules/accept4 (Depends-on): Likewise.
480         * modules/error (Depends-on): Likewise.
481         * modules/fcntl (Depends-on): Likewise.
482         * modules/lseek (Depends-on): Likewise.
483         * modules/nonblocking (Depends-on): Likewise.
484         * modules/poll (Depends-on): Likewise.
485         * modules/read (Depends-on): Likewise.
486         * modules/select (Depends-on): Likewise.
487         * modules/sockets (Depends-on): Likewise.
488         * modules/sigpipe (Depends-on): Likewise.
489         * modules/write (Depends-on): Likewise.
490         * modules/accept (Depends-on): Likewise.
491         * modules/bind (Depends-on): Likewise.
492         * modules/connect (Depends-on): Likewise.
493         * modules/gethostname (Depends-on): Likewise.
494         * modules/getpeername (Depends-on): Likewise.
495         * modules/getsockname (Depends-on): Likewise.
496         * modules/getsockopt (Depends-on): Likewise.
497         * modules/ioctl (Depends-on): Likewise.
498         * modules/listen (Depends-on): Likewise.
499         * modules/recv (Depends-on): Likewise.
500         * modules/recvfrom (Depends-on): Likewise.
501         * modules/send (Depends-on): Likewise.
502         * modules/sendto (Depends-on): Likewise.
503         * modules/setsockopt (Depends-on): Likewise.
504         * modules/shutdown (Depends-on): Likewise.
505         * modules/socket (Depends-on): Likewise.
506         * modules/execute (Depends-on): Likewise.
507         * modules/spawn-pipe (Depends-on): Likewise.
508         * modules/flock (Depends-on): Likewise.
509         * modules/fsync (Depends-on): Likewise.
510         * modules/isapipe (Depends-on): Likewise.
511         * tests/test-cloexec.c: Include msvc-nothrow.h.
512         * tests/test-dup-safer.c: Likewise.
513         * tests/test-dup2.c: Likewise.
514         * tests/test-dup3.c: Likewise.
515         * tests/test-fcntl.c: Likewise.
516         * tests/test-pipe.c: Likewise.
517         * tests/test-pipe2.c: Likewise.
518         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
519         * modules/unistd-safer-tests (Depends-on): Likewise.
520         * modules/dup2-tests (Depends-on): Likewise.
521         * modules/dup3-tests (Depends-on): Likewise.
522         * modules/fcntl-tests (Depends-on): Likewise.
523         * modules/pipe-posix-tests (Depends-on): Likewise.
524         * modules/pipe2-tests (Depends-on): Likewise.
525
526 2011-09-23  Bruno Haible  <bruno@clisp.org>
527
528         dup2: Make code more maintainable.
529         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
530         (rpl_dup2): Use it.
531         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
532         * modules/dup2 (configure.ac): Invoke it.
533         Reported by Paul Eggert.
534
535 2011-09-23  Bruno Haible  <bruno@clisp.org>
536
537         msvc-inval: Fix compilation error.
538         * lib/msvc-inval.h: Include <excpt.h>.
539
540 2011-09-23  Bruno Haible  <bruno@clisp.org>
541
542         mkdir: Tweak for MSVC 9.
543         * lib/sys_stat.in.h: Update comments.
544         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
545
546         Tests for module 'chdir'.
547         * modules/chdir-tests: New file.
548         * tests/test-chdir.c: New file.
549
550         New module 'chdir'.
551         * modules/chdir: New file.
552         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
553         (chdir): New declaration.
554         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
555         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
556         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
557         * tests/test-unistd-c++.cc: Check signature of chdir.
558         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
559         * modules/chdir-long (Depends-on): Add chdir.
560         * modules/fchdir (Depends-on): Likewise.
561         * modules/rename (Depends-on): Likewise.
562         * modules/savewd (Depends-on): Likewise.
563
564         rmdir: Support for mingw, MSVC 9.
565         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
566         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
567
568         getcwd: Tweak for MSVC 9.
569         * lib/unistd.in.h: Update comments.
570         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
571
572 2011-09-22  Bruno Haible  <bruno@clisp.org>
573
574         strerror_r-posix: Avoid a link error on MSVC.
575         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
576         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
577
578 2011-09-22  Bruno Haible  <bruno@clisp.org>
579
580         select: Avoid link errors on MSVC.
581         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
582         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
583         * modules/pselect (Link): Likewise.
584         * NEWS: Mention the change.
585         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
586         test-select-stdin against $(LIB_SELECT).
587         * modules/pselect-tests (Makefile.am): Link test-pselect against
588         $(LIB_SELECT).
589
590 2011-09-22  Bruno Haible  <bruno@clisp.org>
591
592         select: Avoid compilation error on MSVC.
593         * lib/select.c: Don't include <stdbool.h>.
594
595 2011-09-21  Bruno Haible  <bruno@clisp.org>
596
597         Consolidate all uses of PATH_MAX in *.m4 files.
598         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
599         macros.
600         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
601         and gl_PATHMAX_SNIPPET.
602         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
603         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
604         * modules/chdir-long (Files): Add m4/pathmax.m4.
605         * modules/getcwd (Files): Likewise.
606
607 2011-09-21  Bruno Haible  <bruno@clisp.org>
608
609         ftruncate: Un-deprecate, concentrate on Win32 support.
610         * modules/ftruncate (Status, Notice): Remove sections.
611         (Depends-on): Add largefile.
612         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
613         non-mingw platforms.
614         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
615         include <io.h>.
616         * modules/perror-tests (Depends-on): Add ftruncate.
617         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
618         'ftruncate' module.
619
620 2011-09-21  Bruno Haible  <bruno@clisp.org>
621
622         Add dependencies to new dirent related modules.
623         * modules/opendir (Depends-on): Add closedir.
624         * modules/getcwd (Depends-on): Add opendir, closedir.
625         * modules/dirent-safer-tests (Depends-on): Likewise.
626         * modules/fdopendir-tests (Depends-on): Likewise.
627         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
628         * modules/renameat-tests (Depends-on): Likewise.
629
630 2011-09-21  Bruno Haible  <bruno@clisp.org>
631
632         opendir: Avoid compilation error on mingw.
633         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
634         * modules/opendir (Depends-on): Add unistd.
635
636 2011-09-21  Bruno Haible  <bruno@clisp.org>
637
638         ftruncate tests: Avoid a test failure on mingw.
639         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
640
641 2011-09-21  Bruno Haible  <bruno@clisp.org>
642
643         select tests: Avoid test failures on OSF/1 5.1 and mingw.
644         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
645         native Windows.
646
647 2011-09-21  Bruno Haible  <bruno@clisp.org>
648
649         New module 'fdopen'.
650         * lib/stdio.in.h (fdopen): New declaration.
651         * lib/fdopen.c: New file.
652         * m4/fdopen.m4: New file.
653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
654         REPLACE_FDOPEN.
655         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
656         REPLACE_FDOPEN.
657         * modules/fdopen: New file.
658         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
659         * tests/test-stdio-c++.cc: Check signature of fdopen.
660         * doc/posix-functions/fdopen.texi: Mention the new module.
661
662 2011-09-21  Bruno Haible  <bruno@clisp.org>
663
664         unlockpt tests: Avoid test failure on NetBSD 5.1.
665         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
666         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
667
668 2011-09-21  Bruno Haible  <bruno@clisp.org>
669
670         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
671         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
672         * tests/test-getlogin_r.c (main): Likewise.
673
674 2011-09-20  Bruno Haible  <bruno@clisp.org>
675
676         time tests: Don't require pid_t.
677         * doc/posix-headers/time.texi: Revert last change.
678         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
679         * tests/test-time.c: Comment out the check for pid_t.
680
681 2011-09-20  Bruno Haible  <bruno@clisp.org>
682
683         fsync tests: Avoid a test failure on mingw.
684         * tests/test-fsync.c (main): Allow a failure with EIO.
685
686 2011-09-20  Bruno Haible  <bruno@clisp.org>
687
688         euidaccess: Update comments.
689         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
690
691 2011-09-20  Bruno Haible  <bruno@clisp.org>
692
693         Ensure EBADF returns for socket functions on mingw.
694         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
695         descriptor is invalid.
696         * lib/bind.c (rpl_bind): Likewise.
697         * lib/connect.c (rpl_connect): Likewise.
698         * lib/getpeername.c (rpl_getpeername): Likewise.
699         * lib/getsockname.c (rpl_getsockname): Likewise.
700         * lib/getsockopt.c (rpl_getsockopt): Likewise.
701         * lib/listen.c (rpl_listen): Likewise.
702         * lib/recv.c (rpl_recv): Likewise.
703         * lib/recvfrom.c (rpl_recvfrom): Likewise.
704         * lib/send.c (rpl_send): Likewise.
705         * lib/sendto.c (rpl_sendto): Likewise.
706         * lib/setsockopt.c (rpl_setsockopt): Likewise.
707         * lib/shutdown.c (rpl_shutdown): Likewise.
708
709 2011-09-20  Bruno Haible  <bruno@clisp.org>
710
711         select tests: EBADF tests.
712         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
713         test_bad_fd): New functions.
714         (test_function): Invoke also test_bad_fd.
715
716 2011-09-20  Bruno Haible  <bruno@clisp.org>
717
718         Tests for module 'posix_spawn_file_actions_addopen.
719         * modules/posix_spawn_file_actions_addopen-tests: New file.
720         * tests/test-posix_spawn_file_actions_addopen.c: New file.
721
722         Tests for module 'posix_spawn_file_actions_adddup2'.
723         * modules/posix_spawn_file_actions_adddup2-tests: New file.
724         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
725
726         Tests for module 'posix_spawn_file_actions_addclose'.
727         * modules/posix_spawn_file_actions_addclose-tests: New file.
728         * tests/test-posix_spawn_file_actions_addclose.c: New file.
729
730 2011-09-20  Bruno Haible  <bruno@clisp.org>
731
732         Tests for module 'unlockpt'.
733         * modules/unlockpt-tests: New file.
734         * tests/test-unlockpt.c: New file.
735         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
736
737         Tests for module 'grantpt'.
738         * modules/grantpt-tests: New file.
739         * tests/test-grantpt.c: New file.
740         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
741
742 2011-09-20  Bruno Haible  <bruno@clisp.org>
743
744         freopen tests: EBADF tests.
745         * tests/test-freopen.c: Include errno.h, unistd.h.
746         (main): Add tests for EBADF, commented out for the moment.
747
748         fclose tests: EBADF tests.
749         * tests/test-fclose.c (main): Add tests for EBADF.
750
751         fflush tests: EBADF tests.
752         * tests/test-fflush.c: Include errno.h, macros.h.
753         (main): Add tests for EBADF.
754
755         ftello tests: EBADF tests.
756         * tests/test-ftello4.sh: New file.
757         * tests/test-ftello4.c: New file.
758         * modules/ftello-tests (Files): Add them.
759         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
760
761         fseeko tests: EBADF tests.
762         * tests/test-fseeko4.sh: New file.
763         * tests/test-fseeko4.c: New file.
764         * modules/fseeko-tests (Files): Add them.
765         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
766
767         Tests for function fputc().
768         * modules/fputc-tests: New file.
769         * tests/test-fputc.c: New file.
770         * modules/stdio-tests (Depends-on): Add fputc-tests.
771
772         Tests for function fgetc().
773         * modules/fgetc-tests: New file.
774         * tests/test-fgetc.c: New file.
775         * modules/stdio-tests (Depends-on): Add fgetc-tests.
776
777         Tests for function fdopen().
778         * modules/fdopen-tests: New file.
779         * tests/test-fdopen.c: New file.
780         * modules/stdio-tests (Depends-on): Add fdopen-tests.
781
782         Tests for module 'vdprintf'.
783         * modules/vdprintf-tests: New file.
784         * tests/test-vdprintf.c: New file.
785
786         Tests for module 'dprintf'.
787         * modules/dprintf-tests: New file.
788         * tests/test-dprintf.c: New file.
789
790 2011-09-20  Bruno Haible  <bruno@clisp.org>
791
792         Tests for module 'ioctl'.
793         * modules/ioctl-tests: New file.
794         * tests/test-ioctl.c: New file.
795
796 2011-09-20  Bruno Haible  <bruno@clisp.org>
797
798         fcntl tests: EBADF tests.
799         * tests/test-fcntl.c (main): Add more tests for EBADF.
800
801 2011-09-20  Bruno Haible  <bruno@clisp.org>
802
803         utimensat tests: EBADF tests.
804         * tests/test-utimensat.c (main): Add tests for EBADF.
805
806         renameat tests: EBADF tests.
807         * tests/test-renameat.c (main): Add tests for EBADF.
808
809         mkfifoat tests: EBADF tests.
810         * tests/test-mkfifoat.c (main): Add tests for EBADF.
811
812         readlinkat tests: EBADF tests.
813         * tests/test-readlinkat.c (main): Add tests for EBADF.
814
815         symlinkat tests: EBADF tests.
816         * tests/test-symlinkat.c (main): Add tests for EBADF.
817
818         linkat tests: EBADF tests.
819         * tests/test-linkat.c (main): Add tests for EBADF.
820
821         Tests for module 'faccessat'.
822         * modules/faccessat-tests: New file.
823         * tests/test-faccessat.c: New file.
824
825         fdopendir tests: EBADF tests.
826         * tests/test-fdopendir.c (main): Add more tests for EBADF.
827
828         openat tests: EBADF tests.
829         * tests/test-fchownat.c (main): Add tests for EBADF.
830         * tests/test-fstatat.c (main): Likewise.
831         * tests/test-mkdirat.c (main): Likewise.
832         * tests/test-openat.c (main): Likewise.
833         * tests/test-unlinkat.c (main): Likewise.
834         * tests/test-fchmodat.c: New file.
835         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
836         (Makefile.am): Also run 'test-fchmodat'.
837
838 2011-09-20  Bruno Haible  <bruno@clisp.org>
839
840         utimens, futimens, fdutimensat tests: EBADF tests.
841         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
842
843         Tests for function fstat().
844         * modules/fstat-tests: New file.
845         * tests/test-fstat.c: New file.
846         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
847
848 2011-09-20  Bruno Haible  <bruno@clisp.org>
849
850         test-ttyname_r tests: EBADF tests.
851         * tests/test-ttyname_r.c (main): Add tests for EBADF.
852
853         Tests for module 'isatty'.
854         * modules/isatty-tests: New file.
855         * tests/test-isatty.c: New file.
856
857         Tests for module 'write'.
858         * modules/write-tests: New file.
859         * tests/test-write.c: New file.
860
861         Tests for module 'read'.
862         * modules/read-tests: New file.
863         * tests/test-read.c: New file.
864
865         pwrite tests: EBADF tests.
866         * tests/test-pwrite.c (main): Add tests for EBADF.
867
868         pread tests: EBADF tests.
869         * tests/test-pread.c (main): Add tests for EBADF.
870
871         lseek tests: EBADF tests.
872         * tests/test-lseek.c (main): Add more tests for EBADF.
873
874         Tests for module 'ftruncate'.
875         * modules/ftruncate-tests: New file.
876         * tests/test-ftruncate.sh: New file.
877         * tests/test-ftruncate.c: New file.
878
879         fsync tests: EBADF tests.
880         * tests/test-fsync.c (main): Add more tests for EBADF.
881
882         fdatasync tests: EBADF tests.
883         * tests/test-fdatasync.c (main): Add more tests for EBADF.
884
885         Tests for module 'fchown'.
886         * modules/fchown-tests: New file.
887         * tests/test-fchown.c: New file.
888
889         Tests for module 'fchmod'.
890         * modules/fchmod-tests: New file.
891         * tests/test-fchmod.c: New file.
892
893         fchdir tests: EBADF tests.
894         * tests/test-fchdir.c (main): Add more tests for EBADF.
895
896         dup2 tests: EBADF tests.
897         * tests/test-dup2.c (main): Add more tests for EBADF.
898
899         Tests for module 'dup'.
900         * modules/dup-tests: New file.
901         * tests/test-dup.c: New file.
902
903         Tests for module 'close'.
904         * modules/close-tests: New file.
905         * tests/test-close.c: New file.
906
907 2011-09-20  Bruno Haible  <bruno@clisp.org>
908
909         Tests for module 'shutdown'.
910         * modules/shutdown-tests: New file.
911         * tests/test-shutdown.c: New file.
912
913         Tests for module 'setsockopt'.
914         * modules/setsockopt-tests: New file.
915         * tests/test-setsockopt.c: New file.
916
917         Tests for module 'sendto'.
918         * modules/sendto-tests: New file.
919         * tests/test-sendto.c: New file.
920
921         Tests for module 'send'.
922         * modules/send-tests: New file.
923         * tests/test-send.c: New file.
924
925         Tests for module 'recvfrom'.
926         * modules/recvfrom-tests: New file.
927         * tests/test-recvfrom.c: New file.
928
929         Tests for module 'recv'.
930         * modules/recv-tests: New file.
931         * tests/test-recv.c: New file.
932
933         Tests for module 'listen'.
934         * modules/listen-tests: New file.
935         * tests/test-listen.c: New file.
936
937         Tests for module 'getsockopt'.
938         * modules/getsockopt-tests: New file.
939         * tests/test-getsockopt.c: New file.
940
941         Tests for module 'getsockname'.
942         * modules/getsockname-tests: New file.
943         * tests/test-getsockname.c: New file.
944
945         Tests for module 'getpeername'.
946         * modules/getpeername-tests: New file.
947         * tests/test-getpeername.c: New file.
948
949         Tests for module 'connect'.
950         * modules/connect-tests: New file.
951         * tests/test-connect.c: New file.
952
953         Tests for module 'bind'.
954         * modules/bind-tests: New file.
955         * tests/test-bind.c: New file.
956
957         accept4 tests: Fix for native Windows.
958         * tests/test-accept4.c: Include sockets.h.
959         (main): Invoke gl_sockets_startup.
960         * modules/accept4-tests (Depends-on): Add sockets.
961
962         accept tests: Fix for native Windows.
963         * tests/test-accept.c: Include sockets.h.
964         (main): Invoke gl_sockets_startup.
965         * modules/accept-tests (Depends-on): Add sockets.
966
967 2011-09-19  Bruno Haible  <bruno@clisp.org>
968
969         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
970         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
971         do...while(0).
972         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
973         Suggested by Paul Eggert.
974
975 2011-09-19  Bruno Haible  <bruno@clisp.org>
976
977         sched: Ensure pid_t is defined.
978         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
979         not define pid_t.
980         * lib/sched.in.h: Include <sys/types.h>.
981         * doc/posix-headers/sched.texi: Mention the pid_t problem.
982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
983
984 2011-09-19  Bruno Haible  <bruno@clisp.org>
985
986         msvc-inval: Ensure the entire expansion is a single statement.
987         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
988         of braces.
989
990 2011-09-19  Jim Meyering  <meyering@redhat.com>
991
992         tests: use printf, not echo in init.sh's warn_ function
993         * tests/init.sh (warn_): Use printf, not echo.  The latter would
994         misbehave when given strings containing a backslash or starting
995         with e.g., -n.  James Youngman suggested setting IFS.
996
997 2011-09-19  Eric Blake  <eblake@redhat.com>
998
999         futimens: enhance test
1000         * tests/test-futimens.h (test_futimens): Also check for EBADF on
1001         closed non-negative fd.
1002
1003         date: accept 'hence' as opposite of 'ago'
1004         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
1005         * tests/test-parse-datetime.c (main): Enhance test.
1006         Suggested by Jesse Wilson.
1007
1008 2011-09-19  Jim Meyering  <meyering@redhat.com>
1009
1010         getcwd: don't fail in a deep directory on a system without openat
1011         Before this change, getcwd would fail when called from a directory
1012         of depth PATH_MAX / 3 or greater.  That was due to the fact that
1013         the non-openat implementation used "..", "../..", "../../..", etc.
1014         to access ancestor directories.  With too many, that string would
1015         be longer than PATH_MAX.
1016         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
1017         using gnulib's openat replacement.
1018         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
1019         we're using the replacement function.
1020
1021 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
1022
1023         maint.mk: avoid warnings from perl about missing files
1024         * top/maint.mk (def_sym_regex): Ignore files listed in
1025         $(gl_other_headers_) that do not exist, say because a project
1026         does not use a corresponding module.
1027
1028 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1029
1030         stat: use pathmax.h only if needed
1031         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
1032         This is better for Emacs, which does not have a mingw port and
1033         therefore can avoid the pathmax module.
1034
1035         utimens: remove dependency on dup2
1036         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
1037         to work around the Linux kernel bug.
1038         * modules/utimens (Depends-on): Remove dup2.
1039
1040 2011-09-18  Bruno Haible  <bruno@clisp.org>
1041
1042         inet_ntop, inet_pton: Look for it also in libresolv.
1043         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
1044         libnsl, search for it in libresolv.
1045         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1046         Needed on Solaris 7.
1047
1048 2011-09-18  Bruno Haible  <bruno@clisp.org>
1049
1050         accept, accept4 tests: Avoid link error on Solaris.
1051         * modules/accept-tests (Makefile.am): Link test-accept against
1052         $(LIBSOCKET).
1053         * modules/accept4-tests (Makefile.am): Link test-accept4 against
1054         $(LIBSOCKET).
1055
1056         accept4: Avoid link error on Solaris.
1057         * modules/accept4 (Link): New section.
1058
1059         socket functions: Avoid link errors on Solaris.
1060         * modules/accept (Depends-on): Add socketlib.
1061         (Link): New section.
1062         * modules/bind (Depends-on): Add socketlib.
1063         (Link): New section.
1064         * modules/connect (Depends-on): Add socketlib.
1065         (Link): New section.
1066         * modules/getpeername (Depends-on): Add socketlib.
1067         (Link): New section.
1068         * modules/getsockname (Depends-on): Add socketlib.
1069         (Link): New section.
1070         * modules/getsockopt (Depends-on): Add socketlib.
1071         (Link): New section.
1072         * modules/listen (Depends-on): Add socketlib.
1073         (Link): New section.
1074         * modules/recv (Depends-on): Add socketlib.
1075         (Link): New section.
1076         * modules/recvfrom (Depends-on): Add socketlib.
1077         (Link): New section.
1078         * modules/send (Depends-on): Add socketlib.
1079         (Link): New section.
1080         * modules/sendto (Depends-on): Add socketlib.
1081         (Link): New section.
1082         * modules/setsockopt (Depends-on): Add socketlib.
1083         (Link): New section.
1084         * modules/shutdown (Depends-on): Add socketlib.
1085         (Link): New section.
1086         * modules/socket (Depends-on): Add socketlib.
1087         (Link): New section.
1088
1089 2011-09-18  Bruno Haible  <bruno@clisp.org>
1090
1091         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
1092         * tests/test-ptsname.c (main): Terminate the test if it takes longer
1093         than 5 seconds.
1094         * modules/ptsname-tests (configure.ac): Test for alarm.
1095
1096 2011-09-18  Bruno Haible  <bruno@clisp.org>
1097
1098         posix_spawn_file_actions_add*: Fix module dependencies.
1099         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
1100         posix_spawn_file_actions_init.
1101         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
1102         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
1103
1104 2011-09-18  Bruno Haible  <bruno@clisp.org>
1105
1106         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
1107         * tests/test-rename.h (test_rename): Allow error code EEXIST.
1108         * tests/test-renameat.c (main): Likewise.
1109
1110 2011-09-18  Bruno Haible  <bruno@clisp.org>
1111
1112         Tests for module 'accept4'.
1113         * modules/accept4-tests: New file.
1114         * tests/test-accept4.c: New file.
1115
1116 2011-09-18  Bruno Haible  <bruno@clisp.org>
1117
1118         Tests for module 'accept'.
1119         * modules/accept-tests: New file.
1120         * tests/test-accept.c: New file.
1121
1122 2011-09-18  Bruno Haible  <bruno@clisp.org>
1123
1124         dup2: Support for MSVC.
1125         * lib/dup2.c: Include msvc-inval.h.
1126         (rpl_dup2): Handle invalid parameter notifications during dup2 and
1127         _get_osfhandle calls.
1128         * modules/dup2 (Depends-on): Add msvc-inval.
1129         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
1130
1131         New module 'msvc-inval'.
1132         * lib/msvc-inval.h: New file.
1133         * lib/msvc-inval.c: New file.
1134         * m4/msvc-inval.m4: New file.
1135         * modules/msvc-inval: New file.
1136
1137 2011-09-17  Bruno Haible  <bruno@clisp.org>
1138
1139         Tests for module 'pclose'.
1140         * modules/pclose-tests: New file.
1141
1142         New module 'pclose'.
1143         * lib/stdio.in.h (pclose): New declaration.
1144         * lib/pclose.c: New file.
1145         * m4/pclose.m4: New file.
1146         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
1147         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
1148         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
1149         * modules/pclose: New file.
1150         * modules/popen-tests (Depends-on): Add pclose.
1151         * modules/popen-safer-tests (Depends-on): Likewise.
1152         * doc/posix-functions/pclose.texi: Mention the new module.
1153
1154 2011-09-17  Bruno Haible  <bruno@clisp.org>
1155
1156         popen: Support for MSVC.
1157         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
1158         * lib/popen.c (popen): Provide alternate definition for native Windows.
1159         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
1160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
1161         * modules/popen (Depends-on, configure.ac): Update condition.
1162         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
1163         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
1164         fixed.
1165
1166 2011-09-17  Bruno Haible  <bruno@clisp.org>
1167
1168         isnanl, isnand, isnanf: Work around MSVC bug.
1169         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
1170
1171 2011-09-17  Bruno Haible  <bruno@clisp.org>
1172
1173         sys_socket tests: Fix recent mistake.
1174         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
1175
1176 2011-09-17  Bruno Haible  <bruno@clisp.org>
1177
1178         putenv: Support for MSVC.
1179         * modules/putenv (Depends-on): Add environ.
1180         * lib/putenv.c (environ): Disable declaration.
1181         * lib/unistd.in.h: Update comment.
1182
1183 2011-09-17  Bruno Haible  <bruno@clisp.org>
1184
1185         math: Avoid macro redefinition warnings on MSVC.
1186         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
1187         Undefine before redefining.
1188
1189 2011-09-17  Bruno Haible  <bruno@clisp.org>
1190
1191         doc: Mention functions which are declared as macros.
1192         * doc/posix-functions/*[fl].texi: Mention that some functions are
1193         defined as macros with arguments only.
1194
1195 2011-09-17  Bruno Haible  <bruno@clisp.org>
1196
1197         Add dependencies to new dirent related modules.
1198         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
1199         * modules/fts (Depends-on): Likewise.
1200         * modules/glob (Depends-on): Likewise.
1201         * modules/savedir (Depends-on): Likewise.
1202         * modules/scandir (Depends-on): Likewise.
1203         * modules/dirent-safer (Depends-on): Add opendir, closedir.
1204         * modules/fdopendir (Depends-on): Add opendir.
1205
1206 2011-09-17  Bruno Haible  <bruno@clisp.org>
1207
1208         inet_pton: Support for MSVC on Windows Vista or newer.
1209         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
1210         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
1211         HAVE_DECL_INET_PTON is defined.
1212         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
1213         On platforms with <winsock2.h>, test whether inet_pton is declared in
1214         <ws2tcpip.h>. If so, arrange to replace it.
1215         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
1216         REPLACE_INET_PTON.
1217         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
1218         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
1219         (Depends-on, configure.ac): Update condition.
1220         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
1221
1222 2011-09-17  Bruno Haible  <bruno@clisp.org>
1223
1224         inet_ntop: Support for MSVC on Windows Vista or newer.
1225         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
1226         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
1227         HAVE_DECL_INET_NTOP is defined.
1228         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
1229         On platforms with <winsock2.h>, test whether inet_ntop is declared in
1230         <ws2tcpip.h>. If so, arrange to replace it.
1231         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
1232         REPLACE_INET_NTOP.
1233         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
1234         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
1235         (Depends-on, configure.ac): Update condition.
1236         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
1237
1238 2011-09-16  Eric Blake  <eblake@redhat.com>
1239
1240         test-fsync: yet another enhancement
1241         * tests/test-fsync.c (main): Also test behavior on read-only text
1242         file.
1243
1244 2011-09-16  Bruno Haible  <bruno@clisp.org>
1245
1246         Enhance fsync, fdatasync tests.
1247         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
1248         * tests/test-fdatasync.c (main): Likewise.
1249
1250 2011-09-16  Bruno Haible  <bruno@clisp.org>
1251
1252         Support for MSVC compiler: Ensure mode_t gets defined.
1253         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
1254         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1255         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1256         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
1257         * tests/test-fcntl-h.c: Check that mode_t is defined.
1258         * tests/test-sys_stat.c: Likewise.
1259         * tests/test-sys_types.c: Likewise.
1260         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
1261         * doc/posix-headers/sys_stat.texi: Likewise.
1262         * doc/posix-headers/sys_types.texi: Likewise.
1263
1264 2011-09-16  Bruno Haible  <bruno@clisp.org>
1265
1266         sys_stat: Support for MSVC.
1267         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
1268         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
1269         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
1270         MSVC.
1271
1272 2011-09-16  Bruno Haible  <bruno@clisp.org>
1273
1274         Support for MSVC compiler: Ensure off_t gets defined.
1275         * lib/unistd.in.h: Include <sys/types.h>.
1276         * tests/test-fcntl-h.c: Check that off_t is defined.
1277         * tests/test-sys_stat.c: Likewise.
1278         * tests/test-sys_types.c: Likewise.
1279
1280 2011-09-16  Eric Blake  <eblake@redhat.com>
1281
1282         fdatasync: port to Solaris
1283         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
1284         * modules/fdatasync (Link): Document it.
1285         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
1286
1287         fdatasync: port to MacOS X 10.7
1288         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
1289         declared.
1290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
1291         * modules/unistd (Makefile.am): Substitute it.
1292         * lib/unistd.in.h (fdatasync): Declare on MacOS.
1293         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
1294
1295         fdatasync: minor improvements
1296         * modules/fdatasync (Depends-on): Add condition for fsync.
1297         * lib/fdatasync.c (fdatasync): Add comment.
1298         * tests/test-unistd-c++.cc: Test fdatasync.
1299
1300         unistd: update refs to newer POSIX
1301         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
1302         Suggested by Bruno Haible.
1303
1304         fdatasync: new module
1305         * modules/fsync (Description): Document difference to fdatasync.
1306         * modules/fdatasync: New module.
1307         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
1308         * lib/fdatasync.c (fdatasync): Likewise.
1309         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
1310         defaults.
1311         * modules/unistd (Makefile.am): Set witnesses.
1312         * lib/unistd.in.h (fdatasync): Declare.
1313         * MODULES.html.sh: Document it.
1314         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
1315         * modules/fdatasync-tests: New test.
1316         * tests/test-fdatasync.c: Likewise.
1317
1318 2011-09-16  Eric Blake  <eblake@redhat.com>
1319
1320         test-fsync: enhance tests
1321         * modules/fsync-tests (Depends-on): Add errno, for mingw.
1322         * tests/test-fsync.c (main): Enhance test.
1323
1324 2011-09-15  Bruno Haible  <bruno@clisp.org>
1325
1326         Support for MSVC compiler: Ensure ssize_t gets defined.
1327         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
1328         * doc/posix-headers/stdio.texi: Likewise.
1329         * modules/stdio (Depends-on): Add ssize_t.
1330         * modules/sys_socket (Depends-on): Likewise.
1331         * modules/sys_types (Depends-on): Likewise.
1332         * modules/sys_uio (Depends-on): Likewise.
1333         * modules/unistd (Depends-on): Likewise.
1334         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
1335         * tests/test-sys_types.c: Check that ssize_t is defined.
1336
1337 2011-09-14  Bruno Haible  <bruno@clisp.org>
1338
1339         Avoid using #, the m4 comment starter character, near brackets.
1340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
1341         delimiter character in sed expressions.
1342         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1343         Suggested by Eric Blake.
1344
1345         Properly quote AC_CHECK_DECLS' 4th argument.
1346         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
1347         argument.
1348         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1349         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1350         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1351         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
1352         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1353         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
1354         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
1355         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
1356         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
1357         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
1358         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
1359         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1360         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
1361         * m4/isinf.m4 (gl_ISINF): Likewise.
1362         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1363         * m4/readutmp.m4 (gl_READUTMP): Likewise.
1364         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1365         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1366         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1367         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1368         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1369         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
1370         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
1371         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1372         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1373         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
1375         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1376         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1377         Reported by Eric Blake.
1378
1379         Properly quote AC_CHECK_DECL's 4th argument.
1380         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
1381         argument.
1382         * m4/argp.m4 (gl_ARGP): Likewise.
1383         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
1384         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1385         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
1386         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1387         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
1388         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
1389         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
1390         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
1391         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1392         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
1393         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
1394         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
1395         Reported by Eric Blake.
1396
1397 2011-09-14  Eric Blake  <eblake@redhat.com>
1398
1399         opendir: avoid compile warning
1400         * lib/opendir.c (includes): Always include errno.h.
1401         Reported by Tatsuro MATSUOKA.
1402
1403 2011-09-14  Jim Meyering  <meyering@redhat.com>
1404
1405         maint.mk: sc_tight_scope: propagate failure from sub-make
1406         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
1407         Reported by Martin von Gagern.
1408
1409 2011-09-13  Bruno Haible  <bruno@clisp.org>
1410
1411         tempname: Support for MSVC.
1412         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
1413         MSVC.
1414         * modules/tempname (Depends-on): Add fcntl-h.
1415
1416 2011-09-13  Bruno Haible  <bruno@clisp.org>
1417
1418         sys_time: Support for MSVC.
1419         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
1420         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
1421         include <winsock2.h>.
1422         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
1423         function declarations that collide with POSIX.
1424         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
1425         (Makefile.am): Substitute HAVE_WINSOCK2_H.
1426
1427 2011-09-13  Bruno Haible  <bruno@clisp.org>
1428
1429         stat: Support for MSVC.
1430         * lib/stat.c: Include pathmax.h.
1431         * modules/stat (Depends-on): Add pathmax.
1432
1433         pathmax: Support for native Windows.
1434         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
1435
1436 2011-09-12  Bruno Haible  <bruno@clisp.org>
1437
1438         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
1439         * lib/dirent.in.h (struct dirent): New type.
1440         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
1441         DT_WHT): New macros.
1442         (DIR): New type.
1443         (opendir, closedir): Declare only if the module 'opendir' is enabled.
1444         (readdir, rewinddir): New declarations.
1445         * lib/dirent-private.h: New file.
1446         * lib/opendir.c: New file.
1447         * lib/readdir.c: New file.
1448         * lib/rewinddir.c: New file.
1449         * lib/closedir.c: New file.
1450         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
1451         * m4/opendir.m4: New file.
1452         * m4/readdir.m4: New file.
1453         * m4/rewinddir.m4: New file.
1454         * m4/closedir.m4: New file.
1455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
1456         REPLACE_CLOSEDIR here.
1457         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
1458         readdir, rewinddir are declared.
1459         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
1460         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
1461         HAVE_REWINDDIR, HAVE_CLOSEDIR.
1462         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
1463         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
1464         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
1465         * modules/opendir: New file.
1466         * modules/readdir: New file.
1467         * modules/rewinddir: New file.
1468         * modules/closedir: New file.
1469         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
1470         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
1471         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
1472         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
1473         * NEWS: Mention the 'fchdir' change.
1474
1475 2011-09-11  Bruno Haible  <bruno@clisp.org>
1476
1477         asm-underscore.m4: Support for MSVC.
1478         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
1479         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
1480
1481 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
1482
1483         Doc about crypt functions.
1484         * doc/posix-functions/crypt.texi: Expand range of glibc versions
1485         needing for _GNU_SOURCE to get crypt.
1486         * doc/posix-functions/encrypt.texi: Likewise.
1487         * doc/posix-functions/setkey.texi: Likewise.
1488
1489 2011-09-11  Bruno Haible  <bruno@clisp.org>
1490
1491         doc: Update regarding MSVC 9.
1492         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
1493         tested".
1494         * doc/posix-functions/*.texi: Update with info about MSVC 9.
1495         * doc/posix-headers/*.texi: Likewise.
1496         * doc/pastposix-functions/*.texi: Likewise.
1497         * doc/glibc-functions/*.texi: Likewise.
1498         * doc/glibc-headers/*.texi: Likewise.
1499
1500 2011-09-11  Bruno Haible  <bruno@clisp.org>
1501
1502         unistd et al.: Don't assume <unistd.h> exists.
1503         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
1504         does not exist.
1505         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
1506         exist. But include <stdlib.h>.
1507         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
1508         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
1509         symlink() does not exist.
1510         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
1511         include <io.h> instead.
1512         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
1513         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
1514         include <direct.h> instead.
1515         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
1516         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1517         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
1518         <io.h> instead.
1519         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
1520         correctly if the system does not have hard links.
1521         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
1522         <direct.h> instead.
1523         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
1524         it when looking for function declarations.
1525         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
1526         <direct.h> and <io.h> instead.
1527         * doc/posix-headers/unistd.texi: More details about MSVC problem.
1528
1529 2011-09-11  Bruno Haible  <bruno@clisp.org>
1530
1531         strcase: Support for MSVC.
1532         * modules/strcase (Status, Notice): Remove obsoletion mark.
1533         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
1534         * doc/posix-functions/strncasecmp.texi: Likewise.
1535
1536         strings: Don't assume <strings.h> exists.
1537         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
1538         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
1539         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
1540         * doc/posix-headers/strings.texi: Mention the MSVC problem.
1541
1542 2011-09-11  Bruno Haible  <bruno@clisp.org>
1543
1544         dirent: Don't assume <dirent.h> exists.
1545         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
1546         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
1547         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
1548         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
1549
1550 2011-09-11  Bruno Haible  <bruno@clisp.org>
1551
1552         Fix wint_t on MSVC.
1553         * lib/wchar.in.h (wint_t): On MSVC, override it.
1554         * lib/wctype.in.h (wint_t): Likewise.
1555         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
1556         MSVC.
1557         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
1558         * doc/posix-headers/wctype.texi: Likewise.
1559
1560 2011-09-11  Bruno Haible  <bruno@clisp.org>
1561
1562         sys_types: Fix typo.
1563         * lib/sys_types.in.h: Fix typo in comment.
1564         Reported by Paul Eggert.
1565
1566         Support for MSVC compiler: Ensure size_t gets defined.
1567         * modules/strings (Depends-on): Add 'sys_types'.
1568         * modules/sys_uio (Depends-on): Likewise.
1569         * lib/sys_uio.in.h: Update comment.
1570
1571         C++ tests for module 'sys_types'.
1572         * modules/sys_types-c++-tests: New file.
1573         * tests/test-sys_types-c++.cc: New file.
1574
1575         Tests for module 'sys_types'.
1576         * modules/sys_types-tests: New file.
1577         * tests/test-sys_types.c: New file.
1578
1579         New module 'sys_types'.
1580         * lib/sys_types.in.h: New file.
1581         * m4/sys_types_h.m4: New file.
1582         * modules/sys_types: New file.
1583         * doc/posix-headers/sys_types.texi: Mention the new module and the
1584         size_t problem on MSVC 9.
1585
1586 2011-09-11  Bruno Haible  <bruno@clisp.org>
1587
1588         Support for MSVC compiler: Avoid division by a literal 0.
1589         * lib/math.in.h (NAN): Define through a function call also on MSVC.
1590         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
1591         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
1592         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
1593         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
1594         * tests/infinity.h: New file.
1595         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
1596         on MSVC.
1597         * tests/test-ceilf1.c: Include infinity.h.
1598         (main): Use Infinityf.
1599         * tests/test-ceil1.c: Include infinity.h.
1600         (main): Use Infinityd.
1601         * tests/test-ceill.c: Include infinity.h.
1602         (main): Use Infinityl.
1603         * tests/test-dprintf-posix.c: Include infinity.h.
1604         (test_function): Use Infinityd.
1605         * tests/test-floorf1.c: Include infinity.h.
1606         (main): Use Infinityf.
1607         * tests/test-floor1.c: Include infinity.h.
1608         (main): Use Infinityd.
1609         * tests/test-floorl.c: Include infinity.h.
1610         (main): Use Infinityl.
1611         * tests/test-fprintf-posix.c: Include infinity.h.
1612         (test_function): Use Infinityd.
1613         * tests/test-frexp.c: Include infinity.h.
1614         (main): Use Infinityd.
1615         * tests/test-frexpl.c: Include infinity.h.
1616         (main): Use Infinityl.
1617         * tests/test-isfinite.c: Include infinity.h.
1618         (test_isfinitef): Use Infinityf.
1619         (test_isfinited): Use Infinityd.
1620         (test_isfinitel): Use Infinityl.
1621         * tests/test-isinf.c: Include infinity.h.
1622         (test_isinff): Use Infinityf.
1623         (test_isinfd): Use Infinityd.
1624         (test_isinfl): Use Infinityl.
1625         * tests/test-isnan.c: Include infinity.h.
1626         (test_float): Use Infinityf.
1627         (test_double): Use Infinityd.
1628         (test_long_double): Use Infinityl.
1629         * tests/test-isnanf.h: Include infinity.h.
1630         (main): Use Infinityf.
1631         * tests/test-isnand.h: Include infinity.h.
1632         (main): Use Infinityd.
1633         * tests/test-isnanl.h: Include infinity.h.
1634         (main): Use Infinityl.
1635         * tests/test-ldexpl.c: Include infinity.h.
1636         (main): Use Infinityl.
1637         * tests/test-printf-posix.h: Include infinity.h.
1638         (test_function): Use Infinityd.
1639         * tests/test-roundf1.c: Include infinity.h.
1640         (main): Use Infinityf.
1641         * tests/test-round1.c: Include infinity.h.
1642         (main): Use Infinityd.
1643         * tests/test-roundl.c: Include infinity.h.
1644         (main): Use Infinityl.
1645         * tests/test-signbit.c: Include infinity.h.
1646         (test_signbitf): Use Infinityf.
1647         (test_signbitd): Use Infinityd.
1648         (test_signbitl): Use Infinityl.
1649         * tests/test-snprintf-posix.h: Include infinity.h.
1650         (test_function): Use Infinityd, Infinityl.
1651         * tests/test-sprintf-posix.h: Include infinity.h.
1652         (test_function): Use Infinityd, Infinityl.
1653         * tests/test-truncf1.c: Include infinity.h.
1654         (main): Use Infinityf.
1655         * tests/test-trunc1.c: Include infinity.h.
1656         (main): Use Infinityd.
1657         * tests/test-truncl.c: Include infinity.h.
1658         (main): Use Infinityl.
1659         * tests/test-vasnprintf-posix.c: Include infinity.h.
1660         (test_function): Use Infinityd, Infinityl.
1661         * tests/test-vasprintf-posix.c: Include infinity.h.
1662         (test_function): Use Infinityd, Infinityl.
1663         * modules/ceilf-tests (Files): Add tests/infinity.h.
1664         * modules/ceil-tests (Files): Likewise.
1665         * modules/ceill-tests (Files): Likewise.
1666         * modules/dprintf-posix-tests (Files): Likewise.
1667         * modules/floorf-tests (Files): Likewise.
1668         * modules/floor-tests (Files): Likewise.
1669         * modules/floorl-tests (Files): Likewise.
1670         * modules/fprintf-posix-tests (Files): Likewise.
1671         * modules/frexp-tests (Files): Likewise.
1672         * modules/frexp-nolibm-tests (Files): Likewise.
1673         * modules/frexpl-tests (Files): Likewise.
1674         * modules/frexpl-nolibm-tests (Files): Likewise.
1675         * modules/isfinite-tests (Files): Likewise.
1676         * modules/isinf-tests (Files): Likewise.
1677         * modules/isnan-tests (Files): Likewise.
1678         * modules/isnanf-tests (Files): Likewise.
1679         * modules/isnanf-nolibm-tests (Files): Likewise.
1680         * modules/isnand-tests (Files): Likewise.
1681         * modules/isnand-nolibm-tests (Files): Likewise.
1682         * modules/isnanl-tests (Files): Likewise.
1683         * modules/isnanl-nolibm-tests (Files): Likewise.
1684         * modules/ldexpl-tests (Files): Likewise.
1685         * modules/printf-posix-tests (Files): Likewise.
1686         * modules/roundf-tests (Files): Likewise.
1687         * modules/round-tests (Files): Likewise.
1688         * modules/roundl-tests (Files): Likewise.
1689         * modules/signbit-tests (Files): Likewise.
1690         * modules/snprintf-posix-tests (Files): Likewise.
1691         * modules/sprintf-posix-tests (Files): Likewise.
1692         * modules/truncf-tests (Files): Likewise.
1693         * modules/trunc-tests (Files): Likewise.
1694         * modules/truncl-tests (Files): Likewise.
1695         * modules/vasnprintf-posix-tests (Files): Likewise.
1696         * modules/vasprintf-posix-tests (Files): Likewise.
1697         * modules/vdprintf-posix-tests (Files): Likewise.
1698         * modules/vfprintf-posix-tests (Files): Likewise.
1699         * modules/vprintf-posix-tests (Files): Likewise.
1700         * modules/vsnprintf-posix-tests (Files): Likewise.
1701         * modules/vsprintf-posix-tests (Files): Likewise.
1702         * modules/xprintf-posix-tests (Files): Likewise.
1703
1704 2011-09-11  Bruno Haible  <bruno@clisp.org>
1705
1706         Ensure pid_t gets defined.
1707         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
1708         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
1709         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
1710         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1711         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
1712         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
1713         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
1714         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1715         * tests/test-fcntl-h.c: Check that pid_t is defined.
1716         * tests/test-sched.c: Likewise.
1717         * tests/test-termios.c: Likewise.
1718         * tests/test-time.c: Likewise.
1719         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
1720         * doc/posix-headers/signal.texi: Likewise.
1721         * doc/posix-headers/sys_types.texi: Likewise.
1722         * doc/posix-headers/time.texi: Likewise.
1723
1724 2011-09-11  Bruno Haible  <bruno@clisp.org>
1725
1726         acl: Fix compilation on Solaris 10 (older version).
1727         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
1728         of ACE_EVERYONE.
1729         * lib/set-mode-acl.c (qset_acl): Likewise.
1730         Reported by Christian Jullien <eligis@orange.fr>.
1731
1732 2011-09-10  Bruno Haible  <bruno@clisp.org>
1733
1734         iconv, unsetenv: Add support for MSVC compiler.
1735         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
1736         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
1737
1738 2011-09-10  Bruno Haible  <bruno@clisp.org>
1739
1740         *printf: Add support for MSVC compiler.
1741         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
1742         handles the exception caused by the %n directive. When cross-compiling,
1743         guess no on native Windows.
1744         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
1745         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
1746         emulate it through vsnprintf.
1747         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
1748         * doc/posix-functions/dprintf.texi: Update documentation regarding
1749         MSVC 9.
1750         * doc/posix-functions/fprintf.texi: Likewise.
1751         * doc/posix-functions/printf.texi: Likewise.
1752         * doc/posix-functions/snprintf.texi: Likewise.
1753         * doc/posix-functions/sprintf.texi: Likewise.
1754         * doc/posix-functions/swprintf.texi: Likewise.
1755         * doc/posix-functions/vdprintf.texi: Likewise.
1756         * doc/posix-functions/vfprintf.texi: Likewise.
1757         * doc/posix-functions/vprintf.texi: Likewise.
1758         * doc/posix-functions/vsnprintf.texi: Likewise.
1759         * doc/posix-functions/vsprintf.texi: Likewise.
1760         * doc/glibc-functions/asprintf.texi: Likewise.
1761         * doc/glibc-functions/obstack_printf.texi: Likewise.
1762         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
1763         * doc/glibc-functions/vasprintf.texi: Likewise.
1764
1765 2011-09-10  Bruno Haible  <bruno@clisp.org>
1766
1767         nocrash: Add support for native Windows.
1768         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
1769
1770 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
1771             Bruno Haible  <bruno@clisp.org>
1772
1773         absolute-header, include-next: Add support for MSVC compiler.
1774         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
1775         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
1776         directory separator in #line directives.
1777         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
1778         recognize also backslash as directory separator in #line directives.
1779
1780 2011-09-08  Jim Meyering  <meyering@redhat.com>
1781
1782         maint.mk: mark the post-release commit log with "maint: " prefix
1783         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
1784         one-line commit-log summary.
1785
1786 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
1787             Bruno Haible  <bruno@clisp.org>
1788
1789         Doc about crypt functions.
1790         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
1791         systems.
1792         * doc/posix-functions/encrypt.texi: Likewise.
1793         * doc/posix-functions/setkey.texi: Likewise.
1794
1795 2011-09-08  Simon Josefsson  <simon@josefsson.org>
1796
1797         * lib/gc.h: Fix copyright header.
1798
1799 2011-09-07  Bruno Haible  <bruno@clisp.org>
1800
1801         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
1802         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
1803         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
1804
1805 2011-09-07  Bruno Haible  <bruno@clisp.org>
1806
1807         openat: Work around compilation error with OSF/1 5.1 DTK cc.
1808         * lib/fopen.c: Use different syntax for include of <stdio.h>.
1809         * lib/freopen.c: Likewise.
1810         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
1811         * lib/lstat.c: Likewise.
1812         * lib/stat.c: Likewise.
1813         * lib/open.c: Use different syntax for include of <fcntl.h>.
1814         * lib/openat.c: Include fcntl.h again, explicitly.
1815
1816 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
1817
1818         parse-datetime: document the newly accepted format
1819         * doc/parse-datetime.texi (Combined date and time of day items):
1820         New section.
1821
1822 2011-09-06  Bruno Haible  <bruno@clisp.org>
1823
1824         acl: Fix a test failure on newer Solaris 10 with ZFS.
1825         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
1826         ENOSYS as no ACL.
1827         Reported by Jim Meyering.
1828
1829 2011-09-06  Bruno Haible  <bruno@clisp.org>
1830
1831         acl: Update for AIX >= 5.3 with NFS.
1832         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
1833         ENOSYS as no ACL.
1834
1835         acl: Fix a test failure on AIX >= 5.3 with NFS.
1836         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
1837         as no ACL.
1838
1839 2011-09-06  Bruno Haible  <bruno@clisp.org>
1840
1841         acl: Fix a test failure on IRIX 6.5 with NFS.
1842         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
1843         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
1844         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
1845         * lib/copy-acl.c (qcopy_acl): Likewise.
1846
1847 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1848
1849         openat: port to AIX 7.1 with large files
1850         AIX 7.1 does a "#define openat open64at" if large files are in use,
1851         so we can't simply #undef openat.  Use the orig_openat trick (similar
1852         to orig_open in lib/open.c) to work around the problem.  Problem
1853         reported by Kevin Brott for GNU tar, in the thread containing
1854         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
1855         * lib/openat.c (__need_system_fcntl_h): Define first.
1856         Include <fcntl.h> and <sys/types.h> before undefining.
1857         (orig_openat) [HAVE_OPENAT]: New inline function.
1858         (openat) [HAVE_OPENAT]: Do not undef.
1859         (rpl_openat): Use orig_openat, not openat.
1860
1861 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
1862             Bruno Haible  <bruno@clisp.org>
1863
1864         acl: Avoid errors on NonStop Kernel.
1865         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
1866         ENOTSUP errors.
1867
1868 2011-09-05  Bruno Haible  <bruno@clisp.org>
1869
1870         acl: Clean up Solaris code.
1871         * lib/acl-internal.h: Remove no-op #if.
1872         * lib/file-has-acl.c: Likewise.
1873         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
1874         * lib/copy-acl.c (qcopy_acl): Likewise.
1875
1876 2011-09-05  Bruno Haible  <bruno@clisp.org>
1877
1878         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
1879         binaries built on the original Solaris 10.
1880         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
1881         trivial.
1882
1883 2011-09-05  Bruno Haible  <bruno@clisp.org>
1884
1885         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
1886         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
1887         10.
1888         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
1889         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
1890         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
1891         instead of acl_get, facl_get, acl_set, facl_set.
1892
1893 2011-09-05  Bruno Haible  <bruno@clisp.org>
1894
1895         copy-file: Try unit tests on more file systems.
1896         * tests/test-copy-file-1.sh: New file.
1897         * tests/test-copy-file-2.sh: New file.
1898         * modules/copy-file-tests (Files): Add them.
1899         (Makefile.am): Add them to TESTS.
1900
1901         acl: Try unit tests on more file systems.
1902         * tests/test-file-has-acl-1.sh: New file.
1903         * tests/test-file-has-acl-2.sh: New file.
1904         * tests/test-set-mode-acl-1.sh: New file.
1905         * tests/test-set-mode-acl-2.sh: New file.
1906         * tests/test-copy-acl-1.sh: New file.
1907         * tests/test-copy-acl-2.sh: New file.
1908         * modules/acl-tests (Files): Add them.
1909         (Makefile.am): Add them to TESTS.
1910
1911 2011-09-04  Bruno Haible  <bruno@clisp.org>
1912
1913         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
1914         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
1915         10.
1916         (OLD_ALLOW, OLD_DENY): New macros.
1917         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
1918         ACE_ACCESS_ALLOWED_ACE_TYPE.
1919         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
1920         ACE_ACCESS_DENIED_ACE_TYPE.
1921         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
1922         (NEW_ACE_EXECUTE): Fix value.
1923         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
1924         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
1925         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
1926         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
1927         NEW_ACE_SYNCHRONIZE): New macros.
1928         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
1929         instead of acl_fromtext, acl_set, facl_set.
1930         Fixes a coreutils/tests/cp/perm failure.
1931
1932 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
1933
1934         openat: test for fstatat (..., 0) bug
1935         Further testing with tar suggests that fstatat (..., 0)
1936         does not work in general, on AIX 7.1; see
1937         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
1938         So, give up entirely on AIX 7.1's fstatat, and fall back on our
1939         replacement fstatat (which is what older AIX releases were using
1940         anyway).
1941         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
1942         use is now changed to orig_fstatat.  This was probably the right
1943         thing to do anyway.
1944         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
1945         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
1946         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
1947         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
1948         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
1949         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
1950         if the bug is found.
1951
1952         openat: test for fstatat (AT_FDCWD, ..., 0) bug
1953         This tests for another fstatat bug on AIX 7.1:
1954         fstatat (AT_FDCWD, ..., 0) does not work.  See
1955         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
1956         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
1957         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
1958         (rpl_fstatat): Adjust so that it works around either (or both)
1959         bugs if present.
1960         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
1961
1962 2011-09-03  Karl Berry  <karl@gnu.org>
1963
1964         * doc/regex.texi (Character Class Operators): Avoid literal ":"
1965         in index entries.
1966
1967 2011-09-02  Bruno Haible  <bruno@clisp.org>
1968
1969         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
1970         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
1971         values of AR, ARFLAGS, RANLIB.
1972         Reported by John W. Eaton <jwe@gnu.org> for Octave.
1973
1974 2011-09-02  Bruno Haible  <bruno@clisp.org>
1975
1976         Find 'ar' program that fits with --host argument.
1977         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
1978
1979 2011-09-02  Bruno Haible  <bruno@clisp.org>
1980
1981         tests: init.sh: Support any non-GNU diff.
1982         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
1983         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
1984         Solaris 8.
1985
1986 2011-09-02  Bruno Haible  <bruno@clisp.org>
1987
1988         tests: init.sh: work also with any non-GNU diff that supports -u
1989         * tests/init.sh: Relax check for diff -u support.
1990         Rather than checking for GNU diff via --version, simply check
1991         for support for -u itself.  Useful at least on OpenBSD 4.9,
1992         AIX 7.1, IRIX 6.5, and Solaris 10.
1993
1994 2011-09-01  Bruno Haible  <bruno@clisp.org>
1995
1996         strtoimax, strtoumax: Document problem on HP-UX 11.
1997         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
1998         * doc/posix-functions/strtoumax.texi: Likewise.
1999
2000 2011-09-01  Bruno Haible  <bruno@clisp.org>
2001
2002         strtoumax: Avoid link error on OSF/1 with DTK cc.
2003         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
2004         defined as a function.
2005         * modules/strtoumax (Depends-on, configure.ac): Test only whether
2006         strtoumax is defined, not whether it is declared.
2007
2008 2011-09-01  Bruno Haible  <bruno@clisp.org>
2009
2010         strtoimax: Avoid link error on OSF/1 with DTK cc.
2011         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
2012         defined as a function.
2013         * modules/strtoimax (Depends-on, configure.ac): Test only whether
2014         strtoimax is defined, not whether it is declared.
2015
2016 2011-09-01  Bruno Haible  <bruno@clisp.org>
2017
2018         imaxdiv: Avoid link error on OSF/1 with DTK cc.
2019         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
2020         as a function.
2021         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
2022         whether it is declared.
2023
2024 2011-09-01  Bruno Haible  <bruno@clisp.org>
2025
2026         imaxabs: Avoid link error on OSF/1 with DTK cc.
2027         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
2028         as a function.
2029         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
2030         whether it is declared.
2031
2032 2011-09-01  Bruno Haible  <bruno@clisp.org>
2033
2034         Tests for module 'strtoumax'.
2035         * modules/strtoumax-tests: New file.
2036         * tests/test-strtoumax.c: New file.
2037
2038         Tests for module 'strtoimax'.
2039         * modules/strtoimax-tests: New file.
2040         * tests/test-strtoimax.c: New file.
2041
2042         Tests for module 'imaxdiv'.
2043         * modules/imaxdiv-tests: New file.
2044         * tests/test-imaxdiv.c: New file.
2045
2046         Tests for module 'imaxabs'.
2047         * modules/imaxabs-tests: New file.
2048         * tests/test-imaxabs.c: New file.
2049
2050 2011-09-01  Bruno Haible  <bruno@clisp.org>
2051
2052         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
2053         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
2054         pthread_create.
2055
2056 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2057
2058         openat: work around AIX 7.1 fstatat issue
2059         This should fix the problem that was not properly fixed
2060         in the previous change, dated 2011-08-30.
2061         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
2062         __need_system_stat_h defined.
2063         (orig_fstatat) [HAVE_FSTATAT]: New function.
2064         (rpl_fstatat): Go back to the old way of doing things,
2065         except call orig_fstatat instead of fstatat.
2066         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
2067         Remove unnecessary check whether fstatat fills in st_size etc.
2068
2069 2011-09-01  Bruno Haible  <bruno@clisp.org>
2070
2071         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
2072         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
2073         just include the system's header.
2074
2075 2011-08-31  Jim Meyering  <meyering@redhat.com>
2076
2077         tests: avoid spurious assertion failure in test-float.c on ppc64
2078         * tests/test-float.c (test_long_double): Comment out an assertion,
2079         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
2080         with gcc-4.4.4.
2081
2082         maint: indent with spaces, not TABs
2083         I need to get in the habit of running gnulib's "make check".
2084         Both of these would have been caught.
2085         * m4/largefile.m4: Indent with spaces, not TABs.
2086         * lib/parse-datetime.y (iso_8601_time): Likewise.
2087         Spotted by Pádraig Brady.
2088
2089         test-parse-datetime.c: accommodate a relatively strict gcc warning
2090         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
2091         to avoid a warning from gcc's -Werror=missing-declarations.
2092         Insert a few spaces-before-funcall-parenthesis.
2093
2094 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
2095
2096         parse-datetime: accept ISO 8601 date and time rep with "T" separator
2097         The parser now accepts ISO 8601 date-time strings with "T" as the
2098         separator.  It has long parsed dates like "2004-02-29 16:21:42"
2099         with a space between the date and time strings.  Now it also parses
2100         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
2101         variants like "2004-02-29T16:21:42.333-07:00"
2102         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
2103         of day representation using the 'T' separator character.
2104         * doc/parse-datetime.texi (General date syntax): replace use of
2105         deprecated --iso-8601 option with --rfc-3339 in example of date
2106         command output formats that can be parsed.
2107         * tests/test-parse-datetime.c (tm_diff): New function, taken from
2108         lib/parse-datetime.y.
2109         (gmt_offset): New function.
2110         (main): Add additional test cases to validate ISO8601 extended
2111         date and time of day parsing.
2112
2113 2011-08-31  Bruno Haible  <bruno@clisp.org>
2114
2115         freopen: Documentation.
2116         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
2117         name.
2118         Reported by Claudio Bley <claudio.bley@gmail.com>.
2119
2120 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
2121
2122         freopen: Don't crash if the filename argument is NULL.
2123         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
2124         NULL.
2125
2126 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2127
2128         openat: work around AIX 7.1 fstatat bug
2129         Problem reported by Kevin Brott for GNU tar, in the thread containing
2130         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
2131         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
2132         FSTATAT_ST_SIZE_ETC_BROKEN.
2133         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
2134         rpl_fstatat.
2135         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
2136         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
2137         AC_CHECK_FUNCS_ONCE for fstatat.
2138         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
2139         fchmodat, mkdirat, openat and unlinkat.
2140
2141 2011-08-30  Bruno Haible  <bruno@clisp.org>
2142
2143         Avoid endless recursions if config.h includes some header files.
2144         * lib/fopen.c (__need_FILE): Define already before including config.h.
2145         * lib/freopen.c (__need_FILE): Likewise.
2146         * lib/open.c (__need_system_fcntl_h): Likewise.
2147         * lib/stat.c (__need_system_sys_stat_h): Likewise.
2148         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
2149         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2150
2151 2011-08-25  Karl Berry  <karl@gnu.org>
2152
2153         * config/srclist.txt (ylwrap): new try.
2154         * build-aux/ylwrap: new file.
2155
2156 2011-08-23  Bruno Haible  <bruno@clisp.org>
2157
2158         tmpdir: Use a good default directory on native Windows.
2159         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
2160         (P_tmpdir): Default to _P_tmpdir on native Windows.
2161         (path_search): On native Windows, try the value returned by GetTempPath
2162         before trying P_tmpdir.
2163         * modules/tmpdir (Depends-on): Add pathmax.
2164         Suggested by John Darrington <john@darrington.wattle.id.au>.
2165
2166 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
2167
2168         doc: fix typo in README-release
2169         * top/README-release: Capitalize first word of a sentence.
2170
2171 2011-08-19  Jim Meyering  <meyering@redhat.com>
2172
2173         fts: do not exhaust memory when processing million-entry directories
2174         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
2175         directory would require about 256*N bytes of memory.  Thus, it was
2176         easy to construct a directory too large to be processed by any of
2177         those tools.  With this change, fts' maximum memory utilization is
2178         now limited to around 30MB.
2179         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
2180         (fts_read): When we've processed the final entry (i.e., when
2181         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
2182         using the parent entry to read any remaining entries.  Dispatch
2183         depending on what fts_build returns:
2184         - NULL+stop, aka failure: stop
2185         - NULL otherwise: move up in the dir hierarchy
2186         - non-NULL: handle this new entry
2187         (fts_build): Declare and use new local, continue_readdir.
2188         Prepare to be called from fts_read, when the entries
2189         from a partially-read directory have just been exhausted.
2190         In that case, we'll skip the opendir and instead use the parent's
2191         fts_dirp and derive dir_fd from that.
2192         Finally, in the readdir loop, if we read max_entries entries,
2193         exit the loop ensuring *not* to call closedir.  This is required
2194         so that fts_dirp can be reused on a subsequent call.
2195         Prompted by Ben England's report of memory exhaustion in find
2196         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
2197
2198         maint: fts: move decl of `dp' down into while loop; split a long line
2199         * lib/fts.c (fts_build): No semantic change.
2200
2201         fts: add/use new struct member, fts_dirp
2202         We are about to use this to manage any directory with
2203         too many entries to read all of them into memory at once.
2204         To do that, we'll need to save the DIR* pointer in each
2205         affected FTSENT struct.
2206         * lib/fts_.h: Include <dirent.h>.
2207         (struct FTSENT) [fts_dirp]: New member.
2208         * lib/fts.c (closedir_and_clear): Define.
2209         Use it in place of closedir so that we are sure to
2210         clear the new fts_dirp member when done with it.
2211         (fts_alloc): Initialize the new member.
2212         (fts_lfree): Free, if needed.
2213
2214         maint: fts: give __opendir2 a new parameter and rename
2215         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
2216         than surreptitiously using sole caller's "dir_fd".
2217         (fts_opendir): Rename from __opendir2.
2218
2219         maint: fts.c: remove __opendir2's now-unused parameter, oflag
2220         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
2221
2222         maint: fts.c: correct off-by-one indentation
2223         * lib/fts.c (fts_build): Correct indentation, change style
2224         of a couple of block comments, and bracing style.
2225
2226         maint: fts.c: move __opendir2 #define "up" out of function body
2227         * lib/fts.c (__opendir2): Move "up".  No semantic change.
2228
2229         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
2230         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
2231         out for a long time and besides was useful only on BSD systems.
2232
2233 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2234
2235         regex: port to Stratus OpenVOS
2236         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
2237         define to empty, rather than attempting nonportable optimizations.
2238         Problem reported by Paul Green in:
2239         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
2240         and fix suggested by Eric Blake in:
2241         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
2242
2243 2011-08-17  Eric Blake  <eblake@redhat.com>
2244
2245         getcwd: fix test failures on mingw
2246         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
2247         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
2248         test if long directory cannot be created, and allow mingw errno.
2249
2250         getcwd-lgpl: fix m4 to match relaxed test for BSD
2251         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
2252         (gl_FUNC_GETCWD_SIGNATURE): New macro.
2253         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
2254         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
2255         signature problem.
2256
2257         getcwd: fix compilation on mingw64
2258         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
2259         getcwd.
2260         Reported by Marc-André Lureau.
2261
2262         pipe2: silence compiler warning
2263         * lib/pipe2.c (pipe2): Hide label if it is not used.
2264
2265 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
2266
2267         relocatable-prog: fix link error
2268         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
2269         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
2270         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
2271         into modules/relocatable-lib without noticing that
2272         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
2273         also needs to build relocatable.c.
2274
2275 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
2276
2277         getaddrinfo: fix sh typo in gai_strerrorA decl checking
2278         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
2279         shell code: it contained a 'break' that was not in a loop.
2280         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
2281         via a shell-language loop; this may have been true in old Autoconf
2282         versions, but it's not true in Autoconf 2.68.  I found this bug
2283         when testing coreutils git on Solaris 8, whose shell complains
2284         about the syntax error.
2285
2286 2011-08-12  Simon Josefsson  <simon@josefsson.org>
2287
2288         * lib/base64.c: Fix comment to reference RFC 4648.
2289         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
2290         <gvtulder@gmail.com>.
2291
2292 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
2295
2296         po/Makefile.in.in: fix make -q problem
2297         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
2298         rule, since there's no file named 'check-macro-version' and its
2299         use as a file breaks make -q.
2300         (all): Don't depend on check-macro-version.
2301         (CHECK_MACRO_VERSION): New macro.
2302         (stamp-po): Use it.
2303
2304         configmake: fix make -q problem
2305         * modules/configmake (configmake.h): Update configmake.h's time stamp
2306         even if the file does not change.  Otherwise, 'make -q' fails.
2307         Problem reported by Simon Josefsson in
2308         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
2309
2310 2011-08-11  Jim Meyering  <meyering@redhat.com>
2311
2312         git-version-gen: correct the advice in a comment
2313         * build-aux/git-version-gen: Correct comment.
2314         Don't recommend to list .tarball-version in .gitignore.
2315
2316 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2317
2318         base64: fix off-by-one buffer size bug
2319         Problem and (trivial) fix reported by Gijs van Tulder in
2320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
2321         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
2322         * tests/test-base64.c (main): Catch the bug.
2323
2324 2011-08-10  Eric Blake  <eblake@redhat.com>
2325
2326         closein: correct comments
2327         * lib/closein.c (close_stdin): Improve comments.
2328
2329 2011-08-09  Bruno Haible  <bruno@clisp.org>
2330
2331         More tests for 'fseeko'.
2332         * tests/test-fseeko3.c: New file, from Eric Blake.
2333         * tests/test-fseeko3.sh: New file.
2334         * modules/fseeko-tests (Files): Add them.
2335         (TESTS): Add test-fseeko3.sh.
2336         (check_PROGRAMS): Add test-fseeko3.
2337
2338 2011-08-09  Eric Blake  <eblake@redhat.com>
2339
2340         fseeko: remove unneeded hack
2341         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
2342
2343         fseeko: fix bug on glibc
2344         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
2345         Reported by John W. Eaton.
2346
2347 2011-08-08  Bruno Haible  <bruno@clisp.org>
2348
2349         unictype/base: Fix interoperability with preinstalled libunistring.
2350         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
2351         Reported by Simon Josefsson.
2352
2353 2011-08-08  Bruno Haible  <bruno@clisp.org>
2354
2355         iswblank: Detect declaration correctly.
2356         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
2357         AC_CHECK_DECLS invocation.
2358
2359 2011-08-08  Bruno Haible  <bruno@clisp.org>
2360
2361         tcgetsid: Detect declaration correctly.
2362         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
2363         AC_CHECK_DECLS invocation.
2364         Reported by Simon Josefsson.
2365
2366 2011-08-08  Eric Blake  <eblake@redhat.com>
2367
2368         largefile: fix typo that regressed large file support
2369         * modules/largefile (configure.ac-early): Fix section name.
2370
2371 2011-08-06  Karl Berry  <karl@gnu.org>
2372
2373         * MODULES.html.sh (func_all_files): _Noreturn is no longer
2374         a separate module.
2375
2376 2011-08-05  Simon Josefsson  <simon@josefsson.org>
2377
2378         openat: Fix warnings and commens when building unlinkat.c on Hurd.
2379         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
2380         get prototype for free.
2381
2382 2011-08-04  Bruno Haible  <bruno@clisp.org>
2383
2384         Tests for module 'pathmax'.
2385         * modules/pathmax-tests: New file.
2386         * tests/test-pathmax.c: New file.
2387
2388         canonicalize-lgpl: Support larger filenames on the Hurd.
2389         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
2390         Reported by Paul Eggert.
2391
2392         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
2393         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
2394         * lib/chdir-long.h: Include pathmax.h.
2395         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
2396         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
2397         (PATH_MAX): Remove code that is done by pathmax.h.
2398         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
2399         * lib/tmpfile.c: Add a comment.
2400         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
2401         * modules/chdir-long (Depends-on): Add pathmax.
2402         * modules/getcwd (Depends-on): Add pathmax.
2403         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
2404         is not defined.
2405         * doc/posix-headers/limits.texi: Mention the pathmax module.
2406         * NEWS: Mention the change.
2407
2408 2011-08-02  Bruno Haible  <bruno@clisp.org>
2409
2410         pthread_sigmask: Actually use results of gl_THREADLIB.
2411         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
2412         gl_THREADLIB, not gl_[]THREADLIB.
2413         Reported by Eric Blake.
2414
2415 2011-08-02  Jim Meyering  <meyering@redhat.com>
2416
2417         maint.mk: relax the default _gl_TS_function_match regexp
2418         * top/maint.mk (_gl_TS_function_match): Don't require at least one
2419         space between function name and "(" in an "extern" declaration.
2420         That would fail to match a decl with no space there: extern void foo();
2421
2422 2011-07-31  Iain Nicol  <iain@thenicols.net>
2423
2424         git-version-gen: document that EXTRA_DIST must include .version
2425         * build-aux/git-version-gen: In the how-to-use comment, document
2426         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
2427         will fail when run from an unpacked distribution tarball.
2428
2429 2011-08-01  Bruno Haible  <bruno@clisp.org>
2430
2431         wctype-h: Fix last change.
2432         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
2433         REPLACE_TOWLOWER to 0.
2434         Reported by Sam Steingold <sds@gnu.org>.
2435
2436 2011-07-31  Bruno Haible  <bruno@clisp.org>
2437
2438         frexpl: Update autoconf test.
2439         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
2440         according to changes of 2011-06-20.
2441
2442 2011-07-31  Bruno Haible  <bruno@clisp.org>
2443
2444         sys_utsname: Add support for Minix.
2445         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
2446         <sys/utsname.h>.
2447         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2448         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
2449
2450 2011-07-31  Bruno Haible  <bruno@clisp.org>
2451
2452         strings: Add support for Minix.
2453         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
2454         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
2455         * doc/posix-headers/strings.texi: Document the Minix problem.
2456
2457 2011-07-31  Bruno Haible  <bruno@clisp.org>
2458
2459         wctype-h: Add support for Minix.
2460         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
2461         REPLACE_TOWLOWER.
2462         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
2463         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
2464         REPLACE_ISWCNTRL.
2465
2466 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
2467
2468         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
2469         This is a performance improvement for 64-bit hosts: it causes the
2470         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
2471
2472 2011-07-31  Bruno Haible  <bruno@clisp.org>
2473
2474         stdioext: Add support for Minix.
2475         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
2476         * lib/fpurge.c (fpurge): Likewise.
2477         * lib/freadahead.c (freadahead): Likewise.
2478         * lib/freadable.c (freadable): Likewise.
2479         * lib/freading.c (freading): Likewise.
2480         * lib/freadptr.c (freadptr): Likewise.
2481         * lib/freadseek.c (freadptrinc): Likewise.
2482         * lib/fseeko.c (rpl_fseeko): Likewise.
2483         * lib/fseterr.c (fseterr): Likewise.
2484         * lib/fwritable.c (fwritable): Likewise.
2485         * lib/fwriting.c (fwriting): Likewise.
2486         * lib/fflush.c (clear_ungetc_buffer): Update comment.
2487         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
2488
2489 2011-07-31  Bruno Haible  <bruno@clisp.org>
2490
2491         errno: Port to Minix.
2492         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
2493         ECONNABORTED are defined.
2494         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
2495         GNULIB_defined_ECONNABORTED): New macros.
2496         * lib/strerror-override.h (strerror_override): Test also
2497         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
2498         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
2499         ECONNABORTED.
2500         * doc/posix-headers/errno.texi: Mention the Minix problem.
2501
2502 2011-07-31  Bruno Haible  <bruno@clisp.org>
2503
2504         Work around declaration collisions on Minix.
2505         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
2506         defined, set REPLACE_MBSINIT.
2507         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
2508         defined, set REPLACE_MBRTOWC.
2509         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
2510         set REPLACE_MBRLEN.
2511         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
2512         defined, set REPLACE_MBSRTOWCS.
2513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
2514         defined, set REPLACE_WCRTOMB.
2515         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
2516         defined, set REPLACE_WCSRTOMBS.
2517
2518 2011-07-31  Bruno Haible  <bruno@clisp.org>
2519
2520         Add support for Minix with ACK compiler.
2521         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
2522         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
2523         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
2524
2525 2011-07-31  Bruno Haible  <bruno@clisp.org>
2526
2527         Documentation about Minix.
2528         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
2529         * doc/glibc-headers/*.texi: Likewise.
2530         * doc/posix-functions/*.texi: Likewise.
2531         * doc/glibc-functions/*.texi: Likewise.
2532
2533 2011-07-31  Bruno Haible  <bruno@clisp.org>
2534
2535         snippet/warn-on-use: Fix indentation.
2536         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
2537
2538 2011-07-25  Jim Meyering  <meyering@redhat.com>
2539
2540         tests: test-update-copyright.sh: remove unnecessary "rm" commands
2541         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
2542         commands.
2543
2544 2011-07-27  Jim Meyering  <meyering@redhat.com>
2545
2546         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
2547         * top/maint.mk (gl_extract_significant_defines_): Now that
2548         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
2549         gnulib/lib/signal.in.h, and now that we recommend to
2550         define-if-undefined those two symbols in application code,
2551         we must filter them out of the "significant" list.
2552         This avoids a "make syntax-check" failure in coreutils.
2553
2554 2011-07-26  Eric Blake  <eblake@redhat.com>
2555
2556         warnings: add comments about previous patch
2557         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
2558         * m4/include_next.m4: Likewise.
2559         * m4/warn-on-use.m4: Likewise.
2560         * m4/warnings.m4: Likewise, and simplify use.
2561         Suggested by Stefano Lattarini.
2562
2563         include-next, warnings: support older autoconf
2564         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
2565         AS_VAR_PUSHDEF in a way that works with older autoconf.
2566         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
2567         Reported by Daniel P. Berrange.
2568
2569 2011-07-25  Bruno Haible  <bruno@clisp.org>
2570
2571         fseek, ftell: Fix doc.
2572         * doc/posix-functions/fseek.texi: Reword statement about
2573         AC_SYS_LARGEFILE.
2574         * doc/posix-functions/ftell.texi: Likewise.
2575
2576 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
2577             Bruno Haible  <bruno@clisp.org>
2578
2579         Add dependencies to the 'largefile' module.
2580         * modules/fopen (Depends-on): Add 'largefile'.
2581         * modules/freopen (Depends-on): Likewise.
2582         * modules/fseeko (Depends-on): Likewise.
2583         * modules/ftello (Depends-on): Likewise.
2584         * modules/glob (Depends-on): Likewise.
2585         * modules/lseek (Depends-on): Likewise.
2586         * modules/lstat (Depends-on): Likewise.
2587         * modules/mkostemp (Depends-on): Likewise.
2588         * modules/mkostemps (Depends-on): Likewise.
2589         * modules/mkstemp (Depends-on): Likewise.
2590         * modules/mkstemps (Depends-on): Likewise.
2591         * modules/open (Depends-on): Likewise.
2592         * modules/openat (Depends-on): Likewise.
2593         * modules/pread (Depends-on): Likewise.
2594         * modules/pwrite (Depends-on): Likewise.
2595         * modules/scandir (Depends-on): Likewise.
2596         * modules/stat (Depends-on): Likewise.
2597         * modules/tmpfile (Depends-on): Likewise.
2598         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
2599         since the containing module now depends on the largefile module.
2600         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
2601         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
2602         off_t is fixed by gnulib.
2603         * doc/posix-functions/freopen.texi: Likewise.
2604         * doc/posix-functions/fseeko.texi: Likewise.
2605         * doc/posix-functions/fstatat.texi: Likewise.
2606         * doc/posix-functions/ftello.texi: Likewise.
2607         * doc/posix-functions/glob.texi: Likewise.
2608         * doc/posix-functions/lseek.texi: Likewise.
2609         * doc/posix-functions/lstat.texi: Likewise.
2610         * doc/posix-functions/mkstemp.texi: Likewise.
2611         * doc/posix-functions/open.texi: Likewise.
2612         * doc/posix-functions/openat.texi: Likewise.
2613         * doc/posix-functions/pread.texi: Likewise.
2614         * doc/posix-functions/pwrite.texi: Likewise.
2615         * doc/posix-functions/scandir.texi: Likewise.
2616         * doc/posix-functions/stat.texi: Likewise.
2617         * doc/posix-functions/tmpfile.texi: Likewise.
2618         * doc/glibc-functions/mkostemp.texi: Likewise.
2619         * doc/glibc-functions/mkostemps.texi: Likewise.
2620         * doc/glibc-functions/mkstemps.texi: Likewise.
2621
2622 2011-07-25  Bruno Haible  <bruno@clisp.org>
2623
2624         fcntl: Move AC_LIBOBJ invocation to module description.
2625         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
2626         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
2627
2628         fcntl: Remove call-in from fchdir.m4.
2629         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
2630         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
2631
2632         dup3: Remove potential call-in from fchdir.m4.
2633         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
2634         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
2635
2636         dup2: Move AC_LIBOBJ invocation to module description.
2637         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
2638         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
2639         Don't invoke AC_LIBOBJ.
2640         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
2641
2642         dup2: Remove call-in from fchdir.m4.
2643         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
2644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
2645
2646         fclose: Move AC_LIBOBJ invocation to module description.
2647         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
2648         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
2649         to 1.
2650         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
2651
2652         fclose: Remove call-in from close.m4.
2653         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
2654         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
2655
2656         close: Move AC_LIBOBJ invocation to module description.
2657         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
2658         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
2659         1.
2660         * modules/close (configure.ac): Invoke AC_LIBOBJ.
2661
2662         close: Remove call-in from fchdir.m4.
2663         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
2664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
2665
2666         open: Move AC_LIBOBJ invocation to module description.
2667         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
2668         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
2669         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
2670
2671         open: Remove call-in from fchdir.m4.
2672         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
2673         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
2674
2675         fchdir: Start to remove gl_REPLACE_* idiom.
2676         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
2677         (gl_FUNC_FCHDIR): Invoke it.
2678
2679 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
2680
2681         * lib/ftell.c (ftell): Comment out cast.
2682
2683         close: use gl_REPLACE_FCLOSE only if defined
2684         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
2685         is defined.  The close module doesn't depend on the fclose module
2686         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
2687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
2688         I reproduced the problem with "./gnulib-tool --test close sys_socket".
2689
2690 2011-07-24  Jim Meyering  <meyering@redhat.com>
2691
2692         test-select.h: avoid warning when using gcc's -Wmissing-declarations
2693         * tests/test-select.h (test_function): Declare as "static".
2694
2695 2011-07-24  Bruno Haible  <bruno@clisp.org>
2696
2697         doc: Mention the effects of AC_SYS_LARGEFILE.
2698         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
2699         on this function.
2700         * doc/posix-functions/aio_error.texi: Likewise.
2701         * doc/posix-functions/aio_fsync.texi: Likewise.
2702         * doc/posix-functions/aio_read.texi: Likewise.
2703         * doc/posix-functions/aio_return.texi: Likewise.
2704         * doc/posix-functions/aio_suspend.texi: Likewise.
2705         * doc/posix-functions/aio_write.texi: Likewise.
2706         * doc/posix-functions/fgetpos.texi: Likewise.
2707         * doc/posix-functions/fopen.texi: Likewise.
2708         * doc/posix-functions/freopen.texi: Likewise.
2709         * doc/posix-functions/fsetpos.texi: Likewise.
2710         * doc/posix-functions/fstatvfs.texi: Likewise.
2711         * doc/posix-functions/ftruncate.texi: Likewise.
2712         * doc/posix-functions/ftw.texi: Likewise.
2713         * doc/posix-functions/getrlimit.texi: Likewise.
2714         * doc/posix-functions/glob.texi: Likewise.
2715         * doc/posix-functions/lio_listio.texi: Likewise.
2716         * doc/posix-functions/lockf.texi: Likewise.
2717         * doc/posix-functions/mkstemp.texi: Likewise.
2718         * doc/posix-functions/mmap.texi: Likewise.
2719         * doc/posix-functions/nftw.texi: Likewise.
2720         * doc/posix-functions/openat.texi: Likewise.
2721         * doc/posix-functions/opendir.texi: Likewise.
2722         * doc/posix-functions/posix_fadvise.texi: Likewise.
2723         * doc/posix-functions/posix_fallocate.texi: Likewise.
2724         * doc/posix-functions/pread.texi: Likewise.
2725         * doc/posix-functions/pwrite.texi: Likewise.
2726         * doc/posix-functions/readdir.texi: Likewise.
2727         * doc/posix-functions/readdir_r.texi: Likewise.
2728         * doc/posix-functions/rewinddir.texi: Likewise.
2729         * doc/posix-functions/scandir.texi: Likewise.
2730         * doc/posix-functions/seekdir.texi: Likewise.
2731         * doc/posix-functions/setrlimit.texi: Likewise.
2732         * doc/posix-functions/statvfs.texi: Likewise.
2733         * doc/posix-functions/telldir.texi: Likewise.
2734         * doc/posix-functions/tmpfile.texi: Likewise.
2735         * doc/posix-functions/truncate.texi: Likewise.
2736         * doc/glibc-functions/fallocate.texi: Likewise.
2737         * doc/glibc-functions/fstatfs.texi: Likewise.
2738         * doc/glibc-functions/fts_children.texi: Likewise.
2739         * doc/glibc-functions/fts_read.texi: Likewise.
2740         * doc/glibc-functions/getdirentries.texi: Likewise.
2741         * doc/glibc-functions/mkostemp.texi: Likewise.
2742         * doc/glibc-functions/mkostemps.texi: Likewise.
2743         * doc/glibc-functions/mkstemps.texi: Likewise.
2744         * doc/glibc-functions/preadv.texi: Likewise.
2745         * doc/glibc-functions/pwritev.texi: Likewise.
2746         * doc/glibc-functions/sendfile.texi: Likewise.
2747         * doc/glibc-functions/statfs.texi: Likewise.
2748
2749 2011-07-24  Bruno Haible  <bruno@clisp.org>
2750
2751         doc: Fix typo.
2752         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
2753
2754 2011-07-24  Bruno Haible  <bruno@clisp.org>
2755
2756         doc: Mention fsusage.
2757         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
2758
2759 2011-07-24  Bruno Haible  <bruno@clisp.org>
2760
2761         doc: Mention new glibc headers and functions.
2762         * doc/glibc-headers/gshadow.texi: New file.
2763         * doc/glibc-functions/endsgent.texi: New file.
2764         * doc/glibc-functions/fgetsgent.texi: New file.
2765         * doc/glibc-functions/fgetsgent_r.texi: New file.
2766         * doc/glibc-functions/getsgent.texi: New file.
2767         * doc/glibc-functions/getsgent_r.texi: New file.
2768         * doc/glibc-functions/getsgnam.texi: New file.
2769         * doc/glibc-functions/getsgnam_r.texi: New file.
2770         * doc/glibc-functions/putsgent.texi: New file.
2771         * doc/glibc-functions/setsgent.texi: New file.
2772         * doc/glibc-functions/sgetsgent.texi: New file.
2773         * doc/glibc-functions/sgetsgent_r.texi: New file.
2774         * doc/glibc-functions/malloc_info.texi: New file.
2775         * doc/glibc-functions/preadv.texi: New file.
2776         * doc/glibc-functions/pwritev.texi: New file.
2777         * doc/glibc-functions/register_printf_modifier.texi: New file.
2778         * doc/glibc-functions/register_printf_specifier.texi: New file.
2779         * doc/glibc-functions/register_printf_type.texi: New file.
2780         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
2781         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
2782         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
2783         * doc/glibc-functions/pthread_getname_np.texi: New file.
2784         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
2785         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
2786         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
2787         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
2788         * doc/glibc-functions/pthread_setname_np.texi: New file.
2789         * doc/glibc-functions/pthread_sigqueue.texi: New file.
2790         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
2791         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
2792         * doc/glibc-functions/qsort_r.texi: New file.
2793         * doc/glibc-functions/quick_exit.texi: New file.
2794         * doc/glibc-functions/syncfs.texi: New file.
2795         * doc/gnulib.texi: Include them.
2796         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
2797         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
2798         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
2799         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
2800         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
2801         * doc/glibc-functions/execvpe.texi: Likewise.
2802
2803 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         ftell: don't include <unistd.h>
2806         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
2807         guaranteed to define off_t, and the ftell module depends on the
2808         stdio module.
2809
2810         ftell: do not assume wraparound signed arithmetic
2811         * lib/ftell.c: Include <limits.h>.
2812         (ftell): Don't assume wraparound signed arithmetic.
2813
2814 2011-07-24  Bruno Haible  <bruno@clisp.org>
2815
2816         close: No longer depend on module 'fclose'.
2817         * modules/close (Depends-on): Remove fclose.
2818         * NEWS: Mention the change.
2819         Suggested by Sam Steingold <sds@gnu.org>.
2820
2821 2011-07-24  Bruno Haible  <bruno@clisp.org>
2822
2823         fsusage: Enable large volume support on AIX >= 5.2.
2824         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
2825         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
2826         instead of STAT_STATVFS.
2827         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
2828
2829         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
2830         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
2831         f_blocks field only on MacOS X.
2832
2833         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
2834         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
2835         * modules/fsusage (Depends-on): Add largefile.
2836
2837 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2838
2839         * README: Modernize discussion of signed integers.
2840         Assuming overflow wraparound is no longer safe.
2841         Mention ones' complement and signed magnitude.
2842
2843 2011-07-22  Bruno Haible  <bruno@clisp.org>
2844
2845         select tests, pselect tests: Refactor.
2846         * tests/test-select.h: New file, extracted from tests/test-select.c.
2847         (select_fn): New type.
2848         (test, do_select, do_select_nowait, do_select_wait, test_tty,
2849         test_connect_first, test_accept_first, test_pair, test_socket_pair,
2850         test_pipe): Add my_select argument.
2851         (test_function): Renamed from main. Add my_select argument.
2852         * tests/test-select.c: Move most code to tests/test-select.h. Include
2853         test-select.h.
2854         * modules/select-tests (Files): Add tests/test-select.h.
2855         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
2856         (my_select, main): New functions.
2857         * modules/pselect-tests (Files): Add tests/test-select.h,
2858         tests/macros.h, tests/signature.h.
2859         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
2860         (configure.ac): Check for <sys/wait.h>.
2861
2862 2011-07-22  Bruno Haible  <bruno@clisp.org>
2863
2864         sys_select tests: Check the signature of FD_*.
2865         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
2866         signature tests from here...
2867         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
2868         here.
2869         * modules/sys_select-tests (Files): Add tests/signature.h.
2870
2871 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2872
2873         largefile: new module, replacing large-inode
2874         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
2875         * MODULES.html.sh: Add largefile, remove large-inode.
2876         * modules/largefile, m4/largefile.m4: New files.
2877         * modules/large-inode, m4/large-inode.m4: Remove.
2878
2879         fsusage: port to MacOS X 10.7 with 4 TiB file systems
2880         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
2881         implementations that use only 32 bits to count blocks.
2882         On typical hosts with 1024-byte blocks, this fails with file
2883         systems as small as 4 TiB.  Problem reported by Herb Wartens
2884         <http://debbugs.gnu.org/9140> and this should also fix a similar
2885         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
2886
2887         large-inode: New module
2888         * MODULES.html.sh: Add it.
2889         * modules/large-inode, m4/large-inode.m4: New files.
2890
2891         extensions: Enable extensions on MacOS X 10.5 and later.
2892         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
2893
2894 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
2895
2896         file-has-acl: use acl_extended_file_nofollow if available
2897         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
2898         (acl_extended_file): New macro.
2899         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
2900         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
2901
2902 2011-07-21  Bruno Haible  <bruno@clisp.org>
2903
2904         Declare system functions in a way that works with C++.
2905         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
2906         declare fdopendir as extern "C".
2907         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
2908         declare frexpl as extern "C".
2909         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
2910         declare gai_strerror as extern "C".
2911         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
2912         programs, declare gai_strerror as extern "C".
2913         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
2914         declare getlogin_r as extern "C".
2915         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
2916         as extern "C".
2917         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
2918         declare ldexpl as extern "C".
2919         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
2920         as extern "C".
2921         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
2922         program, declare getmntinfo as extern "C".
2923         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
2924         stpncpy as extern "C".
2925         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
2926         program, declare __xpg_strerror_r as extern "C".
2927         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
2928         strndup as extern "C".
2929         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
2930         declare memset and bzero as extern "C".
2931         Reported by Sam Steingold <sds@gnu.org>.
2932
2933 2011-07-12  Jim Meyering  <meyering@redhat.com>
2934
2935         maint.mk: prohibit inclusion of "verify.h" without use
2936         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
2937
2938 2011-07-19  Pádraig Brady  <P@draigBrady.com>
2939
2940         timer-time: A new module to check for timer_settime()
2941         * m4/timer_time.m4: Check for the posix function.
2942         * modules/timer-time: Add the new module.
2943         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
2944         Mention it.
2945
2946 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
2947             Bruno Haible  <bruno@clisp.org>
2948
2949         pthread_sigmask: assume POSIX threads if --avoid=threadlib
2950         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
2951         not defined, assume POSIX threads and look for pthread_sigmask in
2952         $LIBS, without changing $CPPFLAGS.
2953
2954 2011-07-19  Bruno Haible  <bruno@clisp.org>
2955
2956         strstr: Update cross-compilation guess.
2957         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
2958         CPUs, guess no, in view of glibc
2959         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
2960         Suggested by Eric Blake. Reported by Reuben Thomas.
2961
2962 2011-07-19  Pádraig Brady  <P@draigBrady.com>
2963
2964         getopt-gnu: suppress core dumps from detection code
2965         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
2966         to suppress core dumps that may well occur on glibc systems.
2967         * modules/getopt-gnu: Depend on nocrash.
2968
2969 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
2970
2971         pthread_sigmask: ensure usleep is declared
2972         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
2973         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
2974
2975 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2976
2977         doc: Document NonStop portability issues.
2978         * doc/posix-functions/sigaction.texi (sigaction):
2979         * doc/posix-headers/signal.texi (signal.h):
2980         Document NonStop.  See Joachim Schmitz in
2981         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
2982
2983 2011-07-15  Bruno Haible  <bruno@clisp.org>
2984
2985         ffsl, ffsll: Avoid unportable behaviour.
2986         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
2987
2988 2011-07-15  Bruno Haible  <bruno@clisp.org>
2989
2990         ffs: More tests.
2991         * tests/test-ffs.c (NBITS): New macro.
2992         (main): Add more tests.
2993         * tests/test-ffsl.c (NBITS): New macro.
2994         (main): Add more tests.
2995         * tests/test-ffsll.c (NBITS): New macro.
2996         (main): Add more tests.
2997
2998 2011-07-15  Eric Blake  <eblake@redhat.com>
2999
3000         ffsl, ffsll: new modules
3001         * modules/ffsl: New file.
3002         * modules/ffsll: Likewise.
3003         * m4/ffsl.m4: Likewise.
3004         * m4/ffsll.m4: Likewise.
3005         * lib/ffsl.c: Likewise.
3006         * lib/ffsl.h: Likewise.
3007         * lib/ffsll.c: Likewise.
3008         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
3009         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
3010         * modules/string (Makefile.am): Substitute witnesses.
3011         * lib/strings.in.h (ffsl, ffsll): Declare.
3012         * modules/ffsl-tests: New test file.
3013         * modules/ffsll-tests: Likewise.
3014         * tests/test-ffsl.c: Likewise.
3015         * tests/test-ffsll.c: Likewise.
3016         * MODULES.html.sh (Integer arithmetic functions): Mention it.
3017         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
3018         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
3019
3020         ffs: fix m4 prerequisite
3021         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
3022
3023         ffs: avoid undefined behavior
3024         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
3025         * tests/test-ffs.c (naive, main): Avoid signed shifts.
3026         Reported by Bruno Haible.
3027
3028 2011-07-12  Bruno Haible  <bruno@clisp.org>
3029
3030         pthread_sigmask: Rely on module 'threadlib'.
3031         * modules/pthread_sigmask (Depends-on): Add threadlib.
3032         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
3033         is defined.
3034
3035 2011-07-12  Bruno Haible  <bruno@clisp.org>
3036
3037         regex: Depend on module 'strcase'.
3038         * modules/regex (Depends-on): Add strcase, for strcasecmp().
3039
3040 2011-07-12  Jim Meyering  <meyering@redhat.com>
3041
3042         warn-on-use: fix typo in file name
3043         * modules/snippet/warn-on-use (Files): Correct file name:
3044         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
3045
3046 2011-07-12  Bruno Haible  <bruno@clisp.org>
3047
3048         strings: Document module.
3049         * doc/posix-headers/strings.texi: Mention module 'strings'.
3050
3051 2011-07-12  Bruno Haible  <bruno@clisp.org>
3052
3053         Rename module '_Noreturn' to 'snippet/_Noreturn'.
3054         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
3055         (Files, Makefile.am): Update.
3056         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
3057         * modules/stdlib (Depends-on): Update.
3058
3059 2011-07-12  Bruno Haible  <bruno@clisp.org>
3060
3061         * NEWS: Mention the changes.
3062
3063         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
3064         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
3065         (Files, Makefile.am): Update.
3066         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
3067         * modules/arpa_inet (Depends-on): Update.
3068         * modules/ctype (Depends-on): Update.
3069         * modules/dirent (Depends-on): Update.
3070         * modules/fcntl-h (Depends-on): Update.
3071         * modules/glob (Depends-on): Update.
3072         * modules/iconv-h (Depends-on): Update.
3073         * modules/inttypes-incomplete (Depends-on): Update.
3074         * modules/langinfo (Depends-on): Update.
3075         * modules/locale (Depends-on): Update.
3076         * modules/math (Depends-on): Update.
3077         * modules/netdb (Depends-on): Update.
3078         * modules/poll-h (Depends-on): Update.
3079         * modules/pty (Depends-on): Update.
3080         * modules/search (Depends-on): Update.
3081         * modules/signal (Depends-on): Update.
3082         * modules/spawn (Depends-on): Update.
3083         * modules/stdio (Depends-on): Update.
3084         * modules/stdlib (Depends-on): Update.
3085         * modules/string (Depends-on): Update.
3086         * modules/strings (Depends-on): Update.
3087         * modules/sys_file (Depends-on): Update.
3088         * modules/sys_ioctl (Depends-on): Update.
3089         * modules/sys_select (Depends-on): Update.
3090         * modules/sys_socket (Depends-on): Update.
3091         * modules/sys_stat (Depends-on): Update.
3092         * modules/sys_time (Depends-on): Update.
3093         * modules/sys_times (Depends-on): Update.
3094         * modules/sys_utsname (Depends-on): Update.
3095         * modules/sys_wait (Depends-on): Update.
3096         * modules/termios (Depends-on): Update.
3097         * modules/time (Depends-on): Update.
3098         * modules/unistd (Depends-on): Update.
3099         * modules/wchar (Depends-on): Update.
3100         * modules/wctype-h (Depends-on): Update.
3101         * MODULES.html.sh (Support for building libraries and executables):
3102         Update.
3103
3104         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
3105         * modules/snippet/unused-parameter: Renamed from
3106         modules/unused-parameter.
3107         (Files, Makefile.am): Update.
3108         * build-aux/snippet/unused-parameter.h: Renamed from
3109         build-aux/unused-parameter.h.
3110         * modules/selinux-h (Depends-on): Update.
3111         * modules/unistr/base (Depends-on): Update.
3112         * MODULES.html.sh (Core language properties): Update.
3113
3114         Rename module 'link-warning' to 'snippet/link-warning'.
3115         * modules/snippet/link-warning: Renamed from modules/link-warning.
3116         (Files, Makefile.am): Update.
3117         * build-aux/snippet/link-warning.h: Renamed from
3118         build-aux/link-warning.h.
3119         * MODULES.html.sh (Support for building libraries and executables):
3120         Update.
3121
3122         Rename module 'c++defs' to 'snippet/c++defs'.
3123         * modules/snippet/c++defs: Renamed from modules/c++defs.
3124         (Files, Makefile.am): Update.
3125         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
3126         * modules/arpa_inet (Depends-on): Update.
3127         * modules/ctype (Depends-on): Update.
3128         * modules/dirent (Depends-on): Update.
3129         * modules/fcntl-h (Depends-on): Update.
3130         * modules/glob (Depends-on): Update.
3131         * modules/iconv-h (Depends-on): Update.
3132         * modules/langinfo (Depends-on): Update.
3133         * modules/locale (Depends-on): Update.
3134         * modules/math (Depends-on): Update.
3135         * modules/netdb (Depends-on): Update.
3136         * modules/poll-h (Depends-on): Update.
3137         * modules/pty (Depends-on): Update.
3138         * modules/search (Depends-on): Update.
3139         * modules/signal (Depends-on): Update.
3140         * modules/spawn (Depends-on): Update.
3141         * modules/stdio (Depends-on): Update.
3142         * modules/stdlib (Depends-on): Update.
3143         * modules/string (Depends-on): Update.
3144         * modules/strings (Depends-on): Update.
3145         * modules/sys_ioctl (Depends-on): Update.
3146         * modules/sys_select (Depends-on): Update.
3147         * modules/sys_socket (Depends-on): Update.
3148         * modules/sys_stat (Depends-on): Update.
3149         * modules/sys_time (Depends-on): Update.
3150         * modules/sys_wait (Depends-on): Update.
3151         * modules/termios (Depends-on): Update.
3152         * modules/time (Depends-on): Update.
3153         * modules/unistd (Depends-on): Update.
3154         * modules/wchar (Depends-on): Update.
3155         * modules/wctype-h (Depends-on): Update.
3156
3157         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
3158         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
3159         (Files, Makefile.am): Update.
3160         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
3161         * modules/argv-iter (Depends-on): Update.
3162         * modules/arpa_inet (Depends-on): Update.
3163         * modules/dirent (Depends-on): Update.
3164         * modules/fcntl-h (Depends-on): Update.
3165         * modules/fnmatch (Depends-on): Update.
3166         * modules/getopt-posix (Depends-on): Update.
3167         * modules/glob (Depends-on): Update.
3168         * modules/iconv-h (Depends-on): Update.
3169         * modules/inttypes-incomplete (Depends-on): Update.
3170         * modules/locale (Depends-on): Update.
3171         * modules/math (Depends-on): Update.
3172         * modules/netdb (Depends-on): Update.
3173         * modules/search (Depends-on): Update.
3174         * modules/signal (Depends-on): Update.
3175         * modules/spawn (Depends-on): Update.
3176         * modules/stdio (Depends-on): Update.
3177         * modules/stdlib (Depends-on): Update.
3178         * modules/string (Depends-on): Update.
3179         * modules/strings (Depends-on): Update.
3180         * modules/sys_socket (Depends-on): Update.
3181         * modules/sys_stat (Depends-on): Update.
3182         * modules/sys_time (Depends-on): Update.
3183         * modules/sys_times (Depends-on): Update.
3184         * modules/sys_utsname (Depends-on): Update.
3185         * modules/time (Depends-on): Update.
3186         * modules/unistd (Depends-on): Update.
3187         * modules/wchar (Depends-on): Update.
3188         * MODULES.html.sh (Support for building libraries and executables):
3189         Update.
3190
3191 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3192
3193         Improvements on _Noreturn and related modules.
3194
3195         modules/_Exit-tests: test _Noreturn too
3196         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
3197         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
3198         (main): Use them.
3199
3200         stdnoreturn, stdnoreturn-tests: remove modules
3201         They're not needed here and a bit premature for use elsewhere.  See
3202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
3203         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3204         * tests/test-stdnoreturn.c: Remove files.
3205         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
3206         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
3207         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
3208         and using noreturn.
3209         * modules/openat, modules/sigpipe-die, modules/xalloc:
3210         * modules/xmemdup0, modules/xstrtol:
3211         Remove dependency on stdnoreturn.
3212
3213         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
3214         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
3215         Reparenthesize to avoid GCC warning.
3216         Support Microsoft's syntax.
3217         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
3218
3219         _Noreturn-tests: remove module
3220         * modules/_Noreturn-tests: Remove.
3221         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
3222         * tests/test-_Noreturn.c: Remove.
3223         * tests/test-stdnoreturn.c: Merge from the old
3224         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
3225
3226 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3227
3228         _Noreturn, stdnoreturn, and related modules.
3229
3230         * top/maint.mk: Adjust to new noreturn support.
3231         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
3232         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
3233
3234         xalloc: use stdnoreturn.h
3235         * lib/xalloc.h: Include <stdnoreturn.h>.
3236         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3237         * modules/xalloc (Depends-on): Add stdnoreturn.
3238
3239         xstrtol: use stdnoreturn.h
3240         * lib/xstrtol.h: Include <stdnoreturn.h>.
3241         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3242         * modules/xstrtol (Depends-on): Add stdnoreturn.
3243
3244         xmemdup0: use stdnoreturn.h
3245         * lib/xmemdup0.h: Include <stdnoreturn.h>.
3246         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3247         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
3248
3249         sigpipe-die: use stdnoreturn.h
3250         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
3251         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3252         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
3253
3254         openat: use stdnoreturn.h
3255         * lib/openat.h: Include <stdnoreturn.h>.
3256         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3257         * modules/openat (Depends-on): Add stdnoreturn.
3258
3259         * lib/openat-die.c (openat_save_fail): Modernize comment.
3260
3261         * lib/xalloc-die.c (xalloc_die): Modernize comment.
3262
3263         * lib/glthread/thread.h: Modernize comment.
3264
3265         obstack: use _Noreturn
3266         * lib/obstack.c (__attribute__): Remove macro.
3267         (print_and_abort): Use _Noreturn.
3268
3269         c-stack: use _Noreturn
3270         * lib/c-stack.c (die, overflow_handler, segv_handler):
3271         Use _Noreturn rather than __attribute__((noreturn)).
3272
3273         argmatch-tests, exclude_tests: use _Noreturn
3274         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
3275         Remove.
3276         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
3277
3278         stdlib: use _Noreturn
3279         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
3280         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
3281         * modules/stdlib (Depends-on): Add _Noreturn.
3282         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
3283
3284         stdnoreturn-tests: new module
3285         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
3286
3287         stdnoreturn: new module
3288         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
3289         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
3290
3291         _Noreturn-tests: new module
3292         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
3293
3294         _Noreturn: new module
3295         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
3296         New section, mentioning it.
3297         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
3298
3299         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
3300
3301 2011-07-11  Eric Blake  <eblake@redhat.com>
3302
3303         ffs: new module
3304         * modules/ffs: New file.
3305         * m4/ffs.m4: Likewise.
3306         * lib/ffs.c: Likewise.
3307         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
3308         * modules/strings (Makefile.am): Substitute witness.
3309         (Depends-on): Add c++defs.
3310         * lib/strings.in.h (ffs): Declare.
3311         * modules/ffs-tests: New test file.
3312         * tests/test-ffs.c: Test new module.
3313         * MODULES.html.sh (Integer arithmetic functions): Mention it.
3314         * doc/posix-functions/ffs.texi (ffs): Likewise.
3315
3316         regex: avoid compiler warning
3317         * lib/regex.c (includes): Include <strings.h>, for use of
3318         strcasecmp in regcomp.c.
3319         Reported by Joachim Schmitz.
3320
3321 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3322
3323         stdint: respect system's intmax_t if INTMAX_MAX
3324         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
3325         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
3326         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
3327         long but int64_t is long long, and where we will clash with the
3328         system intmax_t if we override it.  See
3329         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
3330         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
3331         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
3332         similarly for UINTMAX_C.
3333
3334 2011-07-08  Bruno Haible  <bruno@clisp.org>
3335
3336         pthread_sigmask tests: Avoid a compiler warning.
3337         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
3338         non-zero.
3339
3340         sigprocmask tests: A better way to avoid a compiler warning.
3341         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
3342         (main): Complain if system() returns non-zero.
3343         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
3344
3345 2011-07-08  Bruno Haible  <bruno@clisp.org>
3346
3347         pthread_sigmask: Work around IRIX bug.
3348         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
3349         bug.
3350         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
3351         there may be unblocked pending signals.
3352         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
3353
3354 2011-07-08  Bruno Haible  <bruno@clisp.org>
3355
3356         pthread_sigmask: Work around Cygwin bug.
3357         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
3358         bug.
3359         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
3360         the system's pthread_sigmask function.
3361         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
3362
3363 2011-07-08  Bruno Haible  <bruno@clisp.org>
3364
3365         pthread_sigmask: Work around bug in single-threaded implementation.
3366         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
3367         FreeBSD, HP-UX, Solaris bug.
3368         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
3369         * lib/pthread_sigmask.c: Include <stddef.h>.
3370         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
3371         the system's pthread_sigmask function.
3372         * modules/pthread_sigmask (configure.ac): Invoke
3373         gl_PREREQ_PTHREAD_SIGMASK.
3374         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
3375         HP-UX, Solaris.
3376
3377 2011-07-08  Eric Blake  <eblake@redhat.com>
3378
3379         test-sigprocmask: avoid compiler warning
3380         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
3381         * tests/test-sigprocmask.c (main): Use it to silence warning.
3382         Reported by Jim Meyering.
3383
3384         test-snprintf: avoid compiler warning
3385         * tests/test-snprintf.c (main): Avoid shadowed declaration.
3386         * tests/test-vsnprintf.c (main): Likewise.
3387         Reported by Jim Meyering.
3388
3389 2011-07-08  Bruno Haible  <bruno@clisp.org>
3390
3391         Tests for module 'pthread_sigmask'.
3392         * modules/pthread_sigmask-tests: New file.
3393         * tests/test-pthread_sigmask1.c: New file, based on
3394         tests/test-sigprocmask.c.
3395         * tests/test-pthread_sigmask2.c: New file.
3396
3397 2011-07-08  Jim Meyering  <meyering@redhat.com>
3398
3399         test-getopt.h: avoid warning about an unused variable
3400         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
3401
3402 2011-07-07  Jim Meyering  <meyering@redhat.com>
3403
3404         maint: reduce list of files exempt from sc_prohibit_leading_TABs
3405         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
3406         now that it no longer contains leading TABs.
3407         Remove unused "url=FIXME" statement.
3408
3409 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3410
3411         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
3412         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
3413         When gl_THREADLIB is not in use, assume that the POSIX sematics
3414         are desired.  This is better for Emacs, which uses POSIX semantics
3415         on GNUish and/or POSIXish platforms, and does not use threads at
3416         all otherwise.
3417
3418         pthread_sigmask: fix typo when testing for libraries
3419         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
3420         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
3421
3422 2011-07-08  Eric Blake  <eblake@redhat.com>
3423
3424         fts: introduce FTS_NOATIME
3425         * lib/fts_.h (FTS_NOATIME): New bit flag.
3426         (FTS_OPTIONMASK): Adjust.
3427         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
3428         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
3429
3430 2011-07-08  Bruno Haible  <bruno@clisp.org>
3431
3432         Tests for module 'thread'.
3433         * modules/thread-tests: New file.
3434         * tests/test-thread_self.c: New file.
3435         * tests/test-thread_create.cc: New file.
3436
3437 2011-07-08  Bruno Haible  <bruno@clisp.org>
3438
3439         thread: Avoid gcc warnings when using gl_thread_self().
3440         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
3441         'void *'.
3442         (gl_thread_self_pointer): Update.
3443
3444 2011-07-07  Bruno Haible  <bruno@clisp.org>
3445
3446         signal-c++-tests: Check declaration of pthread_sigmask.
3447         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
3448         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
3449         $(LIB_PTHREAD_SIGMASK).
3450
3451 2011-07-07  Bruno Haible  <bruno@clisp.org>
3452
3453         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
3454         * lib/signal.in.h (pthread_sigmask): Override if
3455         REPLACE_PTHREAD_SIGMASK is 1.
3456         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
3457         REPLACE_PTHREAD_SIGMASK.
3458         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
3459         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
3460         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
3461         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
3462         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
3463
3464 2011-07-07  Bruno Haible  <bruno@clisp.org>
3465
3466         pthread_sigmask: Ensure declaration in <signal.h>.
3467         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
3468         include <pthread.h>.
3469         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
3470         problem.
3471
3472 2011-07-07  Bruno Haible  <bruno@clisp.org>
3473
3474         pthread_sigmask: Document the module.
3475         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
3476
3477 2011-07-07  Bruno Haible  <bruno@clisp.org>
3478
3479         pthread_sigmask: Follow gnulib conventions.
3480         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
3481         gl_PTHREAD_SIGMASK.
3482         * modules/pthread_sigmask (configure.ac): Update.
3483
3484 2011-07-07  Bruno Haible  <bruno@clisp.org>
3485
3486         pthread_sigmask: Make declaration C++ safe.
3487         * lib/signal.in.h: In two special conditions, just do an #include_next.
3488         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
3489         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
3490         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
3491         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
3492         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
3493         not REPLACE_PTHREAD_MASK.
3494         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
3495         not REPLACE_PTHREAD_MASK.
3496         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
3497
3498 2011-07-07  Bruno Haible  <bruno@clisp.org>
3499
3500         pthread_sigmask: Fix return value.
3501         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
3502         * lib/pthread_sigmask.c: New file.
3503         * modules/pthread_sigmask (Files): Add it.
3504         (configure.ac): Invoke AC_LIBOBJ.
3505
3506 2011-07-07  Eric Blake  <eblake@redhat.com>
3507
3508         getopt: more portable argv creation
3509         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
3510         const, use char arrays rather than strings.
3511         Suggested by Paul Eggert.
3512
3513 2011-07-07  Bruno Haible  <bruno@clisp.org>
3514
3515         Tests for module 'sigprocmask'.
3516         * modules/sigprocmask-tests: New file.
3517         * tests/test-sigprocmask.c: New file.
3518
3519 2011-07-07  Bruno Haible  <bruno@clisp.org>
3520
3521         float tests: Tweak.
3522         * tests/test-float.c (main): Tweak skip message.
3523
3524 2011-07-07  Eric Blake  <eblake@redhat.com>
3525
3526         getopt: avoid compiler warning during configure
3527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
3528         assigning string literals to non-const pointer.
3529
3530         getopt-gnu: avoid crash in glibc getopt
3531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
3532         * tests/test-getopt.h (test_getopt): Enhance test.
3533         * tests/test-getopt_long.h (test_getopt_long): Likewise.
3534         * doc/posix-functions/getopt.texi (getopt): Document it.
3535         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3536         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3537         Likewise.
3538
3539 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
3540
3541         getopt: handle W; without long options in getopt [BZ #12922]
3542         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
3543         but no long options are defined, just return 'W'.
3544
3545 2011-07-07  Bruno Haible  <bruno@clisp.org>
3546
3547         Avoid literal tabs.
3548         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
3549         variable containing a tab instead of a literal tab.
3550         Reported by Jim Meyering.
3551
3552 2011-07-07  Bruno Haible  <bruno@clisp.org>
3553
3554         Comments.
3555         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
3556
3557 2011-07-06  Bruno Haible  <bruno@clisp.org>
3558
3559         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
3560         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
3561         <winsock2.h>.
3562         (rpl_fd_isset, FD_ISSET): New definitions, copied from
3563         lib/sys_socket.in.h.
3564         (close, gethostname): Hide declarations from <winsock2.h>.
3565         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
3566         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
3567         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
3568         (select): Don't override if gnulib's <sys/select.h> was already
3569         included.
3570         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3571         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3572         setsockopt, shutdown, select): Tweak indentation.
3573
3574 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3575
3576         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
3577         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
3578         in an application that does not use the sys_select module.
3579
3580 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
3581
3582         poll: do not return 0 on timeout=-1
3583         * lib/poll.c: Loop with yield if no events occured
3584
3585 2011-07-06  Eric Blake  <eblake@redhat.com>
3586
3587         pthread_sigmask: always replace when not using pthread
3588         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
3589         replacement when using some threading other than pthread.  Fix
3590         logic bug.
3591
3592 2011-07-06  Bruno Haible  <bruno@clisp.org>
3593
3594         Comments.
3595         * m4/printf.m4: Update comments about mingw.
3596
3597 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3598
3599         sys_select: define sigset_t more portably
3600         * lib/sys_select.in.h: Always include <sys/types.h>, since
3601         we now need sigset_t and mingw defines it there.
3602         Include <signal.h> before split inclusion guard, to avoid
3603         mishaps on Solaris, whose <signal.h> eventually includes us.
3604         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
3605         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
3606         which come from ...
3607         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
3608         gl_CHECK_TYPE_SIGSET_T.
3609         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
3610         does the real work.
3611         * modules/sys_select (Depends-on): Add 'signal'.
3612
3613         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
3614         Suggested by Bruno Haible.
3615
3616         pselect: Use pthread_sigmask, not sigprocmask.
3617         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
3618         multithreaded apps better than sigprocmask does.
3619         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
3620         sigprocmask directly.
3621
3622 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3623
3624         * lib/pselect.c (pselect): Use plain name, without "rpl_".
3625         Don't #undef,  since we don't need any underlying pselect.
3626         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
3627         (Depends-on): Add select.
3628         (Link): Add $(LIBSOCKET).
3629         These changes suggested by Bruno Haible.
3630
3631         pselect: document better
3632         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
3633         * doc/posix-functions/pselect.texi (pselect): Document new module.
3634
3635         pthread_sigmask: new module
3636         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
3637         * doc/posix-functions/pthread_sigmask.texi: Document new module.
3638         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
3639         This is done only as a macro; I don't know how well that'll
3640         work for C++.  Move <sys/types.h> include before the include_next,
3641         to avoid mishap on Solaris.
3642         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
3643         * modules/signal (Makefile.am): Substitute the check's results.
3644         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
3645
3646         test-pselect: new module
3647         * modules/pselect-tests, tests/test-pselect.c: New files.
3648         * tests/test-select.c, tests/test-sys_select-c++.cc:
3649         If TEST_PSELECT is defined, test pselect instead of testing select.
3650
3651         * tests/test-sys_select.c (sigset_t): Test for it, too.
3652         Suggested by Bruno Haible.
3653
3654 2011-07-05  Eric Blake  <eblake@redhat.com>
3655
3656         snprintf: guarantee %1$d, for libintl
3657         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
3658         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
3659         * doc/posix-functions/snprintf.texi (snprintf): Update.
3660         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
3661         * tests/test-snprintf.c (main): Enhance test.
3662         * tests/test-vsnprintf.c (main): Likewise.
3663
3664 2011-07-05  Jim Meyering  <meyering@redhat.com>
3665
3666         maint: exempt stdio-read.c and stdio-write.c from the cppi check
3667         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
3668         per Bruno's request, to accommodate this idiom (no space after "#")
3669         even when the function is inside an #if block:
3670         char *
3671         gets (char *s)
3672         #undef gets
3673         {
3674           ...
3675         }
3676
3677 2011-07-04  Jim Meyering  <meyering@redhat.com>
3678
3679         maint: indent with spaces, not TABs, and add a rule to check this
3680         * tests/test-userspec.c: Indent with spaces, not TABs.
3681         * tests/test-argp.c: Likewise.
3682         * tests/test-c-stack2.sh: Likewise.
3683         * tests/test-parse-duration.sh: Likewise
3684         * m4/strtod.m4: Likewise.
3685         * m4/alloca.m4: Likewise.
3686         * m4/pselect.m4: Likewise.
3687         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
3688
3689 2011-07-03  Jim Meyering  <meyering@redhat.com>
3690
3691         maint.mk: correct omissions in prohibit_argmatch_without_use check
3692         This rule would mistakenly report that argmatch.h is included without
3693         use even when both the argmatch and invalid_arg macro were used.
3694         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
3695         of argmatch and invalid_arg.
3696
3697 2011-07-03  Bruno Haible  <bruno@clisp.org>
3698
3699         Comments about EINTR.
3700         * lib/safe-read.h: Explain the purpose of this module.
3701         * lib/safe-write.h: Likewise.
3702         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
3703         module.
3704         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
3705         module.
3706         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3707
3708 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3709
3710         xnanosleep: Rewrite to use new dtotimespec module.
3711         It has the conversion code that used to be in xnanosleep.
3712         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
3713         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
3714         (TIME_T_MAX): Remove.
3715         (xnanosleep): Rewrite in terms of dtotimespec.
3716         * modules/xnanosleep (Depends-on): Add dtotimespec.
3717         Remove intprops, stdbool.
3718
3719         timespec-add, timespec-sub: new modules
3720         * lib/timespec.h (timespec_add, timespec_sub): New decls.
3721         * lib/timespec-add.c, lib/timespec-sub.c:
3722         * modules/timespec-add, modules/timespec-sub: New files.
3723
3724         dtotimespec: new module
3725         * lib/timespec.h (dtotimespec): New decl.
3726         * lib/dtotimespec.c, modules/dtotimespec: New files.
3727
3728         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
3729
3730         pselect: new module
3731         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
3732         (pselect): New decls.
3733         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
3734         since the standard pselect decl uses 'restrict'.
3735         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
3736         HAVE_PSELECT, REPLACE_PSELECT.
3737         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
3738         HAVE_PSELECT, REPLACE_PSELECT.
3739         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
3740
3741         sys_select: don't depend on sys_socket
3742         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
3743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
3744         This fix works on GNU and GNU-like platforms, but has not been tested
3745         on native Windows.
3746         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
3747         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
3748         gl_HEADER_SYS_SOCKET.
3749         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
3750         gl_PREREQ_SYS_H_WINSOCK2.
3751
3752 2011-06-29  Eric Blake  <eblake@redhat.com>
3753
3754         pipe2: fix C89 compile problem
3755         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
3756         Reported by Bruno Haible.
3757
3758         pipe, pipe2: don't corrupt fd on error
3759         * lib/pipe.c (pipe): Leave fd unchanged on error.
3760         * lib/pipe2.c (pipe2): Likewise.
3761         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
3762         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
3763
3764 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
3765
3766         mmap-anon: do not use regular expressions inadvertently
3767         * m4/mmap-anon.m4: Remove trailing period from strings sought
3768         in the output.
3769
3770 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
3771
3772         nanosleep: fix integer overflow problem
3773         * lib/nanosleep.c (my_usleep): Don't assume signed integer
3774         arithmetic wraps around on overflow.
3775
3776         nanosleep: simplify carrying
3777         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
3778         first call to the underyling nanosleep, not for the last one.
3779         This doesn't fix any bugs, but it simplifies the computation of
3780         the remaining delay.  Found while auditing integer overflow issues.
3781
3782         dup2: remove test for existence of fcntl
3783         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
3784         "#if HAVE_FCNTL", in the configure-time test program.
3785         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
3786         and therefore speeds up "configure" a bit.  Found while
3787         adding the dup2 module to Emacs.
3788
3789 2011-06-24  Eric Blake  <eblake@redhat.com>
3790
3791         maint.mk: enhance useless header checks
3792         * top/maint.mk (_sc_header_without_use): Check both include
3793         styles.
3794         (sc_prohibit_assert_without_use)
3795         (sc_prohibit_close_stream_without_use)
3796         (sc_prohibit_getopt_without_use)
3797         (sc_prohibit_quotearg_without_use)
3798         (sc_prohibit_quote_without_use)
3799         (sc_prohibit_long_options_without_use)
3800         (sc_prohibit_inttostr_without_use)
3801         (sc_prohibit_ignore_value_without_use)
3802         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
3803         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
3804         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
3805         (sc_prohibit_hash_pjw_without_use)
3806         (sc_prohibit_safe_read_without_use)
3807         (sc_prohibit_argmatch_without_use)
3808         (sc_prohibit_canonicalize_without_use)
3809         (sc_prohibit_root_dev_ino_without_use)
3810         (sc_prohibit_openat_without_use)
3811         (sc_prohibit_c_ctype_without_use)
3812         (sc_prohibit_signal_without_use)
3813         (sc_prohibit_stdio--_without_use)
3814         (sc_prohibit_stdio-safer_without_use)
3815         (sc_prohibit_strings_without_use)
3816         (sc_prohibit_intprops_without_use)
3817         (sc_prohibit_stddef_without_use)
3818         (sc_prohibit_xfreopen_without_use): Update clients.
3819
3820 2011-06-24  Jim Meyering  <meyering@redhat.com>
3821
3822         syntax-check: keep one maint.mk rule in sync with its header
3823         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
3824         of the bug Eric has just fixed, with today's commit 25e4c2ec.
3825         I prefer to avoid temporary files here, so use <(...), but that
3826         is not supported by /bin/sh, so...
3827         (SHELL): Define to /bin/bash.
3828
3829 2011-06-24  Eric Blake  <eblake@redhat.com>
3830
3831         maint.mk: update sc_prohibit_intprops_without_use
3832         * top/maint.mk (_intprops_names): Match recent changes.
3833
3834 2011-06-24  Bruno Haible  <bruno@clisp.org>
3835
3836         strerror-override: No-op tweak.
3837         * lib/strerror-override.h (strerror_override): Reorder conditions,
3838         for consistency with lib/strerror-override.c.
3839
3840 2011-06-23  Eric Blake  <eblake@redhat.com>
3841
3842         maint.mk: test further PATH_MAX issues
3843         * top/maint.mk (sc_prohibit_path_max_array): Rename...
3844         (sc_prohibit_path_max_allocation): ...and also test alloca.
3845         Suggested by Jim Meyering.
3846
3847 2011-06-22  Eric Blake  <eblake@redhat.com>
3848
3849         maint.mk: add syntax-check to avoid char[PATH_MAX]
3850         * top/maint.mk (sc_prohibit_path_max_array): New rule.
3851
3852         stat: be robust to PATH_MAX definition
3853         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
3854         * modules/stat (Depends-on): Add verify.
3855
3856         link: work around IRIX bug
3857         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
3858         * lib/link.c (rpl_link): Work around it.
3859         * tests/test-link.h (test_link): Enhance test.
3860         * doc/posix-functions/link.texi (link): Document the bug.
3861
3862         getopt: silence clang warning
3863         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
3864         dereference.
3865         Reported by Gustavo Martin Domato.
3866
3867 2011-06-22  Jim Meyering  <meyering@redhat.com>
3868
3869         bootstrap: do not insert a blank line into each .gitignore file
3870         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
3871
3872 2011-06-21  Eric Blake  <eblake@redhat.com>
3873
3874         perror: test for output mismatch
3875         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
3876         perror on IRIX.
3877
3878         strerror_r: fix OpenBSD behavior on out-of-range
3879         * lib/strerror_r.c (strerror_r): Always use maximal string.
3880         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3881
3882         strerror_r: fix OpenBSD behavior on 0
3883         * lib/strerror-override.c (strerror_override): Also override 0
3884         when needed.
3885         * lib/strerror-override.h (strerror_override): Likewise.
3886         * lib/strerror.c (strerror): Simplify, now that 0 override is done
3887         earlier.
3888         * lib/strerror_r.c (strerror_r): Likewise.
3889         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
3890         behavior...
3891         (gl_FUNC_STRERROR_0): ...into new macro.
3892         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
3893         is overridden.
3894         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
3895         * modules/strerror-override (Files): Add strerror.m4.
3896         (configure.ac): Also provide override for 0 when needed.
3897         * doc/posix-functions/strerror.texi (strerror): Document this.
3898         * doc/posix-functions/perror.texi (perror): Likewise.
3899
3900         perror: adjust array size
3901         * modules/perror (Depends-on): Add strerror-override.
3902         * lib/perror.c (perror): Use it to avoid magic number.
3903
3904         strerror-override: reduce size
3905         * lib/strerror-override.c (strerror_override): Use fewer lines.
3906
3907 2011-06-20  Bruno Haible  <bruno@clisp.org>
3908
3909         pathmax: Ensure correct value for PATH_MAX on HP-UX.
3910         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
3911
3912 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3913
3914         alloca: port to compilers that can optimize like GCC 4.6.0
3915         * lib/alloca.c (find_stack_direction): New signature, taken from
3916         Autoconf git.  This works with GCC 4.6.0.  This code should never
3917         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
3918         be used with other compilers that optimize as well as GCC 4.6.0 does.
3919         (alloca): Adjust to new signature.
3920         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
3921         New macro, which patches Autoconf in a similar way.
3922
3923         c-stack: stop worrying about stack direction
3924         * lib/c-stack.c (find_stack_direction): Remove.
3925         (segv_handler): Don't worry about stack direction growth, as it's
3926         too much of a pain to configure this correctly, given how compilers
3927         are optimizing-away our stack-growth detection code.  Instead, assume
3928         that any access to just before or just after the stack is OK.
3929         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3930         Don't require AC_FUNC_ALLOCA; no longer needed.
3931
3932 2011-06-20  Eric Blake  <eblake@redhat.com>
3933
3934         test-stat: don't allocate PATH_MAX bytes
3935         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
3936         PATH_MAX-sized buffer.
3937         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
3938         * modules/stat-tests (Depends-on): Likewise.
3939         * tests/test-fstatat.c (includes): Drop pathmax.h.
3940         * tests/test-stat.c (includes): Likewise.
3941         Reported by Bruno Haible.
3942
3943 2011-06-20  Bruno Haible  <bruno@clisp.org>
3944
3945         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
3946         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
3947         * lib/float.c: New file.
3948         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
3949         REPLACE_FLOAT_LDBL.
3950         * modules/float (Files): Add lib/float.c.
3951         (configure.ac): Invoke AC_LIBOBJ.
3952         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
3953
3954 2011-06-20  Bruno Haible  <bruno@clisp.org>
3955
3956         Tests for module 'float'.
3957         * modules/float-tests: New file.
3958         * tests/test-float.c: New file.
3959
3960 2011-06-19  Bruno Haible  <bruno@clisp.org>
3961
3962         isinf: Coding style.
3963         * lib/isinf.c: Use GNU coding style.
3964
3965 2011-06-19  Bruno Haible  <bruno@clisp.org>
3966
3967         linkat test: Avoid test failure on AIX 7.1.
3968         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
3969         * tests/test-link.h (test_link): Likewise.
3970
3971 2011-06-19  Bruno Haible  <bruno@clisp.org>
3972
3973         pread test: Avoid test failure on OpenBSD 4.9.
3974         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
3975
3976 2011-06-19  Bruno Haible  <bruno@clisp.org>
3977
3978         sprintf-posix: Fix test failure on AIX 7.1.
3979         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
3980         * doc/posix-functions/dprintf.texi: Mention limited precision problem
3981         on AIX.
3982         * doc/posix-functions/fprintf.texi: Likewise.
3983         * doc/posix-functions/printf.texi: Likewise.
3984         * doc/posix-functions/snprintf.texi: Likewise.
3985         * doc/posix-functions/sprintf.texi: Likewise.
3986         * doc/posix-functions/vdprintf.texi: Likewise.
3987         * doc/posix-functions/vfprintf.texi: Likewise.
3988         * doc/posix-functions/vprintf.texi: Likewise.
3989         * doc/posix-functions/vsnprintf.texi: Likewise.
3990         * doc/posix-functions/vsprintf.texi: Likewise.
3991
3992 2011-06-19  Bruno Haible  <bruno@clisp.org>
3993
3994         roundl-ieee: Fix test failure on AIX 7.1.
3995         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
3996         * doc/posix-functions/roundl.texi: Mention problem with negative
3997         arguments.
3998
3999 2011-06-19  Bruno Haible  <bruno@clisp.org>
4000
4001         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
4002         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
4003         * doc/posix-functions/round.texi: Mention problem with negative
4004         arguments.
4005         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
4006
4007 2011-06-19  Bruno Haible  <bruno@clisp.org>
4008
4009         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
4010         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
4011         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
4012         * doc/posix-functions/roundf.texi: Mention problem with negative
4013         arguments.
4014         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
4015
4016 2011-06-19  Bruno Haible  <bruno@clisp.org>
4017
4018         ceilf-ieee: Work around bug on MacOS X 10.5.
4019         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
4020
4021         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
4022         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
4023         IEEE compliant, avoid compiler optimizations.
4024         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
4025         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4026         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
4027         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4028         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4029         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4030         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4031         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4032         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4033         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
4034
4035 2011-06-19  Bruno Haible  <bruno@clisp.org>
4036
4037         ceilf-ieee: Work around bug on AIX 7.1.
4038         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
4039         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
4040
4041 2011-06-19  Bruno Haible  <bruno@clisp.org>
4042
4043         ceil-ieee: Work around bug on AIX 7.1.
4044         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
4045         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
4046
4047 2011-06-18  Bruno Haible  <bruno@clisp.org>
4048
4049         fsync test: Avoid test failure on MacOS X and AIX.
4050         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
4051         EINVAL.
4052
4053 2011-06-18  Bruno Haible  <bruno@clisp.org>
4054
4055         openat, fdopendir tests: Fix link errors.
4056         * modules/openat-tests (Depends-on): Add progname.
4057         * modules/fdopendir-tests (Depends-on): Likewise.
4058         * tests/test-fchownat.c: Include progname.h.
4059         (main): Call set_program_name.
4060         * tests/test-fstatat.c: Include progname.h.
4061         (main): Call set_program_name.
4062         * tests/test-mkdirat.c: Include progname.h.
4063         (main): Call set_program_name.
4064         * tests/test-openat.c: Include progname.h.
4065         (main): Call set_program_name.
4066         * tests/test-unlinkat.c: Include progname.h.
4067         (main): Call set_program_name.
4068         * tests/test-fdopendir.c: Include progname.h.
4069         (main): Call set_program_name.
4070
4071 2011-06-18  Bruno Haible  <bruno@clisp.org>
4072
4073         Doc update.
4074         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
4075         HP-UX.
4076         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
4077
4078 2011-06-18  Bruno Haible  <bruno@clisp.org>
4079
4080         getcwd tests: Avoid compilation error on HP-UX 11.31.
4081         * modules/getcwd-tests (Depends-on): Add pathmax.
4082         * tests/test-getcwd.c: Include pathmax.h.
4083
4084 2011-06-18  Bruno Haible  <bruno@clisp.org>
4085
4086         isfinite, isinf: Fix link error on AIX 6 and 7.
4087         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
4088         needed, also test the macro with a 'float' argument.
4089         * m4/isinf.m4 (gl_ISINF): Likewise.
4090
4091 2011-06-18  Bruno Haible  <bruno@clisp.org>
4092
4093         getloadavg: Don't clobber LIBS. Regression from previous commit.
4094         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
4095         AC_CHECK_LIB from here...
4096         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
4097         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
4098         gl_func_getloadavg_done.
4099         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4100
4101 2011-06-18  Bruno Haible  <bruno@clisp.org>
4102
4103         clean-temp: Improve documentation.
4104         * lib/clean-temp.h: Explain better how to use this module.
4105         Reported by John Darrington <john@darrington.wattle.id.au>.
4106
4107 2011-06-17  Bruno Haible  <bruno@clisp.org>
4108
4109         pread, pwrite: Avoid cc warning on AIX.
4110         * lib/unistd.in.h (pread): Undefine before defining as a macro.
4111         (pwrite): Likewise.
4112
4113 2011-06-17  Bruno Haible  <bruno@clisp.org>
4114
4115         spawn-pipe tests: Fix link error.
4116         * tests/test-spawn-pipe-child.c: Undefine fprintf.
4117         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4118
4119 2011-06-17  Bruno Haible  <bruno@clisp.org>
4120
4121         Tests: Remove unnecessary dependency.
4122         * modules/canonicalize-tests (Depends-on): Remove progname.
4123         * modules/chown-tests (Depends-on): Likewise.
4124         * modules/dirname-tests (Depends-on): Likewise.
4125         * modules/fdopendir-tests (Depends-on): Likewise.
4126         * modules/fdutimensat-tests (Depends-on): Likewise.
4127         * modules/hash-tests (Depends-on): Likewise.
4128         * modules/lchown-tests (Depends-on): Likewise.
4129         * modules/linkat-tests (Depends-on): Likewise.
4130         * modules/renameat-tests (Depends-on): Likewise.
4131         * modules/spawn-pipe-tests (Depends-on): Likewise.
4132         * modules/utimensat-tests (Depends-on): Likewise.
4133
4134 2011-06-17  Bruno Haible  <bruno@clisp.org>
4135
4136         spawn-pipe tests: Fix link error.
4137         * tests/test-spawn-pipe-child.c: Undefine fflush.
4138
4139 2011-06-17  Bruno Haible  <bruno@clisp.org>
4140
4141         Fix tests link errors.
4142         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
4143         * modules/chown-tests (Makefile.am): Don't link test-chown with
4144         LIBINTL.
4145         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
4146         LIBINTL.
4147         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
4148         LIBINTL.
4149         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
4150         LIBINTL.
4151
4152 2011-06-16  Bruno Haible  <bruno@clisp.org>
4153
4154         crypto/gc-sha1: Fix recent regression.
4155         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
4156         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
4157
4158         crypto/gc-md5: Fix recent regression.
4159         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
4160
4161         crypto/gc-md4: Fix recent regression.
4162         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
4163         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
4164
4165         crypto/gc-arctwo: Fix recent regression.
4166         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
4167         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
4168
4169         crypto/gc-rijndael: Fix recent regression.
4170         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
4171         (configure.ac): Invoke AC_LIBOBJ here.
4172         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
4173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4174
4175         crypto/gc-hmac-sha1: Fix recent regression.
4176         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
4177         (configure.ac): Invoke AC_LIBOBJ here.
4178         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
4179         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4180
4181         crypto/gc-hmac-md5: Fix recent regression.
4182         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
4183         (configure.ac): Invoke AC_LIBOBJ here.
4184         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
4185         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4186
4187         crypto/gc-des: Fix recent regression.
4188         * modules/crypto/gc-des (Files): Remove m4/des.m4.
4189         (configure.ac): Invoke AC_LIBOBJ here.
4190         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
4191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4192
4193         crypto/gc-arcfour: Fix recent regression.
4194         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
4195         (configure.ac): Invoke AC_LIBOBJ here.
4196         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
4197         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4198
4199 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
4200
4201         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
4202         After the 2011-05-21 change, this macro requires
4203         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
4204         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
4205
4206 2011-06-16  Bruno Haible  <bruno@clisp.org>
4207
4208         fprintftime: Move AC_LIBOBJ invocations to module description.
4209         * m4/fprintftime.m4: Remove file.
4210         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
4211         (configure.ac): Remove gl_FPRINTFTIME call.
4212         (Makefile.am): Augment lib_SOURCES.
4213         Reported by Jim Meyering.
4214
4215 2011-06-16  Bruno Haible  <bruno@clisp.org>
4216
4217         tmpfile-safer: Finish 2011-05-23 commit.
4218         * m4/stdio-safer.m4: Really remove file.
4219         Reported by Jim Meyering.
4220
4221 2011-06-16  Bruno Haible  <bruno@clisp.org>
4222
4223         syntax-check: Fix typo.
4224         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
4225         printf-posix.m4.
4226         Reported by Jim Meyering.
4227
4228 2011-06-13  Jim Meyering  <meyering@redhat.com>
4229
4230         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
4231         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
4232
4233 2011-05-23  Bruno Haible  <bruno@clisp.org>
4234
4235         yesno: Move AC_LIBOBJ invocations to module description.
4236         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
4237         * modules/yesno (Makefile.am): Augment lib_SOURCES.
4238
4239 2011-05-23  Bruno Haible  <bruno@clisp.org>
4240
4241         xstrtol: Move AC_LIBOBJ invocations to module description.
4242         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
4243         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
4244
4245 2011-05-23  Bruno Haible  <bruno@clisp.org>
4246
4247         xstrtold: Move AC_LIBOBJ invocations to module description.
4248         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
4249         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
4250
4251 2011-05-23  Bruno Haible  <bruno@clisp.org>
4252
4253         xstrtod: Move AC_LIBOBJ invocations to module description.
4254         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
4255         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
4256
4257 2011-05-23  Bruno Haible  <bruno@clisp.org>
4258
4259         xnanosleep: Move AC_LIBOBJ invocations to module description.
4260         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
4261         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
4262
4263 2011-05-23  Bruno Haible  <bruno@clisp.org>
4264
4265         xgetcwd: Move AC_LIBOBJ invocations to module description.
4266         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
4267         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
4268
4269 2011-05-23  Bruno Haible  <bruno@clisp.org>
4270
4271         xalloc: Move AC_LIBOBJ invocations to module description.
4272         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
4273         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
4274
4275 2011-05-23  Bruno Haible  <bruno@clisp.org>
4276
4277         write-any-file: Move AC_LIBOBJ invocations to module description.
4278         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
4279         invocation.
4280         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
4281
4282 2011-05-23  Bruno Haible  <bruno@clisp.org>
4283
4284         utimens: Move AC_LIBOBJ invocations to module description.
4285         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
4286         * modules/utimens (Makefile.am): Augment lib_SOURCES.
4287
4288 2011-05-23  Bruno Haible  <bruno@clisp.org>
4289
4290         utimecmp: Move AC_LIBOBJ invocations to module description.
4291         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
4292         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
4293
4294 2011-05-23  Bruno Haible  <bruno@clisp.org>
4295
4296         userspec: Move AC_LIBOBJ invocations to module description.
4297         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
4298         * modules/userspec (Makefile.am): Augment lib_SOURCES.
4299
4300 2011-05-23  Bruno Haible  <bruno@clisp.org>
4301
4302         unlinkdir: Move AC_LIBOBJ invocations to module description.
4303         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
4304         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
4305
4306 2011-05-23  Bruno Haible  <bruno@clisp.org>
4307
4308         unistd-safer: Move AC_LIBOBJ invocations to module description.
4309         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
4310         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
4311
4312 2011-05-23  Bruno Haible  <bruno@clisp.org>
4313
4314         tempname: Move AC_LIBOBJ invocations to module description.
4315         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
4316         * modules/tempname (Makefile.am): Augment lib_SOURCES.
4317
4318 2011-05-23  Bruno Haible  <bruno@clisp.org>
4319
4320         strftime: Move AC_LIBOBJ invocations to module description.
4321         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
4322         * modules/strftime (Makefile.am): Augment lib_SOURCES.
4323
4324 2011-05-23  Bruno Haible  <bruno@clisp.org>
4325
4326         stdlib-safer: Move AC_LIBOBJ invocations to module description.
4327         * m4/stdlib-safer.m4: Remove file.
4328         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
4329         (configure.ac): Remove gl_STDLIB_SAFER call.
4330         (Makefile.am): Augment lib_SOURCES.
4331
4332 2011-05-23  Bruno Haible  <bruno@clisp.org>
4333
4334         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
4335         * m4/stdio-safer.m4: Remove file.
4336         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
4337         (configure.ac): Remove gl_TMPFILE_SAFER call.
4338         (Makefile.am): Augment lib_SOURCES.
4339
4340 2011-05-23  Bruno Haible  <bruno@clisp.org>
4341
4342         popen-safer: Move AC_LIBOBJ invocations to module description.
4343         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
4344         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
4345         (configure.ac): Remove gl_POPEN_SAFER call.
4346         (Makefile.am): Augment lib_SOURCES.
4347
4348 2011-05-23  Bruno Haible  <bruno@clisp.org>
4349
4350         freopen-safer: Move AC_LIBOBJ invocations to module description.
4351         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
4352         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
4353         (configure.ac): Remove gl_FREOPEN_SAFER call.
4354         (Makefile.am): Augment lib_SOURCES.
4355
4356 2011-05-23  Bruno Haible  <bruno@clisp.org>
4357
4358         fopen-safer: Move AC_LIBOBJ invocations to module description.
4359         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
4360         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
4361         (configure.ac): Remove gl_FOPEN_SAFER call.
4362         (Makefile.am): Augment lib_SOURCES.
4363
4364 2011-05-23  Bruno Haible  <bruno@clisp.org>
4365
4366         crypto/sha512: Move AC_LIBOBJ invocations to module description.
4367         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
4368         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
4369
4370 2011-05-23  Bruno Haible  <bruno@clisp.org>
4371
4372         crypto/sha256: Move AC_LIBOBJ invocations to module description.
4373         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
4374         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
4375
4376 2011-05-23  Bruno Haible  <bruno@clisp.org>
4377
4378         crypto/sha1: Move AC_LIBOBJ invocations to module description.
4379         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
4380         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
4381
4382 2011-05-23  Bruno Haible  <bruno@clisp.org>
4383
4384         settime: Move AC_LIBOBJ invocations to module description.
4385         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
4386         * modules/settime (Makefile.am): Augment lib_SOURCES.
4387
4388 2011-05-23  Bruno Haible  <bruno@clisp.org>
4389
4390         savedir: Move AC_LIBOBJ invocations to module description.
4391         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
4392         * modules/savedir (Makefile.am): Augment lib_SOURCES.
4393
4394 2011-05-23  Bruno Haible  <bruno@clisp.org>
4395
4396         save-cwd: Move AC_LIBOBJ invocations to module description.
4397         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
4398         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
4399
4400 2011-05-23  Bruno Haible  <bruno@clisp.org>
4401
4402         same: Move AC_LIBOBJ invocations to module description.
4403         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
4404         * modules/same (Makefile.am): Augment lib_SOURCES.
4405
4406 2011-05-23  Bruno Haible  <bruno@clisp.org>
4407
4408         safe-write: Move AC_LIBOBJ invocations to module description.
4409         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
4410         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
4411         instead of gl_SAFE_WRITE.
4412         (Makefile.am): Augment lib_SOURCES.
4413
4414 2011-05-23  Bruno Haible  <bruno@clisp.org>
4415
4416         safe-read: Move AC_LIBOBJ invocations to module description.
4417         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
4418         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
4419         of gl_SAFE_READ.
4420         (Makefile.am): Augment lib_SOURCES.
4421
4422 2011-05-23  Bruno Haible  <bruno@clisp.org>
4423
4424         safe-alloc: Move AC_LIBOBJ invocations to module description.
4425         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
4426         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
4427
4428 2011-05-23  Bruno Haible  <bruno@clisp.org>
4429
4430         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
4431         * m4/rijndael.m4: Remove file.
4432         * modules/crypto/rijndael (Files): Remove it.
4433         (configure.ac): Remove gl_RIJNDAEL call.
4434         (Makefile.am): Augment lib_SOURCES.
4435
4436 2011-05-23  Bruno Haible  <bruno@clisp.org>
4437
4438         readtokens: Move AC_LIBOBJ invocations to module description.
4439         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
4440         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
4441
4442 2011-05-23  Bruno Haible  <bruno@clisp.org>
4443
4444         read-file: Move AC_LIBOBJ invocations to module description.
4445         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
4446         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
4447         of gl_FUNC_READ_FILE.
4448         (Makefile.am): Augment lib_SOURCES.
4449
4450 2011-05-23  Bruno Haible  <bruno@clisp.org>
4451
4452         quotearg: Move AC_LIBOBJ invocations to module description.
4453         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
4454         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
4455
4456 2011-05-23  Bruno Haible  <bruno@clisp.org>
4457
4458         quote: Move AC_LIBOBJ invocations to module description.
4459         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
4460         * modules/quote (Makefile.am): Augment lib_SOURCES.
4461
4462 2011-05-23  Bruno Haible  <bruno@clisp.org>
4463
4464         posixver: Move AC_LIBOBJ invocations to module description.
4465         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
4466         * modules/posixver (Makefile.am): Augment lib_SOURCES.
4467
4468 2011-05-23  Bruno Haible  <bruno@clisp.org>
4469
4470         posixtm: Move AC_LIBOBJ invocations to module description.
4471         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
4472         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
4473
4474 2011-05-23  Bruno Haible  <bruno@clisp.org>
4475
4476         physmem: Move AC_LIBOBJ invocations to module description.
4477         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
4478         * modules/physmem (Makefile.am): Augment lib_SOURCES.
4479
4480 2011-05-23  Bruno Haible  <bruno@clisp.org>
4481
4482         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
4483         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
4484         invocation.
4485         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
4486
4487 2011-05-23  Bruno Haible  <bruno@clisp.org>
4488
4489         mpsort: Move AC_LIBOBJ invocations to module description.
4490         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
4491         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
4492
4493 2011-05-23  Bruno Haible  <bruno@clisp.org>
4494
4495         modechange: Move AC_LIBOBJ invocations to module description.
4496         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
4497         * modules/modechange (Makefile.am): Augment lib_SOURCES.
4498
4499 2011-05-23  Bruno Haible  <bruno@clisp.org>
4500
4501         mkdir-p: Move AC_LIBOBJ invocations to module description.
4502         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
4503         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
4504
4505 2011-05-23  Bruno Haible  <bruno@clisp.org>
4506
4507         mkancesdirs: Move AC_LIBOBJ invocations to module description.
4508         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
4509         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
4510
4511 2011-05-23  Bruno Haible  <bruno@clisp.org>
4512
4513         mgetgroups: Move AC_LIBOBJ invocations to module description.
4514         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
4515         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
4516
4517 2011-05-23  Bruno Haible  <bruno@clisp.org>
4518
4519         memxor: Move AC_LIBOBJ invocations to module description.
4520         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
4521         * modules/memxor (Makefile.am): Augment lib_SOURCES.
4522
4523 2011-05-23  Bruno Haible  <bruno@clisp.org>
4524
4525         memcoll: Move AC_LIBOBJ invocations to module description.
4526         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
4527         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
4528
4529 2011-05-23  Bruno Haible  <bruno@clisp.org>
4530
4531         memcasecmp: Move AC_LIBOBJ invocations to module description.
4532         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
4533         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
4534
4535 2011-05-23  Bruno Haible  <bruno@clisp.org>
4536
4537         crypto/md5: Move AC_LIBOBJ invocations to module description.
4538         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
4539         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
4540
4541 2011-05-23  Bruno Haible  <bruno@clisp.org>
4542
4543         crypto/md4: Move AC_LIBOBJ invocations to module description.
4544         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
4545         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
4546
4547 2011-05-23  Bruno Haible  <bruno@clisp.org>
4548
4549         crypto/md2: Move AC_LIBOBJ invocations to module description.
4550         * m4/md2.m4: Remove file.
4551         * modules/crypto/md2 (Files): Remove it.
4552         (configure.ac): Remove gl_MD2 call.
4553         (Makefile.am): Augment lib_SOURCES.
4554
4555 2011-05-23  Bruno Haible  <bruno@clisp.org>
4556
4557         long-options: Move AC_LIBOBJ invocations to module description.
4558         * m4/long-options.m4: Remove file.
4559         * modules/long-options (Files): Remove it.
4560         (configure.ac): Remove gl_LONG_OPTIONS call.
4561         (Makefile.am): Augment lib_SOURCES.
4562
4563 2011-05-23  Bruno Haible  <bruno@clisp.org>
4564
4565         i-ring: Move AC_LIBOBJ invocations to module description.
4566         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
4567         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
4568
4569 2011-05-23  Bruno Haible  <bruno@clisp.org>
4570
4571         idcache: Move AC_LIBOBJ invocations to module description.
4572         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
4573         * modules/idcache (Makefile.am): Augment lib_SOURCES.
4574
4575 2011-05-23  Bruno Haible  <bruno@clisp.org>
4576
4577         human: Move AC_LIBOBJ invocations to module description.
4578         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
4579         * modules/human (Makefile.am): Augment lib_SOURCES.
4580
4581 2011-05-23  Bruno Haible  <bruno@clisp.org>
4582
4583         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
4584         * m4/hmac-sha1.m4: Remove file.
4585         * modules/crypto/hmac-sha1 (Files): Remove it.
4586         (configure.ac): Remove gl_HMAC_SHA1 call.
4587         (Makefile.am): Augment lib_SOURCES.
4588
4589 2011-05-23  Bruno Haible  <bruno@clisp.org>
4590
4591         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
4592         * m4/hmac-md5.m4: Remove file.
4593         * modules/crypto/hmac-md5 (Files): Remove it.
4594         (configure.ac): Remove gl_HMAC_MD5 call.
4595         (Makefile.am): Augment lib_SOURCES.
4596
4597 2011-05-23  Bruno Haible  <bruno@clisp.org>
4598
4599         hash: Move AC_LIBOBJ invocations to module description.
4600         * m4/hash.m4: Remove file.
4601         * modules/hash (Files): Remove it.
4602         (configure.ac): Remove gl_HASH call.
4603         (Makefile.am): Augment lib_SOURCES.
4604
4605 2011-05-23  Bruno Haible  <bruno@clisp.org>
4606
4607         hard-locale: Move AC_LIBOBJ invocations to module description.
4608         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
4609         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
4610
4611 2011-05-23  Bruno Haible  <bruno@clisp.org>
4612
4613         getugroups: Move AC_LIBOBJ invocations to module description.
4614         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
4615         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
4616
4617 2011-05-23  Bruno Haible  <bruno@clisp.org>
4618
4619         gettime: Move AC_LIBOBJ invocations to module description.
4620         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
4621         * modules/gettime (Makefile.am): Augment lib_SOURCES.
4622
4623 2011-05-23  Bruno Haible  <bruno@clisp.org>
4624
4625         getndelim2: Move AC_LIBOBJ invocations to module description.
4626         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
4627         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
4628
4629 2011-05-23  Bruno Haible  <bruno@clisp.org>
4630
4631         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
4632         * m4/gc-pbkdf2-sha1.m4: Remove file.
4633         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
4634         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
4635         (Makefile.am): Augment lib_SOURCES.
4636
4637 2011-05-23  Bruno Haible  <bruno@clisp.org>
4638
4639         fts: Move AC_LIBOBJ invocations to module description.
4640         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
4641         * modules/fts (configure.ac): ... to here.
4642
4643 2011-05-23  Bruno Haible  <bruno@clisp.org>
4644
4645         file-type: Move AC_LIBOBJ invocations to module description.
4646         * m4/file-type.m4: Remove file.
4647         * modules/file-type (Files): Remove it.
4648         (configure.ac): Remove gl_FILE_TYPE call.
4649         (Makefile.am): Augment lib_SOURCES.
4650
4651 2011-05-23  Bruno Haible  <bruno@clisp.org>
4652
4653         filenamecat*: Respect rules for use of AC_LIBOBJ.
4654         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
4655         Remove AC_LIBOBJ invocation.
4656         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
4657         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
4658
4659 2011-05-23  Bruno Haible  <bruno@clisp.org>
4660
4661         filemode: Move AC_LIBOBJ invocations to module description.
4662         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
4663         * modules/filemode (Makefile.am): Augment lib_SOURCES.
4664
4665 2011-05-23  Bruno Haible  <bruno@clisp.org>
4666
4667         openat-safer: Move AC_LIBOBJ invocations to module description.
4668         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
4669         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
4670
4671 2011-05-23  Bruno Haible  <bruno@clisp.org>
4672
4673         fcntl-safer: Move AC_LIBOBJ invocations to module description.
4674         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
4675         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
4676
4677 2011-05-23  Bruno Haible  <bruno@clisp.org>
4678
4679         exclude: Move AC_LIBOBJ invocations to module description.
4680         * m4/exclude.m4: Remove file.
4681         * modules/exclude (Files): Remove it.
4682         (configure.ac): Remove gl_EXCLUDE call.
4683         (Makefile.am): Augment lib_SOURCES.
4684
4685 2011-05-23  Bruno Haible  <bruno@clisp.org>
4686
4687         dirname*: Respect rules for use of AC_LIBOBJ.
4688         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
4689         invocations.
4690         * modules/dirname (Makefile.am): Augment lib_SOURCES.
4691         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
4692
4693 2011-05-23  Bruno Haible  <bruno@clisp.org>
4694
4695         dirent-safer: Move AC_LIBOBJ invocations to module description.
4696         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
4697         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
4698
4699 2011-05-23  Bruno Haible  <bruno@clisp.org>
4700
4701         crypto/des: Move AC_LIBOBJ invocations to module description.
4702         * m4/des.m4: Remove file.
4703         * modules/crypto/des (Files): Remove it.
4704         (configure.ac): Remove gl_DES call.
4705         (Makefile.am): Augment lib_SOURCES.
4706
4707 2011-05-23  Bruno Haible  <bruno@clisp.org>
4708
4709         cycle-check: Move AC_LIBOBJ invocations to module description.
4710         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
4711         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
4712
4713 2011-05-23  Bruno Haible  <bruno@clisp.org>
4714
4715         c-strtold: Move AC_LIBOBJ invocations to module description.
4716         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
4717         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
4718
4719 2011-05-23  Bruno Haible  <bruno@clisp.org>
4720
4721         c-strtod: Move AC_LIBOBJ invocations to module description.
4722         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
4723         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
4724
4725 2011-05-23  Bruno Haible  <bruno@clisp.org>
4726
4727         crc: Move AC_LIBOBJ invocations to module description.
4728         * m4/crc.m4: Remove file.
4729         * modules/crc (Files): Remove it.
4730         (configure.ac): Remove gl_CRC call.
4731         (Makefile.am): Augment lib_SOURCES.
4732
4733 2011-05-23  Bruno Haible  <bruno@clisp.org>
4734
4735         close-stream: Move AC_LIBOBJ invocations to module description.
4736         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
4737         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
4738
4739 2011-05-23  Bruno Haible  <bruno@clisp.org>
4740
4741         closeout: Move AC_LIBOBJ invocations to module description.
4742         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
4743         * modules/closeout (Makefile.am): Augment lib_SOURCES.
4744
4745 2011-05-23  Bruno Haible  <bruno@clisp.org>
4746
4747         closein: Move AC_LIBOBJ invocations to module description.
4748         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
4749         * modules/closein (Makefile.am): Augment lib_SOURCES.
4750
4751 2011-05-23  Bruno Haible  <bruno@clisp.org>
4752
4753         cloexec: Move AC_LIBOBJ invocations to module description.
4754         * m4/cloexec.m4: Remove file.
4755         * modules/cloexec (Files): Remove it.
4756         (configure.ac): Remove gl_CLOEXEC call.
4757         (Makefile.am): Augment lib_SOURCES.
4758
4759 2011-05-23  Bruno Haible  <bruno@clisp.org>
4760
4761         check-version: Move AC_LIBOBJ invocations to module description.
4762         * m4/check-version.m4: Remove file.
4763         * modules/check-version (Files): Remove it.
4764         (configure.ac): Remove gl_CHECK_VERSION call.
4765         (Makefile.am): Augment lib_SOURCES.
4766
4767 2011-05-23  Bruno Haible  <bruno@clisp.org>
4768
4769         chdir-safer: Move AC_LIBOBJ invocations to module description.
4770         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
4771         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
4772
4773 2011-05-23  Bruno Haible  <bruno@clisp.org>
4774
4775         canonicalize: Move AC_LIBOBJ invocations to module description.
4776         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
4777         AC_LIBOBJ invocation.
4778         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
4779
4780 2011-05-23  Bruno Haible  <bruno@clisp.org>
4781
4782         canon-host: Move AC_LIBOBJ invocations to module description.
4783         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
4784         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
4785         instead of gl_CANON_HOST.
4786         (Makefile.am): Augment lib_SOURCES.
4787
4788 2011-05-23  Bruno Haible  <bruno@clisp.org>
4789
4790         backupfile: Move AC_LIBOBJ invocations to module description.
4791         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
4792         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
4793
4794 2011-05-23  Bruno Haible  <bruno@clisp.org>
4795
4796         argmatch: Move AC_LIBOBJ invocations to module description.
4797         * m4/argmatch.m4: Remove file.
4798         * modules/argmatch (Files): Remove it.
4799         (configure.ac): Remove gl_ARGMATCH call.
4800         (Makefile.am): Augment lib_SOURCES.
4801
4802 2011-05-23  Bruno Haible  <bruno@clisp.org>
4803
4804         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
4805         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
4806         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
4807
4808 2011-05-23  Bruno Haible  <bruno@clisp.org>
4809
4810         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
4811         * m4/arcfour.m4: Remove file.
4812         * modules/crypto/arcfour (Files): Remove it.
4813         (configure.ac): Remove gl_ARCFOUR call.
4814         (Makefile.am): Augment lib_SOURCES.
4815
4816 2011-05-22  Bruno Haible  <bruno@clisp.org>
4817
4818         write: Move AC_LIBOBJ invocations to module description.
4819         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
4820         * modules/write (configure.ac): ... to here.
4821
4822 2011-05-22  Bruno Haible  <bruno@clisp.org>
4823
4824         wmemset: Move AC_LIBOBJ invocations to module description.
4825         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
4826         here...
4827         * modules/wmemset (configure.ac): ... to here.
4828
4829 2011-05-22  Bruno Haible  <bruno@clisp.org>
4830
4831         wmemmove: Move AC_LIBOBJ invocations to module description.
4832         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
4833         here...
4834         * modules/wmemmove (configure.ac): ... to here.
4835
4836 2011-05-22  Bruno Haible  <bruno@clisp.org>
4837
4838         wmemcpy: Move AC_LIBOBJ invocations to module description.
4839         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
4840         here...
4841         * modules/wmemcpy (configure.ac): ... to here.
4842
4843 2011-05-22  Bruno Haible  <bruno@clisp.org>
4844
4845         wmemcmp: Move AC_LIBOBJ invocations to module description.
4846         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
4847         here...
4848         * modules/wmemcmp (configure.ac): ... to here.
4849
4850 2011-05-22  Bruno Haible  <bruno@clisp.org>
4851
4852         wmemchr: Move AC_LIBOBJ invocations to module description.
4853         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
4854         here...
4855         * modules/wmemchr (configure.ac): ... to here.
4856
4857 2011-05-22  Bruno Haible  <bruno@clisp.org>
4858
4859         wcswidth: Move AC_LIBOBJ invocations to module description.
4860         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
4861         here...
4862         * modules/wcswidth (configure.ac): ... to here.
4863
4864 2011-05-22  Bruno Haible  <bruno@clisp.org>
4865
4866         wcwidth: Respect rules for use of AC_LIBOBJ.
4867         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
4868         invocation from here...
4869         * modules/wcwidth (configure.ac): ... to here.
4870         (Depends-on): Update conditions.
4871
4872 2011-05-22  Bruno Haible  <bruno@clisp.org>
4873
4874         wctype: Move AC_LIBOBJ invocations to module description.
4875         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
4876         invocation from here...
4877         * modules/wctype (configure.ac): ... to here.
4878         (Depends-on): Update conditions.
4879
4880 2011-05-22  Bruno Haible  <bruno@clisp.org>
4881
4882         wctrans: Move AC_LIBOBJ invocations to module description.
4883         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
4884         invocation from here...
4885         * modules/wctrans (configure.ac): ... to here.
4886
4887 2011-05-22  Bruno Haible  <bruno@clisp.org>
4888
4889         wctomb: Move AC_LIBOBJ invocations to module description.
4890         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
4891         invocations from here...
4892         * modules/wctomb (configure.ac): ... to here.
4893
4894 2011-05-22  Bruno Haible  <bruno@clisp.org>
4895
4896         wctob: Move AC_LIBOBJ invocations to module description.
4897         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
4898         gl_PREREQ_WCTOB invocations from here...
4899         * modules/wctob (configure.ac): ... to here.
4900         (Depends-on): Update conditions.
4901
4902 2011-05-22  Bruno Haible  <bruno@clisp.org>
4903
4904         wcsxfrm: Move AC_LIBOBJ invocations to module description.
4905         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
4906         here...
4907         * modules/wcsxfrm (configure.ac): ... to here.
4908
4909 2011-05-22  Bruno Haible  <bruno@clisp.org>
4910
4911         wcstok: Move AC_LIBOBJ invocations to module description.
4912         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
4913         * modules/wcstok (configure.ac): ... to here.
4914
4915 2011-05-22  Bruno Haible  <bruno@clisp.org>
4916
4917         wcsstr: Move AC_LIBOBJ invocations to module description.
4918         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
4919         * modules/wcsstr (configure.ac): ... to here.
4920
4921 2011-05-22  Bruno Haible  <bruno@clisp.org>
4922
4923         wcsspn: Move AC_LIBOBJ invocations to module description.
4924         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
4925         * modules/wcsspn (configure.ac): ... to here.
4926
4927 2011-05-22  Bruno Haible  <bruno@clisp.org>
4928
4929         wcsrtombs: Move AC_LIBOBJ invocations to module description.
4930         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
4931         gl_PREREQ_WCSRTOMBS invocations from here...
4932         * modules/wcsrtombs (configure.ac): ... to here.
4933
4934 2011-05-22  Bruno Haible  <bruno@clisp.org>
4935
4936         wcsrchr: Move AC_LIBOBJ invocations to module description.
4937         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
4938         here...
4939         * modules/wcsrchr (configure.ac): ... to here.
4940
4941 2011-05-22  Bruno Haible  <bruno@clisp.org>
4942
4943         wcspbrk: Move AC_LIBOBJ invocations to module description.
4944         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
4945         here...
4946         * modules/wcspbrk (configure.ac): ... to here.
4947
4948 2011-05-22  Bruno Haible  <bruno@clisp.org>
4949
4950         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
4951         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
4952         gl_PREREQ_WCSNRTOMBS invocations from here...
4953         * modules/wcsnrtombs (configure.ac): ... to here.
4954
4955 2011-05-22  Bruno Haible  <bruno@clisp.org>
4956
4957         wcsnlen: Move AC_LIBOBJ invocations to module description.
4958         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
4959         here...
4960         * modules/wcsnlen (configure.ac): ... to here.
4961
4962 2011-05-22  Bruno Haible  <bruno@clisp.org>
4963
4964         wcsncpy: Move AC_LIBOBJ invocations to module description.
4965         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
4966         here...
4967         * modules/wcsncpy (configure.ac): ... to here.
4968
4969 2011-05-22  Bruno Haible  <bruno@clisp.org>
4970
4971         wcsncmp: Move AC_LIBOBJ invocations to module description.
4972         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
4973         here...
4974         * modules/wcsncmp (configure.ac): ... to here.
4975
4976 2011-05-22  Bruno Haible  <bruno@clisp.org>
4977
4978         wcsncat: Move AC_LIBOBJ invocations to module description.
4979         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
4980         here...
4981         * modules/wcsncat (configure.ac): ... to here.
4982
4983 2011-05-22  Bruno Haible  <bruno@clisp.org>
4984
4985         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
4986         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
4987         from here...
4988         * modules/wcsncasecmp (configure.ac): ... to here.
4989
4990 2011-05-22  Bruno Haible  <bruno@clisp.org>
4991
4992         wcslen: Move AC_LIBOBJ invocations to module description.
4993         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
4994         * modules/wcslen (configure.ac): ... to here.
4995
4996 2011-05-22  Bruno Haible  <bruno@clisp.org>
4997
4998         wcsdup: Move AC_LIBOBJ invocations to module description.
4999         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
5000         * modules/wcsdup (configure.ac): ... to here.
5001
5002 2011-05-22  Bruno Haible  <bruno@clisp.org>
5003
5004         wcscspn: Move AC_LIBOBJ invocations to module description.
5005         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
5006         here...
5007         * modules/wcscspn (configure.ac): ... to here.
5008
5009 2011-05-22  Bruno Haible  <bruno@clisp.org>
5010
5011         wcscpy: Move AC_LIBOBJ invocations to module description.
5012         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
5013         * modules/wcscpy (configure.ac): ... to here.
5014
5015 2011-05-22  Bruno Haible  <bruno@clisp.org>
5016
5017         wcscoll: Move AC_LIBOBJ invocations to module description.
5018         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
5019         here...
5020         * modules/wcscoll (configure.ac): ... to here.
5021
5022 2011-05-22  Bruno Haible  <bruno@clisp.org>
5023
5024         wcscmp: Move AC_LIBOBJ invocations to module description.
5025         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
5026         * modules/wcscmp (configure.ac): ... to here.
5027
5028 2011-05-22  Bruno Haible  <bruno@clisp.org>
5029
5030         wcschr: Move AC_LIBOBJ invocations to module description.
5031         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
5032         * modules/wcschr (configure.ac): ... to here.
5033
5034 2011-05-22  Bruno Haible  <bruno@clisp.org>
5035
5036         wcscat: Move AC_LIBOBJ invocations to module description.
5037         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
5038         * modules/wcscat (configure.ac): ... to here.
5039
5040 2011-05-22  Bruno Haible  <bruno@clisp.org>
5041
5042         wcscasecmp: Move AC_LIBOBJ invocations to module description.
5043         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
5044         here...
5045         * modules/wcscasecmp (configure.ac): ... to here.
5046
5047 2011-05-22  Bruno Haible  <bruno@clisp.org>
5048
5049         wcrtomb: Move AC_LIBOBJ invocations to module description.
5050         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
5051         invocations from here...
5052         * modules/wcrtomb (configure.ac): ... to here.
5053
5054 2011-05-22  Bruno Haible  <bruno@clisp.org>
5055
5056         wcpncpy: Move AC_LIBOBJ invocations to module description.
5057         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
5058         here...
5059         * modules/wcpncpy (configure.ac): ... to here.
5060
5061 2011-05-22  Bruno Haible  <bruno@clisp.org>
5062
5063         wcpcpy: Move AC_LIBOBJ invocations to module description.
5064         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
5065         * modules/wcpcpy (configure.ac): ... to here.
5066
5067 2011-05-22  Bruno Haible  <bruno@clisp.org>
5068
5069         waitpid: Move AC_LIBOBJ invocations to module description.
5070         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
5071         invocation from here...
5072         * modules/waitpid (configure.ac): ... to here.
5073
5074 2011-05-22  Bruno Haible  <bruno@clisp.org>
5075
5076         utimensat: Move AC_LIBOBJ invocations to module description.
5077         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
5078         here...
5079         * modules/utimensat (configure.ac): ... to here.
5080
5081 2011-05-22  Bruno Haible  <bruno@clisp.org>
5082
5083         usleep: Move AC_LIBOBJ invocations to module description.
5084         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
5085         here...
5086         * modules/usleep (configure.ac): ... to here.
5087
5088 2011-05-22  Bruno Haible  <bruno@clisp.org>
5089
5090         unlockpt: Move AC_LIBOBJ invocations to module description.
5091         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
5092         gl_PREREQ_UNLOCKPT invocations from here...
5093         * modules/unlockpt (configure.ac): ... to here.
5094
5095 2011-05-22  Bruno Haible  <bruno@clisp.org>
5096
5097         unlink: Respect rules for use of AC_LIBOBJ.
5098         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
5099         * modules/unlink (configure.ac): ... to here.
5100
5101 2011-05-22  Bruno Haible  <bruno@clisp.org>
5102
5103         uname: Move AC_LIBOBJ invocations to module description.
5104         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
5105         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
5106         here...
5107         * modules/uname (configure.ac): ... to here.
5108
5109 2011-05-22  Bruno Haible  <bruno@clisp.org>
5110
5111         ttyname_r: Move AC_LIBOBJ invocations to module description.
5112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
5113         gl_PREREQ_TTYNAME_R invocations from here...
5114         * modules/ttyname_r (configure.ac): ... to here.
5115
5116 2011-05-22  Bruno Haible  <bruno@clisp.org>
5117
5118         tsearch: Move AC_LIBOBJ invocations to module description.
5119         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
5120         invocations from here...
5121         * modules/tsearch (configure.ac): ... to here.
5122
5123 2011-05-22  Bruno Haible  <bruno@clisp.org>
5124
5125         towctrans: Move AC_LIBOBJ invocations to module description.
5126         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
5127         AC_LIBOBJ invocation from here...
5128         * modules/towctrans (configure.ac): ... to here.
5129
5130 2011-05-22  Bruno Haible  <bruno@clisp.org>
5131
5132         tmpfile: Move AC_LIBOBJ invocations to module description.
5133         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
5134         invocations from here...
5135         * modules/tmpfile (configure.ac): ... to here.
5136
5137 2011-05-22  Bruno Haible  <bruno@clisp.org>
5138
5139         times: Move AC_LIBOBJ invocations to module description.
5140         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
5141         * modules/times (configure.ac): ... to here.
5142
5143 2011-05-22  Bruno Haible  <bruno@clisp.org>
5144
5145         time_r: Move AC_LIBOBJ invocations to module description.
5146         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
5147         invocations from here...
5148         * modules/time_r (configure.ac): ... to here.
5149
5150 2011-05-22  Bruno Haible  <bruno@clisp.org>
5151
5152         timegm: Move AC_LIBOBJ invocations to module description.
5153         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
5154         invocations from here...
5155         * modules/timegm (configure.ac): ... to here.
5156
5157 2011-05-22  Bruno Haible  <bruno@clisp.org>
5158
5159         tcgetsid: Move AC_LIBOBJ invocations to module description.
5160         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
5161         and gl_PREREQ_TCGETSID invocations from here...
5162         * modules/tcgetsid (configure.ac): ... to here.
5163         (Depends-on): Update conditions.
5164
5165 2011-05-22  Bruno Haible  <bruno@clisp.org>
5166
5167         symlinkat: Move AC_LIBOBJ invocations to module description.
5168         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
5169         here...
5170         * modules/symlinkat (configure.ac): ... to here.
5171
5172 2011-05-22  Bruno Haible  <bruno@clisp.org>
5173
5174         symlink: Move AC_LIBOBJ invocations to module description.
5175         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
5176         here...
5177         * modules/symlink (configure.ac): ... to here.
5178
5179 2011-05-22  Bruno Haible  <bruno@clisp.org>
5180
5181         strverscmp: Move AC_LIBOBJ invocations to module description.
5182         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
5183         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
5184         from here...
5185         * modules/strverscmp (configure.ac): ... to here.
5186
5187 2011-05-22  Bruno Haible  <bruno@clisp.org>
5188
5189         strtok_r: Move AC_LIBOBJ invocations to module description.
5190         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
5191         and gl_PREREQ_STRTOK_R invocations from here...
5192         * modules/strtok_r (configure.ac): ... to here.
5193         (Depends-on): Update conditions.
5194
5195 2011-05-22  Bruno Haible  <bruno@clisp.org>
5196
5197         strtoumax: Move AC_LIBOBJ invocations to module description.
5198         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
5199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
5200         from here...
5201         * modules/strtoumax (configure.ac): ... to here.
5202
5203 2011-05-22  Bruno Haible  <bruno@clisp.org>
5204
5205         strtoimax: Move AC_LIBOBJ invocations to module description.
5206         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
5207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
5208         from here...
5209         * modules/strtoimax (configure.ac): ... to here.
5210
5211 2011-05-22  Bruno Haible  <bruno@clisp.org>
5212
5213         strtoull: Move AC_LIBOBJ invocations to module description.
5214         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
5215         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
5216         from here...
5217         * modules/strtoull (configure.ac): ... to here.
5218
5219 2011-05-22  Bruno Haible  <bruno@clisp.org>
5220
5221         strtoll: Move AC_LIBOBJ invocations to module description.
5222         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
5223         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
5224         here...
5225         * modules/strtoll (configure.ac): ... to here.
5226
5227 2011-05-22  Bruno Haible  <bruno@clisp.org>
5228
5229         strtoul: Move AC_LIBOBJ invocations to module description.
5230         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
5231         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
5232         * modules/strtoul (configure.ac): ... to here.
5233
5234 2011-05-22  Bruno Haible  <bruno@clisp.org>
5235
5236         strtol: Move AC_LIBOBJ invocations to module description.
5237         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
5238         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
5239         * modules/strtol (configure.ac): ... to here.
5240
5241 2011-05-22  Bruno Haible  <bruno@clisp.org>
5242
5243         strtod: Move AC_LIBOBJ invocations to module description.
5244         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
5245         invocations from here...
5246         * modules/strtod (configure.ac): ... to here.
5247
5248 2011-05-22  Bruno Haible  <bruno@clisp.org>
5249
5250         strstr*: Move AC_LIBOBJ invocations to module description.
5251         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
5252         invocations from here...
5253         * modules/strstr-simple (configure.ac): ... to here.
5254         * modules/strstr (configure.ac): ... and here.
5255
5256 2011-05-22  Bruno Haible  <bruno@clisp.org>
5257
5258         strsignal: Move AC_LIBOBJ invocations to module description.
5259         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
5260         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
5261         * modules/strsignal (configure.ac): ... to here.
5262         (Depends-on): Update conditions.
5263
5264 2011-05-22  Bruno Haible  <bruno@clisp.org>
5265
5266         strsep: Move AC_LIBOBJ invocations to module description.
5267         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
5268         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
5269         here...
5270         * modules/strsep (configure.ac): ... to here.
5271
5272 2011-05-22  Bruno Haible  <bruno@clisp.org>
5273
5274         strptime: Move AC_LIBOBJ invocations to module description.
5275         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
5276         gl_PREREQ_STRPTIME invocations from here...
5277         * modules/strptime (configure.ac): ... to here.
5278
5279 2011-05-22  Bruno Haible  <bruno@clisp.org>
5280
5281         strpbrk: Move AC_LIBOBJ invocations to module description.
5282         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
5283         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
5284         here...
5285         * modules/strpbrk (configure.ac): ... to here.
5286
5287 2011-05-22  Bruno Haible  <bruno@clisp.org>
5288
5289         strnlen: Move AC_LIBOBJ invocations to module description.
5290         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
5291         invocations from here...
5292         * modules/strnlen (configure.ac): ... to here.
5293
5294 2011-05-22  Bruno Haible  <bruno@clisp.org>
5295
5296         strndup: Move AC_LIBOBJ invocations to module description.
5297         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
5298         invocations from here...
5299         * modules/strndup (configure.ac): ... to here.
5300         (Depends-on): Update conditions.
5301
5302 2011-05-22  Bruno Haible  <bruno@clisp.org>
5303
5304         strncat: Move AC_LIBOBJ invocations to module description.
5305         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
5306         invocations from here...
5307         * modules/strncat (configure.ac): ... to here.
5308
5309 2011-05-22  Bruno Haible  <bruno@clisp.org>
5310
5311         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
5312         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
5313         invocations from here...
5314         * modules/strdup (configure.ac): ... to here.
5315         * modules/strdup-posix (configure.ac): ... and here.
5316
5317 2011-05-22  Bruno Haible  <bruno@clisp.org>
5318
5319         strcspn: Move AC_LIBOBJ invocations to module description.
5320         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
5321         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
5322         here...
5323         * modules/strcspn (configure.ac): ... to here.
5324
5325 2011-05-22  Bruno Haible  <bruno@clisp.org>
5326
5327         strchrnul: Move AC_LIBOBJ invocations to module description.
5328         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
5329         gl_PREREQ_STRCHRNUL invocations from here...
5330         * modules/strchrnul (configure.ac): ... to here.
5331
5332 2011-05-22  Bruno Haible  <bruno@clisp.org>
5333
5334         strcasestr*: Move AC_LIBOBJ invocations to module description.
5335         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
5336         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
5337         * modules/strcasestr-simple (configure.ac): ... to here.
5338         * modules/strcasestr (configure.ac): ... and here.
5339
5340 2011-05-22  Bruno Haible  <bruno@clisp.org>
5341
5342         strcase: Move AC_LIBOBJ invocations to module description.
5343         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
5344         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
5345         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
5346         gl_PREREQ_STRNCASECMP invocations from here...
5347         * modules/strcase (configure.ac): ... to here.
5348
5349 2011-05-22  Bruno Haible  <bruno@clisp.org>
5350
5351         stpncpy: Move AC_LIBOBJ invocations to module description.
5352         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
5353         here...
5354         * modules/stpncpy (configure.ac): ... to here.
5355
5356 2011-05-22  Bruno Haible  <bruno@clisp.org>
5357
5358         stpcpy: Move AC_LIBOBJ invocations to module description.
5359         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
5360         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
5361         here...
5362         * modules/stpcpy (configure.ac): ... to here.
5363
5364 2011-05-21  Bruno Haible  <bruno@clisp.org>
5365
5366         stat: Move AC_LIBOBJ invocations to module description.
5367         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
5368         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
5369         here...
5370         * modules/stat (configure.ac): ... to here.
5371
5372 2011-05-21  Bruno Haible  <bruno@clisp.org>
5373
5374         sleep: Move AC_LIBOBJ invocations to module description.
5375         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
5376         * modules/sleep (configure.ac): ... to here.
5377
5378 2011-05-21  Bruno Haible  <bruno@clisp.org>
5379
5380         signbit: Move AC_LIBOBJ invocations to module description.
5381         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
5382         * modules/signbit (configure.ac): ... to here.
5383
5384 2011-05-21  Bruno Haible  <bruno@clisp.org>
5385
5386         sigprocmask: Move AC_LIBOBJ invocations to module description.
5387         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
5388         gl_PREREQ_SIGPROMASK invocations from here...
5389         * modules/sigprocmask (configure.ac): ... to here.
5390
5391 2011-05-21  Bruno Haible  <bruno@clisp.org>
5392
5393         sigaction: Move AC_LIBOBJ invocations to module description.
5394         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
5395         gl_PREREQ_SIGACTION invocations from here...
5396         * modules/sigaction (configure.ac): ... to here.
5397
5398 2011-05-21  Bruno Haible  <bruno@clisp.org>
5399
5400         sig2str: Move AC_LIBOBJ invocations to module description.
5401         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
5402         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
5403         here...
5404         * modules/sig2str (configure.ac): ... to here.
5405
5406 2011-05-21  Bruno Haible  <bruno@clisp.org>
5407
5408         setlocale: Move AC_LIBOBJ invocations to module description.
5409         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
5410         gl_PREREQ_SETLOCALE invocations from here...
5411         * modules/setlocale (configure.ac): ... to here.
5412
5413 2011-05-21  Bruno Haible  <bruno@clisp.org>
5414
5415         unsetenv: Move AC_LIBOBJ invocations to module description.
5416         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
5417         and gl_PREREQ_UNSETENV invocations from here...
5418         * modules/unsetenv (configure.ac): ... to here.
5419         (Depends-on): Update.
5420
5421 2011-05-21  Bruno Haible  <bruno@clisp.org>
5422
5423         setenv: Move AC_LIBOBJ invocations to module description.
5424         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
5425         here...
5426         * modules/setenv (configure.ac): ... to here.
5427
5428 2011-05-21  Bruno Haible  <bruno@clisp.org>
5429
5430         selinux-h: Move AC_LIBOBJ invocations to module description.
5431         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
5432         AC_LIBOBJ invocation from here...
5433         * modules/selinux-h (configure.ac): ... to here.
5434
5435 2011-05-21  Bruno Haible  <bruno@clisp.org>
5436
5437         select: Respect rules for use of AC_LIBOBJ.
5438         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
5439         here...
5440         * modules/select (configure.ac): ... to here.
5441
5442 2011-05-21  Bruno Haible  <bruno@clisp.org>
5443
5444         scandir: Move AC_LIBOBJ invocations to module description.
5445         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
5446         invocations from here...
5447         * modules/scandir (configure.ac): ... to here.
5448
5449 2011-05-21  Bruno Haible  <bruno@clisp.org>
5450
5451         rpmatch: Move AC_LIBOBJ invocations to module description.
5452         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
5453         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
5454         here...
5455         * modules/rpmatch (configure.ac): ... to here.
5456
5457 2011-05-21  Bruno Haible  <bruno@clisp.org>
5458
5459         rmdir: Respect rules for use of AC_LIBOBJ.
5460         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
5461         * modules/rmdir (configure.ac): ... to here.
5462
5463 2011-05-21  Bruno Haible  <bruno@clisp.org>
5464
5465         renameat: Move AC_LIBOBJ invocations to module description.
5466         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
5467         here...
5468         * modules/renameat (configure.ac): ... to here.
5469
5470 2011-05-21  Bruno Haible  <bruno@clisp.org>
5471
5472         rename: Respect rules for use of AC_LIBOBJ.
5473         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
5474         here...
5475         * modules/rename (configure.ac): ... to here.
5476
5477 2011-05-21  Bruno Haible  <bruno@clisp.org>
5478
5479         remove: Move AC_LIBOBJ invocations to module description.
5480         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
5481         here...
5482         * modules/remove (configure.ac): ... to here.
5483
5484 2011-05-21  Bruno Haible  <bruno@clisp.org>
5485
5486         relocatable-lib: Move AC_LIBOBJ invocations to module description.
5487         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
5488         macro.
5489         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
5490         * modules/relocatable-lib (configure.ac): ... to here.
5491         * modules/relocatable-prog-wrapper (configure.ac): Invoke
5492         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
5493
5494 2011-05-21  Bruno Haible  <bruno@clisp.org>
5495
5496         relocatable-prog: Move AC_LIBOBJ invocations to module description.
5497         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
5498         here...
5499         * modules/relocatable-prog (configure.ac): ... to here.
5500
5501 2011-05-21  Bruno Haible  <bruno@clisp.org>
5502
5503         regex: Move AC_LIBOBJ invocations to module description.
5504         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
5505         invocations from here...
5506         * modules/regex (configure.ac): ... to here.
5507
5508 2011-05-21  Bruno Haible  <bruno@clisp.org>
5509
5510         realloc-*: Move AC_LIBOBJ invocations to module description.
5511         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
5512         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
5513         AC_LIBOBJ invocations from here...
5514         * modules/realloc-gnu (configure.ac): ... to here.
5515         * modules/realloc-posix (configure.ac): ... and here.
5516
5517 2011-05-21  Bruno Haible  <bruno@clisp.org>
5518
5519         readutmp: Move AC_LIBOBJ invocations to module description.
5520         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
5521         * modules/readutmp (configure.ac): ... to here.
5522
5523 2011-05-21  Bruno Haible  <bruno@clisp.org>
5524
5525         readlinkat: Move AC_LIBOBJ invocations to module description.
5526         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
5527         here...
5528         * modules/readlinkat (configure.ac): ... to here.
5529
5530 2011-05-21  Bruno Haible  <bruno@clisp.org>
5531
5532         readlink: Move AC_LIBOBJ invocations to module description.
5533         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
5534         gl_PREREQ_READLINK invocations from here...
5535         * modules/readlink (configure.ac): ... to here.
5536
5537 2011-05-21  Bruno Haible  <bruno@clisp.org>
5538
5539         readline: Move AC_LIBOBJ invocations to module description.
5540         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
5541         gl_PREREQ_READLINE invocations from here...
5542         * modules/readline (configure.ac): ... to here.
5543
5544 2011-05-21  Bruno Haible  <bruno@clisp.org>
5545
5546         read: Move AC_LIBOBJ invocations to module description.
5547         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
5548         * modules/read (configure.ac): ... to here.
5549
5550 2011-05-21  Bruno Haible  <bruno@clisp.org>
5551
5552         rawmemchr: Move AC_LIBOBJ invocations to module description.
5553         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
5554         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
5555         from here...
5556         * modules/rawmemchr (configure.ac): ... to here.
5557
5558 2011-05-21  Bruno Haible  <bruno@clisp.org>
5559
5560         random_r: Move AC_LIBOBJ invocations to module description.
5561         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
5562         gl_PREREQ_RANDOM_R invocations from here...
5563         * modules/random_r (configure.ac): ... to here.
5564
5565 2011-05-21  Bruno Haible  <bruno@clisp.org>
5566
5567         pwrite: Move AC_LIBOBJ invocations to module description.
5568         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
5569         * modules/pwrite (configure.ac): ... to here.
5570
5571 2011-05-21  Bruno Haible  <bruno@clisp.org>
5572
5573         putenv: Move AC_LIBOBJ invocations to module description.
5574         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
5575         * modules/putenv (configure.ac): ... to here.
5576
5577 2011-05-21  Bruno Haible  <bruno@clisp.org>
5578
5579         login_tty: Move AC_LIBOBJ invocations to module description.
5580         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
5581         * modules/login_tty (configure.ac): ... to here.
5582
5583 2011-05-21  Bruno Haible  <bruno@clisp.org>
5584
5585         openpty: Move AC_LIBOBJ invocations to module description.
5586         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
5587         * modules/openpty (configure.ac): ... to here.
5588
5589 2011-05-21  Bruno Haible  <bruno@clisp.org>
5590
5591         forkpty: Move AC_LIBOBJ invocations to module description.
5592         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
5593         * modules/forkpty (configure.ac): ... to here.
5594
5595 2011-05-21  Bruno Haible  <bruno@clisp.org>
5596
5597         ptsname: Move AC_LIBOBJ invocations to module description.
5598         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
5599         invocations from here...
5600         * modules/ptsname (configure.ac): ... to here.
5601
5602 2011-05-21  Bruno Haible  <bruno@clisp.org>
5603
5604         pread: Move AC_LIBOBJ invocations to module description.
5605         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
5606         * modules/pread (configure.ac): ... to here.
5607
5608 2011-05-21  Bruno Haible  <bruno@clisp.org>
5609
5610         posix_spawn*: Move AC_LIBOBJ invocations to module description.
5611         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
5612         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
5613         * modules/posix_spawn (configure.ac): ... to here.
5614         * modules/posix_spawnp (configure.ac): ... and here.
5615
5616 2011-05-21  Bruno Haible  <bruno@clisp.org>
5617
5618         popen: Move AC_LIBOBJ invocations to module description.
5619         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
5620         invocations from here...
5621         * modules/popen (configure.ac): ... to here.
5622
5623 2011-05-21  Bruno Haible  <bruno@clisp.org>
5624
5625         poll: Move AC_LIBOBJ invocations to module description.
5626         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
5627         invocations from here...
5628         * modules/poll (configure.ac): ... to here.
5629
5630 2011-05-21  Bruno Haible  <bruno@clisp.org>
5631
5632         pipe-posix: Move AC_LIBOBJ invocations to module description.
5633         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
5634         * modules/pipe-posix (configure.ac): ... to here.
5635
5636 2011-05-21  Bruno Haible  <bruno@clisp.org>
5637
5638         openat: Respect rules for use of AC_LIBOBJ.
5639         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
5640         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
5641         * modules/openat (configure.ac): ... to here.
5642
5643 2011-05-21  Bruno Haible  <bruno@clisp.org>
5644
5645         obstack-printf*: Move AC_LIBOBJ invocations to module description.
5646         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
5647         invocation from here...
5648         * modules/obstack-printf (configure.ac): ... to here.
5649         * modules/obstack-printf-posix (configure.ac): ... and here.
5650
5651 2011-05-21  Bruno Haible  <bruno@clisp.org>
5652
5653         nl_langinfo: Move AC_LIBOBJ invocations to module description.
5654         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
5655         from here...
5656         * modules/nl_langinfo (configure.ac): ... to here.
5657
5658 2011-05-21  Bruno Haible  <bruno@clisp.org>
5659
5660         nanosleep: Move AC_LIBOBJ invocations to module description.
5661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
5662         gl_PREREQ_NANOSLEEP invocations from here...
5663         * modules/nanosleep (configure.ac): ... to here.
5664
5665 2011-05-21  Bruno Haible  <bruno@clisp.org>
5666
5667         mountlist: Move AC_LIBOBJ invocations to module description.
5668         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
5669         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
5670         * modules/mountlist (configure.ac): ... to here.
5671
5672 2011-05-21  Bruno Haible  <bruno@clisp.org>
5673
5674         mktime: Respect rules for use of AC_LIBOBJ.
5675         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
5676         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
5677         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
5678         (gl_FUNC_MKTIME_INTERNAL): ... and here...
5679         * modules/mktime (configure.ac): ... to here.
5680         * modules/mktime-internal (configure.ac): ... and here.
5681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
5682
5683 2011-05-21  Bruno Haible  <bruno@clisp.org>
5684
5685         mkstemps: Move AC_LIBOBJ invocations to module description.
5686         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
5687         here...
5688         * modules/mkstemps (configure.ac): ... to here.
5689
5690 2011-05-21  Bruno Haible  <bruno@clisp.org>
5691
5692         mkstemp: Move AC_LIBOBJ invocations to module description.
5693         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
5694         gl_PREREQ_MKSTEMP invocations from here...
5695         * modules/mkstemp (configure.ac): ... to here.
5696
5697 2011-05-21  Bruno Haible  <bruno@clisp.org>
5698
5699         mkostemps: Move AC_LIBOBJ invocations to module description.
5700         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
5701         here...
5702         * modules/mkostemps (configure.ac): ... to here.
5703
5704 2011-05-21  Bruno Haible  <bruno@clisp.org>
5705
5706         mkostemp: Move AC_LIBOBJ invocations to module description.
5707         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
5708         gl_PREREQ_MKOSTEMP invocations from here...
5709         * modules/mkostemp (configure.ac): ... to here.
5710
5711 2011-05-21  Bruno Haible  <bruno@clisp.org>
5712
5713         mknod: Move AC_LIBOBJ invocations to module description.
5714         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
5715         * modules/mknod (configure.ac): ... to here.
5716
5717 2011-05-21  Bruno Haible  <bruno@clisp.org>
5718
5719         mkfifoat: Move AC_LIBOBJ invocations to module description.
5720         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
5721         here...
5722         * modules/mkfifoat (configure.ac): ... to here.
5723
5724 2011-05-21  Bruno Haible  <bruno@clisp.org>
5725
5726         mkfifo: Respect rules for use of AC_LIBOBJ.
5727         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
5728         here...
5729         * modules/mkfifo (configure.ac): ... to here.
5730
5731 2011-05-21  Bruno Haible  <bruno@clisp.org>
5732
5733         mkdtemp: Move AC_LIBOBJ invocations to module description.
5734         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
5735         invocations from here...
5736         * modules/mkdtemp (configure.ac): ... to here.
5737
5738 2011-05-21  Bruno Haible  <bruno@clisp.org>
5739
5740         mkdir: Move AC_LIBOBJ invocations to module description.
5741         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
5742         * modules/mkdir (configure.ac): ... to here.
5743
5744 2011-05-21  Bruno Haible  <bruno@clisp.org>
5745
5746         memset: Move AC_LIBOBJ invocations to module description.
5747         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
5748         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
5749         here...
5750         * modules/memset (configure.ac): ... to here.
5751
5752 2011-05-21  Bruno Haible  <bruno@clisp.org>
5753
5754         memrchr: Move AC_LIBOBJ invocations to module description.
5755         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
5756         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
5757         here...
5758         * modules/memrchr (configure.ac): ... to here.
5759
5760 2011-05-21  Bruno Haible  <bruno@clisp.org>
5761
5762         mempcpy: Move AC_LIBOBJ invocations to module description.
5763         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
5764         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
5765         here...
5766         * modules/mempcpy (configure.ac): ... to here.
5767
5768 2011-05-21  Bruno Haible  <bruno@clisp.org>
5769
5770         memmove: Move AC_LIBOBJ invocations to module description.
5771         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
5772         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
5773         here...
5774         * modules/memmove (configure.ac): ... to here.
5775
5776 2011-05-21  Bruno Haible  <bruno@clisp.org>
5777
5778         memmem*: Move AC_LIBOBJ invocations to module description.
5779         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
5780         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
5781         here...
5782         (gl_FUNC_MEMMEM): ... and here...
5783         * modules/memmem-simple (configure.ac): ... to here.
5784         * modules/memmem (configure.ac): ... and here.
5785
5786 2011-05-21  Bruno Haible  <bruno@clisp.org>
5787
5788         memcpy: Move AC_LIBOBJ invocations to module description.
5789         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
5790         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
5791         here...
5792         * modules/memcpy (configure.ac): ... to here.
5793
5794 2011-05-21  Bruno Haible  <bruno@clisp.org>
5795
5796         memcmp: Simplify autoconf macro.
5797         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
5798         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
5799         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
5800
5801 2011-05-21  Bruno Haible  <bruno@clisp.org>
5802
5803         memcmp: Move AC_LIBOBJ invocations to module description.
5804         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
5805         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
5806         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
5807         * modules/memcmp (configure.ac): ... to here.
5808         (Depends-on): Update conditions.
5809
5810 2011-05-21  Bruno Haible  <bruno@clisp.org>
5811
5812         memchr: Respect rules for use of AC_LIBOBJ.
5813         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
5814         invocations from here...
5815         * modules/memchr (configure.ac): ... to here.
5816
5817 2011-05-21  Bruno Haible  <bruno@clisp.org>
5818
5819         mbtowc: Move AC_LIBOBJ invocations to module description.
5820         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
5821         invocations from here...
5822         * modules/mbtowc (configure.ac): ... to here.
5823
5824 2011-05-21  Bruno Haible  <bruno@clisp.org>
5825
5826         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
5827         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
5828         gl_PREREQ_MBSRTOWCS invocations from here...
5829         * modules/mbsrtowcs (configure.ac): ... to here.
5830
5831 2011-05-21  Bruno Haible  <bruno@clisp.org>
5832
5833         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
5834         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
5835         gl_PREREQ_MBSNRTOWCS invocations from here...
5836         * modules/mbsnrtowcs (configure.ac): ... to here.
5837
5838 2011-05-21  Bruno Haible  <bruno@clisp.org>
5839
5840         mbsinit: Move AC_LIBOBJ invocations to module description.
5841         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
5842         invocations from here...
5843         * modules/mbsinit (configure.ac): ... to here.
5844
5845 2011-05-21  Bruno Haible  <bruno@clisp.org>
5846
5847         mbrlen: Move AC_LIBOBJ invocations to module description.
5848         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
5849         invocations from here...
5850         * modules/mbrlen (configure.ac): ... to here.
5851
5852 2011-05-21  Bruno Haible  <bruno@clisp.org>
5853
5854         mbrtowc: Respect rules for use of AC_LIBOBJ.
5855         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
5856         invocations from here...
5857         * modules/mbrtowc (configure.ac): ... to here.
5858
5859 2011-05-21  Bruno Haible  <bruno@clisp.org>
5860
5861         malloc-*: Move AC_LIBOBJ invocations to module description.
5862         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
5863         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
5864         AC_LIBOBJ invocations from here...
5865         * modules/malloc-gnu (configure.ac): ... to here.
5866         * modules/malloc-posix (configure.ac): ... and here.
5867
5868 2011-05-21  Bruno Haible  <bruno@clisp.org>
5869
5870         lstat, openat: Respect rules for use of AC_LIBOBJ.
5871         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
5872         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
5873         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
5874         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
5875         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
5876         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
5877         here.
5878         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
5879
5880 2011-05-21  Bruno Haible  <bruno@clisp.org>
5881
5882         lseek: Move AC_LIBOBJ invocations to module description.
5883         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
5884         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
5885         * modules/lseek (configure.ac): ... to here.
5886
5887 2011-05-21  Bruno Haible  <bruno@clisp.org>
5888
5889         linkat: Move AC_LIBOBJ invocations to module description.
5890         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
5891         here...
5892         * modules/linkat (configure.ac): ... to here.
5893
5894 2011-05-21  Bruno Haible  <bruno@clisp.org>
5895
5896         link: Respect rules for use of AC_LIBOBJ.
5897         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
5898         * modules/link (configure.ac): ... to here.
5899
5900 2011-05-21  Bruno Haible  <bruno@clisp.org>
5901
5902         lchown: Move AC_LIBOBJ invocations to module description.
5903         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
5904         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
5905         * modules/lchown (configure.ac): ... to here.
5906
5907 2011-05-21  Bruno Haible  <bruno@clisp.org>
5908
5909         iswctype: Move AC_LIBOBJ invocations to module description.
5910         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
5911         here...
5912         * modules/iswctype (configure.ac): ... to here.
5913
5914 2011-05-21  Bruno Haible  <bruno@clisp.org>
5915
5916         iswblank: Move AC_LIBOBJ invocations to module description.
5917         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
5918         here...
5919         * modules/iswblank (configure.ac): ... to here.
5920
5921 2011-05-21  Bruno Haible  <bruno@clisp.org>
5922
5923         atanl: Move AC_LIBOBJ invocations to module description.
5924         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
5925         * modules/atanl (configure.ac): ... to here.
5926
5927 2011-05-21  Bruno Haible  <bruno@clisp.org>
5928
5929         acosl: Move AC_LIBOBJ invocations to module description.
5930         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
5931         * modules/acosl (configure.ac): ... to here.
5932
5933 2011-05-21  Bruno Haible  <bruno@clisp.org>
5934
5935         asinl: Respect rules for use of AC_LIBOBJ.
5936         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
5937         * modules/asinl (configure.ac): ... to here.
5938
5939 2011-05-21  Bruno Haible  <bruno@clisp.org>
5940
5941         tanl: Move AC_LIBOBJ invocations to module description.
5942         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
5943         * modules/tanl (configure.ac): ... to here.
5944
5945 2011-05-21  Bruno Haible  <bruno@clisp.org>
5946
5947         cosl: Move AC_LIBOBJ invocations to module description.
5948         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
5949         * modules/cosl (configure.ac): ... to here.
5950
5951 2011-05-21  Bruno Haible  <bruno@clisp.org>
5952
5953         sinl: Move AC_LIBOBJ invocations to module description.
5954         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
5955         * modules/sinl (configure.ac): ... to here.
5956
5957 2011-05-21  Bruno Haible  <bruno@clisp.org>
5958
5959         logl: Move AC_LIBOBJ invocations to module description.
5960         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
5961         * modules/logl (configure.ac): ... to here.
5962
5963 2011-05-21  Bruno Haible  <bruno@clisp.org>
5964
5965         expl: Move AC_LIBOBJ invocations to module description.
5966         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
5967         * modules/expl (configure.ac): ... to here.
5968
5969 2011-05-21  Bruno Haible  <bruno@clisp.org>
5970
5971         roundl: Move AC_LIBOBJ invocations to module description.
5972         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
5973         * modules/roundl (configure.ac): ... to here.
5974
5975 2011-05-21  Bruno Haible  <bruno@clisp.org>
5976
5977         round: Move AC_LIBOBJ invocations to module description.
5978         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
5979         * modules/round (configure.ac): ... to here.
5980
5981 2011-05-21  Bruno Haible  <bruno@clisp.org>
5982
5983         roundf: Move AC_LIBOBJ invocations to module description.
5984         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
5985         * modules/roundf (configure.ac): ... to here.
5986
5987 2011-05-21  Bruno Haible  <bruno@clisp.org>
5988
5989         truncl: Move AC_LIBOBJ invocations to module description.
5990         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
5991         * modules/truncl (configure.ac): ... to here.
5992
5993 2011-05-21  Bruno Haible  <bruno@clisp.org>
5994
5995         trunc: Move AC_LIBOBJ invocations to module description.
5996         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
5997         * modules/trunc (configure.ac): ... to here.
5998
5999 2011-05-21  Bruno Haible  <bruno@clisp.org>
6000
6001         truncf: Move AC_LIBOBJ invocations to module description.
6002         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
6003         * modules/truncf (configure.ac): ... to here.
6004
6005 2011-05-21  Bruno Haible  <bruno@clisp.org>
6006
6007         ceill: Move AC_LIBOBJ invocations to module description.
6008         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
6009         * modules/ceill (configure.ac): ... to here.
6010
6011 2011-05-21  Bruno Haible  <bruno@clisp.org>
6012
6013         ceil: Move AC_LIBOBJ invocations to module description.
6014         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
6015         * modules/ceil (configure.ac): ... to here.
6016
6017 2011-05-21  Bruno Haible  <bruno@clisp.org>
6018
6019         ceilf: Move AC_LIBOBJ invocations to module description.
6020         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
6021         * modules/ceilf (configure.ac): ... to here.
6022
6023 2011-05-21  Bruno Haible  <bruno@clisp.org>
6024
6025         floorl: Respect rules for use of AC_LIBOBJ.
6026         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
6027         * modules/floorl (configure.ac): ... to here.
6028
6029 2011-05-21  Bruno Haible  <bruno@clisp.org>
6030
6031         floor: Respect rules for use of AC_LIBOBJ.
6032         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
6033         * modules/floor (configure.ac): ... to here.
6034
6035 2011-05-21  Bruno Haible  <bruno@clisp.org>
6036
6037         floorf: Move AC_LIBOBJ invocations to module description.
6038         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
6039         * modules/floorf (configure.ac): ... to here.
6040
6041 2011-05-20  Bruno Haible  <bruno@clisp.org>
6042
6043         sqrtl: Respect rules for use of AC_LIBOBJ.
6044         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
6045         * modules/sqrtl (configure.ac): ... to here.
6046
6047 2011-05-20  Bruno Haible  <bruno@clisp.org>
6048
6049         ldexpl: Respect rules for use of AC_LIBOBJ.
6050         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
6051         * modules/ldexpl (configure.ac): ... to here.
6052
6053 2011-05-20  Bruno Haible  <bruno@clisp.org>
6054
6055         frexpl*: Respect rules for use of AC_LIBOBJ.
6056         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
6057         invocation from here...
6058         * modules/frexpl (configure.ac): ... to here.
6059         * modules/frexpl-nolibm (configure.ac): ... and here.
6060
6061 2011-05-20  Bruno Haible  <bruno@clisp.org>
6062
6063         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
6064         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
6065         invocation from here...
6066         * modules/frexp (configure.ac): ... to here.
6067         * modules/frexp-nolibm (configure.ac): ... and here.
6068
6069 2011-05-20  Bruno Haible  <bruno@clisp.org>
6070
6071         isnan: Respect rules for use of AC_LIBOBJ.
6072         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
6073         invocations here.
6074         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
6075         REPLACE_ISNAN.
6076         * modules/isnand (configure.ac): Likewise.
6077         * modules/isnanl (configure.ac): Likewise.
6078
6079 2011-05-20  Bruno Haible  <bruno@clisp.org>
6080
6081         isnanl*: Respect rules for use of AC_LIBOBJ.
6082         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
6083         invocation from here...
6084         * modules/isnanl (configure.ac): ... to here.
6085         * modules/isnanl-nolibm (configure.ac): ... and here.
6086
6087 2011-05-20  Bruno Haible  <bruno@clisp.org>
6088
6089         isnand*: Move AC_LIBOBJ invocations to module description.
6090         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
6091         invocation from here...
6092         * modules/isnand (configure.ac): ... to here.
6093         * modules/isnand-nolibm (configure.ac): ... and here.
6094
6095 2011-05-20  Bruno Haible  <bruno@clisp.org>
6096
6097         isnanf*: Move AC_LIBOBJ invocations to module description.
6098         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
6099         invocation from here...
6100         * modules/isnanf (configure.ac): ... to here.
6101         * modules/isnanf-nolibm (configure.ac): ... and here.
6102
6103 2011-05-20  Bruno Haible  <bruno@clisp.org>
6104
6105         isnan*: Separate the AC_LIBOBJ invocations.
6106         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
6107         AC_LIBOBJ invocation.
6108         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
6109         here.
6110         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
6111         AC_LIBOBJ invocation.
6112         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
6113         here.
6114         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
6115         AC_LIBOBJ invocation.
6116         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
6117         here.
6118         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
6119
6120 2011-05-08  Bruno Haible  <bruno@clisp.org>
6121
6122         isinf: Move AC_LIBOBJ invocations to module description.
6123         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
6124         * modules/isinf (configure.ac): ... to here.
6125
6126 2011-05-08  Bruno Haible  <bruno@clisp.org>
6127
6128         isfinite: Move AC_LIBOBJ invocations to module description.
6129         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
6130         * modules/isfinite (configure.ac): ... to here.
6131
6132 2011-05-08  Bruno Haible  <bruno@clisp.org>
6133
6134         isblank: Move AC_LIBOBJ invocations to module description.
6135         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
6136         here...
6137         * modules/isblank (configure.ac): ... to here.
6138
6139 2011-05-08  Bruno Haible  <bruno@clisp.org>
6140
6141         isapipe: Move AC_LIBOBJ invocations to module description.
6142         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
6143         gl_PREREQ_ISAPIPE invocations from here...
6144         * modules/isapipe (configure.ac): ... to here.
6145         (Depends-on): Update condition.
6146
6147 2011-05-08  Bruno Haible  <bruno@clisp.org>
6148
6149         ioctl: Move AC_LIBOBJ invocations to module description.
6150         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
6151         invocations from here...
6152         * modules/ioctl (configure.ac): ... to here.
6153         (Depends-on): Update condition.
6154
6155 2011-05-08  Bruno Haible  <bruno@clisp.org>
6156
6157         imaxdiv: Move AC_LIBOBJ invocations to module description.
6158         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
6159         invocations from here...
6160         * modules/imaxdiv (configure.ac): ... to here.
6161
6162 2011-05-08  Bruno Haible  <bruno@clisp.org>
6163
6164         imaxabs: Move AC_LIBOBJ invocations to module description.
6165         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
6166         invocations from here...
6167         * modules/imaxabs (configure.ac): ... to here.
6168
6169 2011-05-08  Bruno Haible  <bruno@clisp.org>
6170
6171         getaddrinfo: Move AC_LIBOBJ invocations to module description.
6172         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
6173         AC_LIBOBJ invocations from here...
6174         * modules/getaddrinfo (configure.ac): ... to here.
6175         (Depends-on): Add conditions.
6176
6177 2011-05-08  Bruno Haible  <bruno@clisp.org>
6178
6179         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
6180         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
6181         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
6182         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
6183         (gl_PREREQ_INET_PTON): ... from here.
6184         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
6185         gl_PREREQ_INET_PTON here.
6186         (Depends-on): Update condition.
6187
6188 2011-05-08  Bruno Haible  <bruno@clisp.org>
6189
6190         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
6191         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
6192         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
6193         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
6194         (gl_PREREQ_INET_NTOP): ... from here.
6195         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
6196         gl_PREREQ_INET_NTOP here.
6197         (Depends-on): Update condition.
6198
6199 2011-05-08  Bruno Haible  <bruno@clisp.org>
6200
6201         iconv_open: Move AC_LIBOBJ invocations to module description.
6202         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
6203         AC_LIBOBJ invocations from here...
6204         * modules/iconv_open (configure.ac): ... to here.
6205
6206 2011-05-08  Bruno Haible  <bruno@clisp.org>
6207
6208         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
6209         If module 'iconv_open' is among the main modules and module
6210         'iconv_open-utf' is among the tests dependencies, then
6211         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
6212         return the special iconv_t values. Therefore iconv() and iconv_close()
6213         must support these special iconv_t values, already in lib, not only in
6214         tests.
6215         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
6216         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
6217         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
6218         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
6219         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
6220         (Depends-on): Add the dependencies of iconv_open-utf.
6221         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
6222         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
6223         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
6224
6225 2011-05-08  Bruno Haible  <bruno@clisp.org>
6226
6227         group-member: Move AC_LIBOBJ invocations to module description.
6228         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
6229         gl_PREREQ_GROUP_MEMBER invocations from here...
6230         * modules/group-member (configure.ac): ... to here.
6231
6232 2011-05-08  Bruno Haible  <bruno@clisp.org>
6233
6234         grantpt: Move AC_LIBOBJ invocations to module description.
6235         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
6236         invocations from here...
6237         * modules/grantpt (configure.ac): ... to here.
6238
6239 2011-05-08  Bruno Haible  <bruno@clisp.org>
6240
6241         glob: Move AC_LIBOBJ invocations to module description.
6242         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
6243         from here...
6244         * modules/glob (configure.ac): ... to here.
6245
6246 2011-05-08  Bruno Haible  <bruno@clisp.org>
6247
6248         getusershell: Move AC_LIBOBJ invocations to module description.
6249         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
6250         Move AC_LIBOBJ invocation from here...
6251         * modules/getusershell (configure.ac): ... to here.
6252         (Depends-on): Update condition.
6253
6254 2011-05-08  Bruno Haible  <bruno@clisp.org>
6255
6256         gettimeofday: Move AC_LIBOBJ invocations to module description.
6257         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
6258         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
6259         gl_PREREQ_GETTIMEOFDAY invocations from here...
6260         * modules/gettimeofday (configure.ac): ... to here.
6261
6262 2011-05-08  Bruno Haible  <bruno@clisp.org>
6263
6264         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
6265         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
6266         just gl_FUNC_TZSET.
6267         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
6268         (gl_FUNC_TZSET_CLOBBER): Remove actions.
6269         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
6270         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
6271
6272 2011-05-08  Bruno Haible  <bruno@clisp.org>
6273
6274         getsubopt: Move AC_LIBOBJ invocations to module description.
6275         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
6276         gl_PREREQ_GETSUBOPT invocations from here...
6277         * modules/getsubopt (configure.ac): ... to here.
6278
6279 2011-05-08  Bruno Haible  <bruno@clisp.org>
6280
6281         getpass-gnu: Move AC_LIBOBJ invocations to module description.
6282         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
6283         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
6284         * modules/getpass-gnu (configure.ac): ... to here.
6285
6286 2011-05-08  Bruno Haible  <bruno@clisp.org>
6287
6288         getpass: Move AC_LIBOBJ invocations to module description.
6289         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
6290         gl_PREREQ_GETPASS invocations from here...
6291         * modules/getpass (configure.ac): ... to here.
6292
6293 2011-05-08  Bruno Haible  <bruno@clisp.org>
6294
6295         getpagesize: Move AC_LIBOBJ invocations to module description.
6296         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
6297         from here...
6298         * modules/getpagesize (configure.ac): ... to here.
6299
6300 2011-05-08  Bruno Haible  <bruno@clisp.org>
6301
6302         getopt: Move AC_LIBOBJ invocations to module description.
6303         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
6304         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
6305         invocations from here...
6306         * modules/getopt-gnu (configure.ac): ... to here.
6307         * modules/getopt-posix (configure.ac): ... and here.
6308         (Depends-on): Update condition.
6309
6310 2011-05-08  Bruno Haible  <bruno@clisp.org>
6311
6312         getopt, argp: Respect rules for use of AC_LIBOBJ.
6313         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
6314         (gl_REPLACE_GETOPT_ALWAYS): New macro.
6315         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
6316         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
6317
6318 2011-05-08  Bruno Haible  <bruno@clisp.org>
6319
6320         getlogin_r: Move AC_LIBOBJ invocations to module description.
6321         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
6322         gl_PREREQ_GETLOGIN_R invocations from here...
6323         * modules/getlogin_r (configure.ac): ... to here.
6324
6325 2011-05-08  Bruno Haible  <bruno@clisp.org>
6326
6327         getlogin: Move AC_LIBOBJ invocations to module description.
6328         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
6329         here...
6330         * modules/getlogin (configure.ac): ... to here.
6331
6332 2011-05-08  Bruno Haible  <bruno@clisp.org>
6333
6334         getloadavg: Move AC_LIBOBJ invocations to module description.
6335         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
6336         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
6337         * modules/getloadavg (configure.ac): ... to here.
6338
6339 2011-05-08  Bruno Haible  <bruno@clisp.org>
6340
6341         gethrxtime: Move AC_LIBOBJ invocations to module description.
6342         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
6343         LIB_GETHRXTIME from here...
6344         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
6345         invocations from here...
6346         * modules/gethrxtime (configure.ac): ... to here.
6347
6348 2011-05-08  Bruno Haible  <bruno@clisp.org>
6349
6350         gethostname: Move AC_LIBOBJ invocations to module description.
6351         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
6352         gl_PREREQ_GETHOSTNAME invocations from here...
6353         * modules/gethostname (configure.ac): ... to here.
6354
6355 2011-05-08  Bruno Haible  <bruno@clisp.org>
6356
6357         getgroups: Move AC_LIBOBJ invocations to module description.
6358         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
6359         here...
6360         * modules/getgroups (configure.ac): ... to here.
6361
6362 2011-05-08  Bruno Haible  <bruno@clisp.org>
6363
6364         getdtablesize: Move AC_LIBOBJ invocations to module description.
6365         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
6366         invocation from here...
6367         * modules/getdtablesize (configure.ac): ... to here.
6368
6369 2011-05-08  Bruno Haible  <bruno@clisp.org>
6370
6371         getdomainname: Move AC_LIBOBJ invocations to module description.
6372         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
6373         gl_PREREQ_GETDOMAINNAME invocations from here...
6374         * modules/getdomainname (configure.ac): ... to here.
6375
6376 2011-05-08  Bruno Haible  <bruno@clisp.org>
6377
6378         getline: Move AC_LIBOBJ invocations to module description.
6379         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
6380         invocations from here...
6381         * modules/getline (configure.ac): ... to here.
6382
6383 2011-05-08  Bruno Haible  <bruno@clisp.org>
6384
6385         getline: Simplify.
6386         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
6387         It's already handled through the module dependency.
6388
6389 2011-05-08  Bruno Haible  <bruno@clisp.org>
6390
6391         getdelim: Move AC_LIBOBJ invocations to module description.
6392         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
6393         and gl_PREREQ_GETDELIM invocations from here...
6394         * modules/getdelim (configure.ac): ... to here.
6395         (Depends-on): Fix condition.
6396
6397 2011-05-08  Bruno Haible  <bruno@clisp.org>
6398
6399         getcwd: Move AC_LIBOBJ invocations to module description.
6400         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
6401         invocations from here...
6402         * modules/getcwd (configure.ac): ... to here.
6403
6404 2011-05-08  Bruno Haible  <bruno@clisp.org>
6405
6406         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
6407         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
6408         here...
6409         * modules/getcwd-lgpl (configure.ac): ... to here.
6410
6411 2011-05-07  Bruno Haible  <bruno@clisp.org>
6412
6413         crypto/gc: Move AC_LIBOBJ invocations to module description.
6414         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
6415         * modules/crypto/gc (configure.ac): ... to here.
6416
6417 2011-05-07  Bruno Haible  <bruno@clisp.org>
6418
6419         fwriting: Move AC_LIBOBJ invocations to module description.
6420         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
6421         here...
6422         * modules/fwriting (configure.ac): ... to here.
6423
6424 2011-05-07  Bruno Haible  <bruno@clisp.org>
6425
6426         fwritable: Move AC_LIBOBJ invocations to module description.
6427         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
6428         here...
6429         * modules/fwritable (configure.ac): ... to here.
6430
6431 2011-05-07  Bruno Haible  <bruno@clisp.org>
6432
6433         futimens: Move AC_LIBOBJ invocations to module description.
6434         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
6435         here...
6436         * modules/futimens (configure.ac): ... to here.
6437
6438 2011-05-07  Bruno Haible  <bruno@clisp.org>
6439
6440         ftruncate: Move AC_LIBOBJ invocations to module description.
6441         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
6442         gl_PREREQ_FTRUNCATE invocations from here...
6443         * modules/ftruncate (configure.ac): ... to here.
6444
6445 2011-05-07  Bruno Haible  <bruno@clisp.org>
6446
6447         fsync: Move AC_LIBOBJ invocations to module description.
6448         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
6449         invocations from here...
6450         * modules/fsync (configure.ac): ... to here.
6451
6452 2011-05-07  Bruno Haible  <bruno@clisp.org>
6453
6454         fsusage: Move AC_LIBOBJ invocations to module description.
6455         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
6456         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
6457         * modules/fsusage (configure.ac): ... to here.
6458
6459 2011-05-07  Bruno Haible  <bruno@clisp.org>
6460
6461         freopen: Move AC_LIBOBJ invocations to module description.
6462         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
6463         invocations from here...
6464         * modules/freopen (configure.ac): ... to here.
6465
6466 2011-05-07  Bruno Haible  <bruno@clisp.org>
6467
6468         free: Move AC_LIBOBJ invocations to module description.
6469         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
6470         invocations from here...
6471         * modules/free (configure.ac): ... to here.
6472
6473 2011-05-07  Bruno Haible  <bruno@clisp.org>
6474
6475         freadable: Move AC_LIBOBJ invocations to module description.
6476         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
6477         here...
6478         * modules/freadable (configure.ac): ... to here.
6479
6480 2011-05-07  Bruno Haible  <bruno@clisp.org>
6481
6482         fpurge: Move AC_LIBOBJ invocations to module description.
6483         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
6484         invocations from here...
6485         * modules/fpurge (configure.ac): ... to here.
6486
6487 2011-05-07  Bruno Haible  <bruno@clisp.org>
6488
6489         fpending: Move AC_LIBOBJ invocations to module description.
6490         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
6491         gl_FUNC_FPENDING.
6492         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
6493         invocations from here...
6494         * modules/fpending (configure.ac): ... to here.
6495
6496 2011-05-07  Bruno Haible  <bruno@clisp.org>
6497
6498         fopen: Move AC_LIBOBJ invocations to module description.
6499         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
6500         invocations from here...
6501         * modules/fopen (configure.ac): ... to here.
6502
6503 2011-05-07  Bruno Haible  <bruno@clisp.org>
6504
6505         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
6506         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
6507         gl_FUNC_FNMATCH_POSIX.
6508         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
6509         invocations from here...
6510         * modules/fnmatch (configure.ac): ... to here.
6511         * modules/fnmatch-gnu (configure.ac): ... and here.
6512
6513 2011-05-07  Bruno Haible  <bruno@clisp.org>
6514
6515         flock: Move AC_LIBOBJ invocations to module description.
6516         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
6517         invocations from here...
6518         * modules/flock (configure.ac): ... to here.
6519
6520 2011-05-07  Bruno Haible  <bruno@clisp.org>
6521
6522         fileblocks: Move AC_LIBOBJ invocations to module description.
6523         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
6524         gl_PREREQ_FILEBLOCKS invocations from here...
6525         * modules/fileblocks (configure.ac): ... to here.
6526
6527 2011-05-06  Bruno Haible  <bruno@clisp.org>
6528
6529         fflush: Move AC_LIBOBJ invocations to module description.
6530         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
6531         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
6532         invocations from here...
6533         * modules/fflush (configure.ac): ... to here.
6534
6535 2011-05-06  Bruno Haible  <bruno@clisp.org>
6536
6537         fdopendir: Move AC_LIBOBJ invocations to module description.
6538         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
6539         here...
6540         * modules/fdopendir (configure.ac): ... to here.
6541         (Depends-on): Improve conditions.
6542
6543 2011-05-06  Bruno Haible  <bruno@clisp.org>
6544
6545         _Exit: Move AC_LIBOBJ invocations to module description.
6546         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
6547         invocations from here...
6548         * modules/_Exit (configure.ac): ... to here.
6549
6550 2011-05-21  Bruno Haible  <bruno@clisp.org>
6551
6552         euidaccess: Respect rules for use of AC_LIBOBJ.
6553         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
6554         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
6555         from here...
6556         * modules/euidaccess (configure.ac): ... to here.
6557
6558 2011-05-06  Bruno Haible  <bruno@clisp.org>
6559
6560         error: Move AC_LIBOBJ invocations to module description.
6561         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
6562         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
6563         invocations from here...
6564         * modules/error (configure.ac): ... to here.
6565
6566 2011-05-06  Bruno Haible  <bruno@clisp.org>
6567
6568         duplocale: Move AC_LIBOBJ invocations to module description.
6569         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
6570         gl_PREREQ_DUPLOCALE invocations from here...
6571         * modules/duplocale (configure.ac): ... to here.
6572
6573 2011-05-05  Bruno Haible  <bruno@clisp.org>
6574
6575         dirfd: Move AC_LIBOBJ invocations to module description.
6576         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
6577         gl_FUNC_DIRFD.
6578         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
6579         here...
6580         * modules/dirfd (configure.ac): ... to here.
6581         (Depends-on): Fix condition.
6582
6583 2011-05-05  Bruno Haible  <bruno@clisp.org>
6584
6585         chown: Respect rules for use of AC_LIBOBJ.
6586         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
6587         * modules/chown (configure.ac): ... to here.
6588
6589 2011-05-05  Bruno Haible  <bruno@clisp.org>
6590
6591         chdir-long: Move AC_LIBOBJ invocations to module description.
6592         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
6593         gl_PREREQ_CHDIR_LONG invocations from here...
6594         * modules/chdir-long (configure.ac): ... to here.
6595
6596 2011-05-05  Bruno Haible  <bruno@clisp.org>
6597
6598         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
6599         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
6600         from here...
6601         * modules/canonicalize-lgpl (configure.ac): ... to here.
6602
6603 2011-05-05  Bruno Haible  <bruno@clisp.org>
6604
6605         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
6606         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
6607         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
6608         REPLACE_CALLOC.
6609         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
6610         * modules/calloc-gnu (configure.ac): Likewise.
6611
6612 2011-05-05  Bruno Haible  <bruno@clisp.org>
6613
6614         btowc: Move AC_LIBOBJ invocations to module description.
6615         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
6616         invocations from here...
6617         * modules/btowc (configure.ac): ... to here.
6618
6619 2011-05-21  Bruno Haible  <bruno@clisp.org>
6620
6621         atexit: Move AC_LIBOBJ invocations to module description.
6622         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
6623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
6624         here...
6625         * modules/atexit (configure.ac): ... to here.
6626
6627 2011-05-05  Bruno Haible  <bruno@clisp.org>
6628
6629         atoll: Move AC_LIBOBJ invocations to module description.
6630         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
6631         invocations from here...
6632         * modules/atoll (configure.ac): ... to here.
6633
6634 2011-05-05  Bruno Haible  <bruno@clisp.org>
6635
6636         argz: Move AC_LIBOBJ invocations to module description.
6637         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
6638         * modules/argz (configure.ac): ... to here.
6639
6640 2011-05-05  Bruno Haible  <bruno@clisp.org>
6641
6642         alphasort: Move AC_LIBOBJ invocations to module description.
6643         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
6644         gl_PREREQ_ALPHASORT invocations from here...
6645         * modules/alphasort (configure.ac): ... to here.
6646
6647 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
6648
6649         verify: new macro verify_expr; verify_true deprecated
6650         * NEWS: Mention this.
6651         * doc/verify.texi (Compile-time Assertions): Document this.
6652         * lib/verify.h (verify_true): Deprecate.
6653         (verify_expr): New macro.
6654         * tests/test-verify.c (function): Test verify_expr.
6655
6656 2011-06-14  Jim Meyering  <meyering@redhat.com>
6657
6658         init.sh: give more portable redirection-related advice in a comment
6659         * tests/init.sh (stderr_fileno_): Update the advice in comments.
6660         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
6661         for lots of discussion.  Stefano Lattarini suggested the solution
6662         of putting "9>&2" after the command.  Reported by Bruno Haible.
6663
6664 2011-06-13  Bruno Haible  <bruno@clisp.org>
6665
6666         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
6667         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
6668         'none'.
6669
6670 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
6671
6672         ftoastr: use strtof only if HAVE_STRTOF
6673         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
6674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
6675         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
6676         * modules/ftoastr (configure.ac): Check for strtof.
6677
6678 2011-06-13  Bruno Haible  <bruno@clisp.org>
6679
6680         gnulib-tool: Addendum to 2011-06-08 commit.
6681         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
6682         and --witness-c-macro have been given, augment AM_CPPFLAGS.
6683
6684 2011-06-13  Bruno Haible  <bruno@clisp.org>
6685
6686         fseeko: Provide a non-inline replacement of fseek().
6687         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
6688         * modules/fseeko (Depends-on): Add fseek.
6689         * modules/fseek (License): Change to LGPLv2+.
6690
6691 2011-06-13  Bruno Haible  <bruno@clisp.org>
6692
6693         ftello: Provide a non-inline replacement of ftell().
6694         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
6695         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
6696         not have ftello() (such as on mingw).
6697         * modules/ftello (Depends-on): Add ftell.
6698         * modules/ftell (License): Change to LGPLv2+.
6699
6700 2011-05-07  Bruno Haible  <bruno@clisp.org>
6701
6702         ftell: Move AC_LIBOBJ invocations to module description.
6703         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
6704         * modules/ftell (configure.ac): ... to here.
6705
6706 2011-05-07  Bruno Haible  <bruno@clisp.org>
6707
6708         ftello: Respect rules for use of AC_LIBOBJ.
6709         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
6710         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
6711         here...
6712         * modules/ftello (configure.ac): ... to here.
6713
6714 2011-05-07  Bruno Haible  <bruno@clisp.org>
6715
6716         fseeko: Simplify.
6717         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
6718         (gl_FUNC_FSEEKO): Inline it here.
6719
6720 2011-05-07  Bruno Haible  <bruno@clisp.org>
6721
6722         fseek: Move AC_LIBOBJ invocations to module description.
6723         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
6724         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
6725         * modules/fseek (configure.ac): ... to here.
6726
6727 2011-05-07  Bruno Haible  <bruno@clisp.org>
6728
6729         fseek: Respect rules for use of AC_LIBOBJ.
6730         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
6731         here...
6732         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
6733
6734 2011-05-07  Bruno Haible  <bruno@clisp.org>
6735
6736         fseeko: Respect rules for use of AC_LIBOBJ.
6737         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
6738         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
6739         here...
6740         * modules/fseeko (configure.ac): ... to here.
6741
6742 2011-06-13  Bruno Haible  <bruno@clisp.org>
6743
6744         gnulib-tool: Allow comments in the 'Depends-on' section.
6745         * doc/gnulib.texi (Module description): Mention comment syntax in the
6746         Depends-on section.
6747         * gnulib-tool (func_get_dependencies): Filter out comment lines.
6748
6749 2011-06-13  Bruno Haible  <bruno@clisp.org>
6750
6751         file-set.h: guard __attibute__ use, now that it's not always defined
6752         * lib/file-set.h (record_file): Use __attribute__ only with compiler
6753         versions that support it.  This fixes a coreutils build failure with
6754         the vendor cc on HP-UX 11.31.
6755
6756 2011-06-12  Bruno Haible  <bruno@clisp.org>
6757
6758         acl: Add support for HP-UX >= 11.11 JFS ACLs.
6759         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
6760         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
6761         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
6762         (acl, aclsort): New declarations.
6763         (aclv_nontrivial): New declaration.
6764         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
6765         (file_has_acl): Read also the second kind of HP-UX ACLs.
6766         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
6767         kind of HP-UX ACLs if the first kind fails.
6768         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
6769         second kind of HP-UX ACLs.
6770         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
6771         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
6772         agree.
6773         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
6774         hpuxjfs.
6775         Handle hpuxjfs.
6776         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
6777         hpuxjfs.
6778         Handle hpuxjfs.
6779         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
6780         (func_test_same_acls): Use both lsacl and getacl.
6781         Handle hpuxjfs.
6782         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
6783         (func_test_same_acls): Use both lsacl and getacl.
6784         Handle hpuxjfs.
6785
6786 2011-06-12  Bruno Haible  <bruno@clisp.org>
6787
6788         acl: Complete the 2010-08-10 fix.
6789         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
6790         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
6791         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
6792         explicitly.
6793         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
6794         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
6795
6796 2011-06-12  Bruno Haible  <bruno@clisp.org>
6797
6798         spawn-pipe tests: Comments.
6799         * tests/test-spawn-pipe-child.c (main): Update comment.
6800         Reported by James Youngman <jay@gnu.org>.
6801
6802 2011-06-11  James Youngman  <jay@gnu.org>
6803
6804         New module 'stat-size'.
6805         * modules/stat-size: New module.  Provides macros for accessing
6806         file size information in instances of struct stat.  Depends on the
6807         fileblocks module because it calls st_blocks.
6808         * lib/stat-size.h: New file, adapted from coreutils' system.h.
6809         * doc/gnulib.texi: Include stat-size.texi.
6810         * doc/stat-size.texi: Documentation for this module.
6811         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
6812         * m4/fileblocks.m4: Mention that stat-size depends on the call to
6813         AC_STRUCT_ST_BLOCKS.
6814
6815 2011-06-09  Bruno Haible  <bruno@clisp.org>
6816
6817         thread: Support pthreads-win32.
6818         * lib/glthread/thread.h (gl_thread_self): Define differently on
6819         pthreads-win32.
6820         (gl_null_thread): New declaration.
6821         (gl_thread_self_pointer): New macro.
6822         * lib/glthread/thread.c (gl_null_thread): New constant.
6823         * tests/test-lock.c: Use gl_thread_self_pointer instead of
6824         gl_thread_self.
6825         * tests/test-tls.c: Likewise.
6826         Suggested by Paul Eggert. Reported by Eric Blake.
6827
6828 2011-06-09  Bruno Haible  <bruno@clisp.org>
6829
6830         thread: Fix confusion between NULL and 0.
6831         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
6832         Reported by Paul Eggert.
6833
6834 2011-06-09  Bruno Haible  <bruno@clisp.org>
6835
6836         spawn-pipe tests: Avoid test failure on HP-UX 11.
6837         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
6838         is closed.
6839
6840 2011-06-09  Bruno Haible  <bruno@clisp.org>
6841
6842         acl tests: Fix compilation error on HP-UX 11.
6843         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
6844
6845 2011-06-09  Bruno Haible  <bruno@clisp.org>
6846
6847         rmdir: Avoid test failure on HP-UX 10.20.
6848         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
6849         EEXIST.
6850
6851 2011-06-08  Eric Blake  <eblake@redhat.com>
6852
6853         perror: fix test on mingw
6854         * modules/perror-tests (Depends-on): Add dup2.
6855
6856         strerror_r-posix: fix on MacOS
6857         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
6858         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
6859         logic bug.
6860         * lib/strerror_r.c (strerror_r): Fix the bug.
6861         * lib/strerror.c (strerror): Likewise.
6862         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
6863         problem.
6864         * doc/posix-functions/strerror.texi (strerror): Likewise.
6865         * doc/posix-functions/perror.texi (perror): Likewise.
6866         * tests/test-strerror.c (main): Enhance test.
6867         * tests/test-strerror_r.c (main): Likewise.
6868
6869 2011-06-08  Bruno Haible  <bruno@clisp.org>
6870
6871         gnulib-tool: Better isolation between different gnulib-tool invocations.
6872         * gnulib-tool: New option --witness-c-macro.
6873         (witness_c_macro): New variable.
6874         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
6875         AM_CPPFLAGS define it as a C macro.
6876         (func_emit_tests_Makefile_am): Likewise.
6877         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
6878         read it from there.
6879         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
6880         m4_define, not AC_DEFUN.
6881         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
6882         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
6883         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
6884         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
6885         s|...|...|, to substitute the values of the GNULIB_* module indicator
6886         variables.
6887         * modules/dirent (Makefile.am): Likewise.
6888         * modules/fcntl-h (Makefile.am): Likewise.
6889         * modules/iconv-h (Makefile.am): Likewise.
6890         * modules/langinfo (Makefile.am): Likewise.
6891         * modules/locale (Makefile.am): Likewise.
6892         * modules/math (Makefile.am): Likewise.
6893         * modules/netdb (Makefile.am): Likewise.
6894         * modules/poll-h (Makefile.am): Likewise.
6895         * modules/pty (Makefile.am): Likewise.
6896         * modules/search (Makefile.am): Likewise.
6897         * modules/signal (Makefile.am): Likewise.
6898         * modules/spawn (Makefile.am): Likewise.
6899         * modules/stdio (Makefile.am): Likewise.
6900         * modules/stdlib (Makefile.am): Likewise.
6901         * modules/string (Makefile.am): Likewise.
6902         * modules/sys_ioctl (Makefile.am): Likewise.
6903         * modules/sys_select (Makefile.am): Likewise.
6904         * modules/sys_socket (Makefile.am): Likewise.
6905         * modules/sys_stat (Makefile.am): Likewise.
6906         * modules/sys_times (Makefile.am): Likewise.
6907         * modules/sys_utsname (Makefile.am): Likewise.
6908         * modules/sys_wait (Makefile.am): Likewise.
6909         * modules/termios (Makefile.am): Likewise.
6910         * modules/time (Makefile.am): Likewise.
6911         * modules/unistd (Makefile.am): Likewise.
6912         * modules/wchar (Makefile.am): Likewise.
6913
6914 2011-06-08  Eric Blake  <eblake@redhat.com>
6915
6916         strerror: simplify replacement
6917         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
6918         * modules/strerror (configure.ac): No prereqs needed here...
6919         * modules/strerror-override (configure.ac): ...but this needs it.
6920         (Files): Add file for needed prereq macro.
6921
6922 2011-06-08  Bruno Haible  <bruno@clisp.org>
6923
6924         strerror_r-posix: Tweaks.
6925         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
6926         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
6927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
6928         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
6929         (gl_FUNC_STRERROR_R): ... to here.
6930         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
6931
6932 2011-06-07  Eric Blake  <eblake@redhat.com>
6933
6934         perror: document fixed bugs
6935         * doc/posix-functions/perror.texi (perror): Document recent
6936         patches.
6937
6938 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
6939
6940         stat-time: get_stat_birthtime failure is better-defined
6941         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
6942         return a timestamp whose tv_sec and tv_nsec values are both -1.
6943         Previously, the spec said only that the tv_nsec value was negative.
6944         This upward-compatible change simplifies GNU tar a bit.
6945
6946 2011-06-07  Eric Blake  <eblake@redhat.com>
6947
6948         strerror_r-posix: work around cygwin 1.7.9
6949         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
6950         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
6951         bug without replacing strerror_r.
6952         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
6953         strerror_r is buggy, but without requiring strerror_r compilation.
6954         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
6955
6956         test-perror: relax test to ignore cygwin bug
6957         * tests/test-perror2.c (main): Relax test on requiring detection
6958         of stream errors, and use unbuffered stream.
6959         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
6960         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
6961         * doc/posix-functions/fputc.texi (fputc): Likewise.
6962         * doc/posix-functions/fputs.texi (fputs): Likewise.
6963         * doc/posix-functions/fputws.texi (fputws): Likewise.
6964         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
6965         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
6966         * doc/posix-functions/getopt.texi (getopt): Likewise.
6967         * doc/posix-functions/perror.texi (perror): Likewise.
6968         * doc/posix-functions/printf.texi (printf): Likewise.
6969         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
6970         * doc/posix-functions/psignal.texi (psignal): Likewise.
6971         * doc/posix-functions/putc.texi (putc): Likewise.
6972         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
6973         Likewise.
6974         * doc/posix-functions/putchar.texi (putchar): Likewise.
6975         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
6976         Likewise.
6977         * doc/posix-functions/puts.texi (puts): Likewise.
6978         * doc/posix-functions/putwc.texi (putwc): Likewise.
6979         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
6980         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
6981         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
6982         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
6983         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
6984         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
6985         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
6986         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
6987
6988 2011-05-22  Bruno Haible  <bruno@clisp.org>
6989
6990         strerror: Move AC_LIBOBJ invocations to module description.
6991         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
6992         gl_PREREQ_STRERROR invocations from here...
6993         * modules/strerror (configure.ac): ... to here.
6994
6995 2011-05-21  Bruno Haible  <bruno@clisp.org>
6996
6997         perror: Use common idiom.
6998         * modules/perror (configure.ac): Reorder statements.
6999
7000 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7001
7002         tests: fix usage message in 'mktempd_'
7003         * tests/init.sh (mktempd_): In the usage message, use literal
7004         'mktempd_', not '$ME' (which is even undefined), as the name of
7005         the subroutine.
7006
7007 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7008
7009         tests init: new function 'fatal_', for hard errors
7010         Before this patch, the only way offered by tests/init.sh to
7011         properly signal a hard error was the `framework_failure_'
7012         function.  But the error message issued by that function,
7013         as its name would suggest, refers to a set-up failure in the
7014         testsuite, while hard errors can obviously also be due to
7015         other reasons.  The best way to fix this inconsistency is to
7016         introduce a new function with a more general error message.
7017         * tests/init.sh (fatal_): New function.
7018
7019 2011-06-06  Eric Blake  <eblake@redhat.com>
7020
7021         canonicalize-lgpl: use common idiom
7022         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
7023         over newer POSIX -Rf.
7024         Reported by Bruno Haible.
7025
7026         canonicalize-lgpl: work around AIX realpath bug
7027         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
7028         * doc/posix-functions/realpath.texi (realpath): Document it.
7029         Reported by Bruno Haible.
7030
7031         strerror: work around FreeBSD bug
7032         * lib/strerror.c (strerror): Special case 0.
7033         Reported by Bruno Haible.
7034
7035         strerror-override: avoid bloating errno module
7036         * modules/errno (Files, configure.ac): Move replacement strings...
7037         * modules/strerror-override: ...to new module.
7038         * modules/strerror (Depends-on): Add strerror-override.
7039         * modules/strerror_r-posix (Depends-on): Likewise.
7040         * MODULES.html.sh: Document new module.
7041         Reported by Bruno Haible.
7042
7043 2011-06-06  Bruno Haible  <bruno@clisp.org>
7044
7045         spawn-pipe tests: Rename program.
7046         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
7047         * tests/test-spawn-pipe-child.c: Update comment.
7048         * tests/test-spawn-pipe.sh: Update.
7049         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
7050
7051         spawn-pipe tests: Link the child program only against libc.
7052         * tests/test-spawn-pipe-child.c: New file, extracted from
7053         tests/test-spawn-pipe.c.
7054         (main): Expect only one argument.
7055         (is_open): New function, copied from tests/test-pipe.c.
7056         * tests/test-spawn-pipe.c: Don't include <errno.h>.
7057         (child_main): Remove function.
7058         (test_pipe): Pass only one argument to the child program.
7059         (main): Remove child process code. Expect the child program's name as
7060         first argument.
7061         * tests/test-spawn-pipe.sh: Pass the child program's name as first
7062         argument.
7063         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
7064         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
7065         test-spawn-pipe-child against no libraries.
7066
7067 2011-06-06  Bruno Haible  <bruno@clisp.org>
7068
7069         careadlinkat: Avoid mismatch between ssize_t and int.
7070         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
7071         * lib/careadlinkat.c (careadlinkatcwd): Define always.
7072
7073 2011-06-06  Jim Meyering  <meyering@redhat.com>
7074
7075         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
7076         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
7077         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
7078
7079 2011-06-05  Bruno Haible  <bruno@clisp.org>
7080
7081         ansi-c++-opt: Interoperability with libtool.
7082         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
7083         set the variable to "no", not to ":".
7084         * NEWS: Mention the change.
7085
7086 2011-06-05  Bruno Haible  <bruno@clisp.org>
7087
7088         acl: Fix test failure on AIX 7.
7089         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
7090         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
7091
7092 2011-06-05  Bruno Haible  <bruno@clisp.org>
7093
7094         pipe-filter-ii: Fix test failure on AIX and IRIX.
7095         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
7096         with EAGAIN, retry with a smaller buffer size.
7097
7098 2011-06-05  Bruno Haible  <bruno@clisp.org>
7099
7100         localename: Fix link dependencies.
7101         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
7102         * modules/localename-tests (Makefile.am): Link test-localename with
7103         $(LIBTHREAD).
7104
7105 2011-06-05  Bruno Haible  <bruno@clisp.org>
7106
7107         error: Avoid gcc warning.
7108         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
7109
7110 2011-06-05  Bruno Haible  <bruno@clisp.org>
7111
7112         unsetenv: Avoid gcc warning.
7113         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
7114
7115 2011-06-05  Bruno Haible  <bruno@clisp.org>
7116
7117         setenv: Avoid gcc warning.
7118         * lib/setenv.c (setenv): Provide declaration if system lacks it.
7119
7120 2011-06-05  Bruno Haible  <bruno@clisp.org>
7121
7122         sys_select: Ensure memset is declared also on AIX 7.
7123         * lib/sys_select.in.h: Include <string.h> also on AIX.
7124         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
7125         self-contained also on AIX 7.1.
7126
7127 2011-06-04  Jim Meyering  <meyering@redhat.com>
7128
7129         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
7130         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
7131         function name, "error".
7132         (_gl_translatable_diag_func_re): New configurable variable.
7133
7134 2011-06-04  Bruno Haible  <bruno@clisp.org>
7135
7136         getopt: Avoid gcc warning.
7137         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
7138
7139 2011-06-04  Bruno Haible  <bruno@clisp.org>
7140
7141         strerror_r: Fix comments.
7142         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
7143         commit.
7144
7145 2011-06-04  Bruno Haible  <bruno@clisp.org>
7146
7147         perror: Fix compilation error.
7148         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
7149         Undefine fprintf, not sprintf.
7150         * modules/perror (Depends-on): Remove intprops, verify.
7151
7152 2011-06-04  Bruno Haible  <bruno@clisp.org>
7153
7154         setlocale: Enable replacement on Cygwin 1.5.
7155         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
7156         Cygwin 1.5.x.
7157         * doc/posix-functions/setlocale.texi: Mention that the problem with the
7158         LC_CTYPE category also exists on Cygwin 1.5.x.
7159
7160 2011-06-04  Bruno Haible  <bruno@clisp.org>
7161
7162         strerror-override: Don't disable symbol renamings.
7163         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
7164         * lib/strerror-override.c: Include config.h.
7165         (strerror_override): Don't undefine.
7166
7167 2011-06-03  Bruno Haible  <bruno@clisp.org>
7168
7169         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
7170         * lib/localename.h: Update copyright header.
7171         * lib/localename.c: Likewise.
7172         * lib/relocatable.h: Likewise.
7173         * lib/relocatable.c: Likewise.
7174
7175 2011-06-02  Bruno Haible  <bruno@clisp.org>
7176
7177         doc: Fix a module name.
7178         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
7179
7180 2011-06-02  Bruno Haible  <bruno@clisp.org>
7181
7182         pipe2: Remove dependency on 'nonblocking' module.
7183         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
7184         O_NONBLOCK is defined by gnulib.
7185         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
7186         is zero.
7187         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
7188         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
7189         defined by gnulib.
7190         (get_nonblocking_flag): New function.
7191         (main): Test O_NONBLOCK flag only if it is nonzero.
7192         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
7193
7194 2011-06-03  Jim Meyering  <meyering@redhat.com>
7195
7196         maint: three new prohibit-header-without-use rules
7197         Prohibit use of cloexec.h, posixver.h, same.h without use.
7198         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
7199         (sc_prohibit_posixver_without_use): Likewise.
7200         (sc_prohibit_same_without_use): Likewise.
7201
7202 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
7203
7204         allocator: 'die' routine is now given requested size
7205         * lib/allocator.h (struct allocator.die): New size arg.
7206         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
7207         If the actual problem is an ssize_t limitation, not a size_t or
7208         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
7209
7210 2011-06-01  Eric Blake  <eblake@redhat.com>
7211
7212         strerror: drop strerror_r dependency
7213         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
7214         * lib/strerror-override.c (strerror_override): ...to new file.
7215         * lib/strerror-override.h: Add prototype.
7216         * lib/strerror-impl.h: Delete.
7217         * lib/strerror.c (strerror): New implementation.
7218         * modules/errno (Files): Add new files.
7219         (configure.ac): Compile new file as appropriate.
7220         * modules/strerror (Files): Drop unused file.
7221         (Depends-on): Drop strerror_r-posix.
7222         * MODULES.html.sh: Document strerror_r-posix.
7223         Requested by Sam Steingold.
7224
7225         perror: call strerror_r directly
7226         * modules/perror (Files): Drop strerror-impl.h.
7227         * lib/perror.c (perror): Use our own stack buffer, rather than
7228         calling a wrapper that uses static storage.
7229         * doc/posix-functions/perror.texi (perror): Document a limitation
7230         of our replacement.
7231
7232         strerror_r: fix includes for FreeBSD
7233         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
7234         since we use abort on some platforms.
7235         Reported by Matthias Bolte.
7236
7237 2011-05-31  Bruno Haible  <bruno@clisp.org>
7238
7239         Fix link errors in tests: openat-die uses gettext-h.
7240         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
7241         against $(LIBINTL).
7242         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
7243         against $(LIBINTL).
7244         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
7245         $(LIBINTL).
7246         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
7247         against $(LIBINTL).
7248         * modules/linkat-tests (Makefile.am): Link test-linkat against
7249         $(LIBINTL).
7250         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
7251         $(LIBINTL).
7252         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
7253         against $(LIBINTL).
7254         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
7255         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
7256         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
7257         $(LIBINTL).
7258         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
7259         $(LIBINTL).
7260         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
7261         $(LIBINTL).
7262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7263
7264 2011-05-31  Bruno Haible  <bruno@clisp.org>
7265
7266         Fix link errors in tests: wait-process uses gettext-h.
7267         * modules/nonblocking-pipe-tests (Makefile.am): Set
7268         test_nonblocking_pipe_main_LDADD.
7269         * modules/nonblocking-socket-tests (Makefile.am): Link
7270         test-nonblocking-socket-main against $(LIBINTL).
7271         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7272
7273 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7274
7275         assert-h: work around 'verify' incompatibility
7276         * lib/verify.h: Use @...@ directives, not ifdef.
7277         * modules/assert-h (assert.h): Implement the directives.
7278         (assert.h): Substitute the symbol-prefix more consistently.
7279
7280 2011-05-29  Jim Meyering  <meyering@redhat.com>
7281
7282         trim: remove three superfluous assignments
7283         * lib/trim.c (trim2): Remove three superfluous assignments
7284         and correct brace positioning.
7285
7286 2011-05-29  Bruno Haible  <bruno@clisp.org>
7287
7288         wctype-h: Avoid namespace pollution on Solaris 2.6.
7289         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
7290         identifiers.
7291         * doc/posix-headers/wctype.texi: Mention the problem.
7292         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7293
7294 2011-05-28  Jim Meyering  <meyering@redhat.com>
7295
7296         parse-datetime.y: accommodate -Wstrict-overflow
7297         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
7298         placate -Wstrict-overflow.
7299
7300         trim: avoid a warning from -O2 -Wstrict-overflow
7301         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
7302
7303 2011-05-29  Bruno Haible  <bruno@clisp.org>
7304
7305         gnulib-tool: Fix bug in yesterday's commit.
7306         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
7307         twice.
7308
7309 2011-05-29  Bruno Haible  <bruno@clisp.org>
7310
7311         Allow multiple gnulib generated include files to be combined.
7312         * gnulib-tool (func_compute_include_guard_prefix): New function.
7313         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
7314         ${gl_include_guard_prefix} references.
7315         (func_import, func_create_testdir): Invoke
7316         func_compute_include_guard_prefix.
7317         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
7318         * lib/ctype.in.h: Likewise.
7319         * lib/dirent.in.h: Likewise.
7320         * lib/errno.in.h: Likewise.
7321         * lib/fcntl.in.h: Likewise.
7322         * lib/float.in.h: Likewise.
7323         * lib/getopt.in.h: Likewise.
7324         * lib/iconv.in.h: Likewise.
7325         * lib/langinfo.in.h: Likewise.
7326         * lib/locale.in.h: Likewise.
7327         * lib/math.in.h: Likewise.
7328         * lib/netdb.in.h: Likewise.
7329         * lib/netinet_in.in.h: Likewise.
7330         * lib/poll.in.h: Likewise.
7331         * lib/pthread.in.h: Likewise.
7332         * lib/pty.in.h: Likewise.
7333         * lib/sched.in.h: Likewise.
7334         * lib/se-selinux.in.h: Likewise.
7335         * lib/search.in.h: Likewise.
7336         * lib/signal.in.h: Likewise.
7337         * lib/spawn.in.h: Likewise.
7338         * lib/stdarg.in.h: Likewise.
7339         * lib/stddef.in.h: Likewise.
7340         * lib/stdint.in.h: Likewise.
7341         * lib/stdio.in.h: Likewise.
7342         * lib/stdlib.in.h: Likewise.
7343         * lib/string.in.h: Likewise.
7344         * lib/strings.in.h: Likewise.
7345         * lib/sys_file.in.h: Likewise.
7346         * lib/sys_ioctl.in.h: Likewise.
7347         * lib/sys_select.in.h: Likewise.
7348         * lib/sys_socket.in.h: Likewise.
7349         * lib/sys_stat.in.h: Likewise.
7350         * lib/sys_time.in.h: Likewise.
7351         * lib/sys_times.in.h: Likewise.
7352         * lib/sys_uio.in.h: Likewise.
7353         * lib/sys_utsname.in.h: Likewise.
7354         * lib/sys_wait.in.h: Likewise.
7355         * lib/sysexits.in.h: Likewise.
7356         * lib/termios.in.h: Likewise.
7357         * lib/time.in.h: Likewise.
7358         * lib/unistd.in.h: Likewise.
7359         * lib/wchar.in.h: Likewise.
7360         * lib/wctype.in.h: Likewise.
7361         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
7362         * modules/ctype (Makefile.am): Likewise.
7363         * modules/dirent (Makefile.am): Likewise.
7364         * modules/errno (Makefile.am): Likewise.
7365         * modules/fcntl-h (Makefile.am): Likewise.
7366         * modules/float (Makefile.am): Likewise.
7367         * modules/getopt-posix (Makefile.am): Likewise.
7368         * modules/iconv-h (Makefile.am): Likewise.
7369         * modules/langinfo (Makefile.am): Likewise.
7370         * modules/locale (Makefile.am): Likewise.
7371         * modules/math (Makefile.am): Likewise.
7372         * modules/netdb (Makefile.am): Likewise.
7373         * modules/netinet_in (Makefile.am): Likewise.
7374         * modules/poll-h (Makefile.am): Likewise.
7375         * modules/pthread (Makefile.am): Likewise.
7376         * modules/pty (Makefile.am): Likewise.
7377         * modules/sched (Makefile.am): Likewise.
7378         * modules/search (Makefile.am): Likewise.
7379         * modules/selinux-h (Makefile.am): Likewise.
7380         * modules/signal (Makefile.am): Likewise.
7381         * modules/spawn (Makefile.am): Likewise.
7382         * modules/stdarg (Makefile.am): Likewise.
7383         * modules/stddef (Makefile.am): Likewise.
7384         * modules/stdint (Makefile.am): Likewise.
7385         * modules/stdio (Makefile.am): Likewise.
7386         * modules/stdlib (Makefile.am): Likewise.
7387         * modules/string (Makefile.am): Likewise.
7388         * modules/strings (Makefile.am): Likewise.
7389         * modules/sys_file (Makefile.am): Likewise.
7390         * modules/sys_ioctl (Makefile.am): Likewise.
7391         * modules/sys_select (Makefile.am): Likewise.
7392         * modules/sys_socket (Makefile.am): Likewise.
7393         * modules/sys_stat (Makefile.am): Likewise.
7394         * modules/sys_time (Makefile.am): Likewise.
7395         * modules/sys_times (Makefile.am): Likewise.
7396         * modules/sys_uio (Makefile.am): Likewise.
7397         * modules/sys_utsname (Makefile.am): Likewise.
7398         * modules/sys_wait (Makefile.am): Likewise.
7399         * modules/sysexits (Makefile.am): Likewise.
7400         * modules/termios (Makefile.am): Likewise.
7401         * modules/time (Makefile.am): Likewise.
7402         * modules/unistd (Makefile.am): Likewise.
7403         * modules/wchar (Makefile.am): Likewise.
7404         * modules/wctype-h (Makefile.am): Likewise.
7405         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
7406
7407 2011-05-29  Bruno Haible  <bruno@clisp.org>
7408
7409         assert-h: Allow multiple gnulib generated replacements to coexist.
7410         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
7411
7412 2011-05-29  Bruno Haible  <bruno@clisp.org>
7413
7414         argp: Allow coexistence with strerror_r-posix module.
7415         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
7416         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
7417         by gnulib's <string.h> replacement), assume it has the POSIX signature,
7418         not the glibc signature.
7419
7420 2011-05-28  Bruno Haible  <bruno@clisp.org>
7421
7422         gnulib-tool: Alternative structure of testdirs, similar to --import.
7423         * gnulib-tool: New option --single-configure.
7424         (func_usage): Document it.
7425         (single_configure): New variable.
7426         (func_modules_transitive_closure_separately,
7427         func_modules_transitive_closure_separately,
7428         func_determine_use_libtests, func_modules_add_dummy_separately,
7429         func_modules_to_filelist_separately): New functions, extracted from
7430         func_import.
7431         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
7432         (func_import): Use the new functions.
7433         (func_create_testdir): Set final_modules. Handle $single_configure =
7434         true case.
7435
7436 2011-05-28  Bruno Haible  <bruno@clisp.org>
7437
7438         getloadavg: Remove an unreliable safety check.
7439         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
7440         getloadavg.c is in place.
7441         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
7442         Reported by Sam Steingold <sds@gnu.org>.
7443
7444 2011-05-28  Bruno Haible  <bruno@clisp.org>
7445
7446         doc: Cleanup yet another file produced by texinfo.tex.
7447         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
7448
7449 2011-05-28  Bruno Haible  <bruno@clisp.org>
7450
7451         Finish the conditional dependencies mechanism.
7452         * gnulib-tool: New option --no-conditional-dependencies.
7453         (func_usage): Document it. Don't mark --conditional-dependencies as
7454         experimental.
7455         (cond_dependencies): The possible values can now be true, false, empty.
7456         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
7457         (func_import): Store setting in gnulib-cache.m4 and read it from there.
7458         * doc/gnulib-tool.texi (Conditional dependencies): New section.
7459
7460 2011-05-28  Bruno Haible  <bruno@clisp.org>
7461
7462         doc: Use a recent texinfo.tex.
7463         * doc/Makefile (tex_opts): New variable.
7464         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
7465
7466 2011-05-28  Jim Meyering  <meyering@redhat.com>
7467
7468         intprops.h: adjust comment to match code change
7469         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
7470         only once, it *may* have side effects.  Also fix an unrelated typo.
7471         (_GL_INT_SIGNED): Likewise.
7472
7473 2011-05-26  Simon Josefsson  <simon@josefsson.org>
7474
7475         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
7476
7477 2011-05-26  Bruno Haible  <bruno@clisp.org>
7478
7479         mbsrchr: Avoid collision with system function on Interix.
7480         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
7481         Reported by Markus Duft <mduft@gentoo.org>.
7482
7483 2011-05-15  James Youngman  <jay@gnu.org>
7484
7485         getopt: for ambiguous options, enumerate the possibilities.
7486         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
7487         the ambiguous options when an ambiguous prefix is given. This was
7488         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
7489         glibc change was
7490         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
7491
7492 2011-05-25  Eric Blake  <eblake@redhat.com>
7493
7494         getcwd: work around mingw bug
7495         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
7496         * doc/posix-functions/getcwd.texi (getcwd): Document it.
7497         Reported by Matthias Bolte.
7498
7499 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7500
7501         test-intprops: disable -Wtype-limits diagnostics
7502         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
7503         diagnostics.  Otherwise, the integer overflow macros generate many
7504         diagnostics.  Reported by Jim Meyering in
7505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
7506
7507         intprops: shorten, to pacify gcc -Woverlength-strings
7508         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
7509         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
7510         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
7511         likely to run afoul of C compiler limits for string constant lengths.
7512         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
7513
7514 2011-05-24  Eric Blake  <eblake@redhat.com>
7515
7516         docs: document recently fixed glibc printf bug
7517         * doc/posix-functions/fprintf.texi (fprintf): Document it.
7518         * doc/posix-functions/printf.texi (printf): Likewise.
7519         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7520         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7521
7522         closein-tests: convert to init.sh
7523         * modules/closein-tests (Files): Add init.sh
7524         * tests/test-closein.sh Use it.
7525
7526         yesno-tests: convert to init.sh
7527         * modules/yesno-tests (Files): Add init.sh.
7528         * tests/test-yesno.sh: Use it.
7529
7530         atexit-tests: ensure reliable exit status
7531         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
7532         Reported by Bruno Haible.
7533
7534 2011-05-24  Bruno Haible  <bruno@clisp.org>
7535
7536         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
7537         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
7538         gl_PREREQ_STRERROR_R invocations from here...
7539         * modules/strerror_r-posix (configure.ac): ... to here.
7540
7541 2011-05-24  Eric Blake  <eblake@redhat.com>
7542
7543         strerror_r: fix missing header
7544         * lib/strerror_r.c: Avoid compiler warning about snprintf.
7545
7546         strerror_r: fix AIX test failures
7547         * lib/strerror_r.c (strerror_r): Convert silent truncation to
7548         ERANGE failure.
7549
7550         strerror_r: fix Solaris test failures
7551         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
7552         failures.
7553         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
7554
7555         strerror_r: enforce POSIX recommendations
7556         * lib/strerror_r.c (safe_copy): New helper method.
7557         (strerror_r): Guarantee a non-empty string.
7558         * tests/test-strerror_r.c (main): Enhance tests to incorporate
7559         recent POSIX rulings and to match our strerror guarantees.
7560         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
7561
7562 2011-05-24  Jim Meyering  <meyering@redhat.com>
7563
7564         test-perror2.c: avoid warning about unused variable
7565         * tests/test-perror2.c (main): Remove declaration of unused "fp".
7566
7567 2011-05-24  Eric Blake  <eblake@redhat.com>
7568
7569         perror: avoid spurious test failure on HP-UX
7570         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
7571
7572         tests: fix logic bug in init.sh
7573         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
7574         shell.
7575
7576 2011-05-24  Jim Meyering  <meyering@redhat.com>
7577
7578         utimensat: do not reference an out-of-scope buffer
7579         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
7580         declared in an inner scope, yet "times" would be dereferenced outside
7581         the scope in which "ts" was valid.
7582         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
7583         of ts[2] "out/up", so that the use of aliased "times" (via
7584         "times = ts;") does not end up referencing an out-of-scope "ts"
7585
7586         opendir-safer.c: don't clobber errno; don't close negative FD
7587         * lib/opendir-safer.c (opendir_safer):
7588         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
7589         file descriptor, and more importantly, don't clobber the
7590         offending errno value with EINVAL.  Before, upon failure
7591         of dup_safer, we would pass the negative file descriptor to
7592         fdopendir, which would clobber errno.
7593
7594 2011-05-23  Bruno Haible  <bruno@clisp.org>
7595
7596         idcache: Fix module description.
7597         * modules/idcache (Include): Set to "idcache.h".
7598
7599 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7600
7601         gnulib-tool: fix portability problem with MacOS sed
7602         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
7603         before the "}".  Problem reported by Leo in
7604         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
7605         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
7606         sed_extract_condition1, sed_extract_condition2.
7607
7608 2011-05-23  Bruno Haible  <bruno@clisp.org>
7609
7610         hash: Simplify autoconf macro.
7611         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
7612
7613 2011-05-23  Bruno Haible  <bruno@clisp.org>
7614
7615         getugroups: Fix module description.
7616         * modules/getugroups (Include): Set to "getugroups.h".
7617
7618 2011-05-23  Bruno Haible  <bruno@clisp.org>
7619
7620         linkat: Simplify autoconf macro.
7621         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
7622
7623 2011-05-23  Bruno Haible  <bruno@clisp.org>
7624             Eric Blake  <eblake@redhat.com>
7625
7626         linkat, renameat: Update dependencies.
7627         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
7628         * modules/linkat (Depends-on): Likewise. Remove also readlink,
7629         symlinkat.
7630
7631 2011-05-23  Jim Meyering  <meyering@redhat.com>
7632
7633         maint.mk: more tight_scope improvements
7634         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
7635         (_gl_TS_headers): Define only in if-0'd block.
7636         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
7637         sometimes we must *not* use it.  Adjust uses accordingly.
7638         (sc_tight_scope): Use much simpler grep-based test to determine
7639         whether we skip this rule.
7640
7641         maint.mk: generalize/improve the tight-scope rule
7642         * top/maint.mk: Emit a warning when the test is skipped.
7643         (_gl_TS_dir): Add $(srcdir)/ prefix.
7644         (_gl_TS_function_match): Simplify, rather than trying
7645         to enumerate common types.  Otherwise, it would fail to match an
7646         "extern unsigned char const *" declaration in idutils.
7647         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
7648         a way to support use of that type of macro.
7649         (_gl_TS_var_match): Simplify regexp.
7650         (_gl_TS_obj_files): New configurable variable.
7651         (_gl_TS_headers): Likewise.
7652
7653 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
7654
7655         verify: fix bug when gnulib <assert.h> is also included
7656         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
7657         is defined, not if _GL_STATIC_ASSERT_H is not defined.
7658         Perhaps there's a better way, but this fixes the immediate problem.
7659         Problem reported by Bruno Haible in
7660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
7661
7662 2011-05-22  Bruno Haible  <bruno@clisp.org>
7663
7664         xgetcwd: Simplify autoconf macro.
7665         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
7666
7667 2011-05-22  Bruno Haible  <bruno@clisp.org>
7668
7669         New module 'mktime-internal'.
7670         * modules/mktime-internal: New file.
7671         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
7672         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
7673         mktime_internal as a C macro if libc has __mktime_internal.
7674         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
7675         conditions.
7676         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
7677
7678 2011-05-22  Bruno Haible  <bruno@clisp.org>
7679
7680         timegm: Correct mktime replacement statements.
7681         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
7682         defining mktime as a C macro. This completes a 2009-07-28 commit.
7683
7684 2011-05-22  Bruno Haible  <bruno@clisp.org>
7685
7686         timegm: Simplify autoconf macro.
7687         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
7688
7689 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7690
7691         clock-time: change to LGPLv2+.
7692         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
7693         BSD-like but we have no mark for that; this is good enough for now.
7694
7695 2011-05-21  Bruno Haible  <bruno@clisp.org>
7696
7697         strerror_r: Fix comments.
7698         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
7699
7700 2011-05-21  Bruno Haible  <bruno@clisp.org>
7701
7702         relocatable-prog-wrapper: Fix possible link error.
7703         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
7704         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
7705         (gl_FUNC_SETENV): ... to here.
7706         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
7707         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
7708
7709 2011-05-21  Bruno Haible  <bruno@clisp.org>
7710
7711         relocatable-prog-wrapper: Assume strerror() exists.
7712         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
7713         m4/strerror.m4.
7714         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
7715         * lib/relocwrapper.c: Remove mention of strerror module.
7716         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
7717         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
7718         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
7719         C macro.
7720
7721 2011-05-21  Bruno Haible  <bruno@clisp.org>
7722
7723         select: Simplify replacement idiom.
7724         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
7725         Win32 platforms.
7726         * lib/sys_select.in.h (select): Simplify accordingly.
7727         * modules/select (Depends-on): Likewise.
7728
7729 2011-05-21  Bruno Haible  <bruno@clisp.org>
7730
7731         mkdir-p: Simplify autoconf macro.
7732         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
7733         gl_FUNC_LCHOWN.
7734
7735 2011-05-21  Eric Blake  <eblake@redhat.com>
7736
7737         strerror_r: avoid clobbering strerror on cygwin
7738         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
7739         fall back instead to sys_errlist.
7740         * modules/strerror (configure.ac): Add witness.
7741         * tests/test-strerror_r.c (main): Enhance test.
7742         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
7743         * tests/test-perror2.c (main): Free memory before exit.
7744
7745 2011-05-21  Bruno Haible  <bruno@clisp.org>
7746
7747         mkdtemp: Use gnulib naming conventions.
7748         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
7749         * modules/mkdtemp (configure.ac): Update.
7750
7751 2011-05-20  Eric Blake  <eblake@redhat.com>
7752
7753         strerror_r: avoid corrupting errno on Solaris
7754         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
7755         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
7756
7757         strerror_r: avoid compiler warning
7758         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
7759
7760         strerror_r: simplify AIX code
7761         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
7762
7763         test-perror: avoid spurious failure on FreeBSD
7764         * modules/perror-tests (Depends-on): Add strerror, now that
7765         strerror_r no longer pulls it in.
7766
7767 2011-05-20  Bruno Haible  <bruno@clisp.org>
7768
7769         strerror_r-posix: Remove unused dependencies.
7770         * modules/strerror_r-posix (Depends-on): Remove strerror.
7771         Reported by Eric Blake.
7772
7773 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
7774
7775         intprops: remove assumption about A|B representation
7776         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
7777         is a valid integer if both A and B are.  Although this is true for
7778         all known practical hosts, the C standard doesn't guarantee it,
7779         and the code need not assume it.  Also, this change may work around
7780         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
7781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
7782
7783 2011-05-20  Eric Blake  <eblake@redhat.com>
7784
7785         perror: work around FreeBSD bug
7786         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
7787         is broken.  Move AC_LIBOBJ...
7788         * modules/perror (configure.ac): Here.
7789         * doc/posix-functions/perror.texi (perror): Document this.
7790         * tests/test-perror2.c (main): Enhance test.
7791
7792         test-perror: check for strerror interactions
7793         * tests/macros.h (STREQ): Add macro.
7794         * modules/perror-tests (Files): Add second test.
7795         * tests/test-perror2.c (main): New file.
7796         * doc/posix-functions/perror.texi (perror): Document glibc bug.
7797
7798         test-perror: rewrite to use init script
7799         * modules/perror-tests (Files): Add init.sh.
7800         * tests/test-perror.sh: Use temporary directory.
7801
7802 2011-05-20  Jim Meyering  <meyering@redhat.com>
7803
7804         maint: replace misused "a" with "an"
7805         * doc/intprops.texi: "a integer"
7806         * doc/regex.texi: "a explanation"
7807         * lib/alignof.h: "a object"
7808         * lib/argmatch.h: "a explanation"
7809         * lib/argp-help.c: "a option" and "a OPTION_DOC"
7810         * lib/stdint.in.h: "a integer"
7811         * lib/userspec.c: "a owner"
7812         * doc/gnulib.texi: Fix "a idea", and reword.
7813
7814 2011-05-19  Jim Meyering  <meyering@redhat.com>
7815
7816         maint: correct misuse of "a" and "an"
7817         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
7818         * lib/argp-help.c: "an docum...": s/an/a/
7819         * lib/argp-parse.c: "An vector": s/An/A/
7820         * lib/execute.c: "an native": s/an/a/
7821         * lib/spawn-pipe.c: Likewise.
7822         * lib/gc.h: "an Gc_rc": s/an/a/
7823         * lib/unigbrk.in.h: "an grapheme": s/an/a/
7824         * lib/fts.c: "an stat.st_dev": s/an/a/
7825
7826 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7827
7828         intprops-tests: work around HP-UX 11.23 cc bug with constants
7829         * tests/test-intprops.c (VERIFY): New macro.
7830         (main): Use it, instead of verify, to work around the compiler bug; see
7831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7832
7833         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
7834         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
7835         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
7836         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
7837         (_GL_REMAINDER_OVERFLOW): Use it.
7838
7839         intprops-tests: revert unsigned part of previous change
7840         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
7841         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
7842         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
7843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
7844
7845 2011-05-19  Bruno Haible  <bruno@clisp.org>
7846
7847         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
7848         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
7849         strerror_r() returned without filling the buffer.
7850         Reported by Eric Blake.
7851
7852 2011-05-19  Eric Blake  <eblake@redhat.com>
7853
7854         strerror_r: guarantee unchanged errno
7855         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
7856         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
7857         failure.
7858         * tests/test-strerror_r.c (main): Enhance test.
7859
7860 2011-05-19  Bruno Haible  <bruno@clisp.org>
7861
7862         strerror_r: Reorder #if blocks.
7863         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
7864         for consistency with the previous commit.
7865
7866 2011-05-19  Bruno Haible  <bruno@clisp.org>
7867
7868         perror: Avoid clobbering the strerror buffer when possible.
7869         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
7870         * lib/strerror.c: Include it.
7871         * modules/strerror (Files): Add lib/strerror-impl.h.
7872         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
7873         (my_strerror): New function, defined through lib/strerror-impl.h.
7874         (perror): Use it instead of strerror.
7875         * modules/perror (Files): Add lib/strerror-impl.h.
7876         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
7877
7878 2011-05-19  Eric Blake  <eblake@redhat.com>
7879
7880         strerror_r: fix on newer cygwin
7881         * lib/strerror_r.c (strerror_r): Cygwin now has
7882         __xpg_strerror_r, use it.
7883
7884 2011-05-19  Bruno Haible  <bruno@clisp.org>
7885
7886         strerror_r: Avoid clobbering the strerror buffer when possible.
7887         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
7888         (sys_nerr, sys_errlist): New declarations.
7889         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
7890         HP-UX, native Win32, IRIX, and 32-bit Solaris.
7891         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
7892
7893 2011-05-19  Bruno Haible  <bruno@clisp.org>
7894
7895         strerror_r: Fix test failure on mingw.
7896         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
7897         EXTEND_STRERROR_R.
7898         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
7899         macros from errno.in.h instead.
7900
7901 2011-05-19  Eric Blake  <eblake@redhat.com>
7902
7903         strerror: relax test for Solaris
7904         * tests/test-strerror.c (main): Permit Solaris behavior.
7905         * tests/test-strerror_r.c (main): Likewise.
7906
7907         strerror: enforce POSIX ruling on strerror(0)
7908         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
7909         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7910         * lib/strerror_r.c (rpl_strerror_r): Work around it.
7911         * doc/posix-functions/strerror.texi (strerror): Document it.
7912         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
7913         * tests/test-strerror.c (main): Strengthen test.
7914         * tests/test-strerror_r.c (main): Likewise.
7915
7916 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7917
7918         intprop-tests: port to older and more-pedantic compilers
7919         * modules/intprops-tests (Files): Add tests/macros.h.
7920         * tests/test-intprops.c: Include macros.h.
7921         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
7922         it's no longer documented to expand to an integer constant expression.
7923         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
7924         argument is floating point, as it's no longer documented to expand
7925         to an integer constant expression in that case.
7926         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
7927         compiler bugs reported by Bruno Haible.  See
7928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7929         (U0, U1): New constants, to work around the same bugs.  Also,
7930         in tests, use e.g., "(unsigned int) 39" rather than "39u".
7931
7932         intprops: work around C compiler bugs
7933         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
7934         bug in Sun C 5.11 2010/08/13 and other compilers; see
7935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7936
7937         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
7938         * doc/intprops.texi (Integer Type Determination): Fix
7939         documentation for TYPE_IS_INTEGER: it returns an constant
7940         expression, not an integer constant expression.  Fix doc for
7941         TYPE_SIGNED: it returns an integer constant expression only if its
7942         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
7943         hardly worth documented that way....)
7944
7945 2011-05-18  Bruno Haible  <bruno@clisp.org>
7946
7947         strerror_r: Avoid clobbering the strerror buffer when possible.
7948         * lib/strerror_r.c (strerror_r): Merge the three implementations.
7949         Handle gnulib defined errno values here. When strerror() returns NULL
7950         or an empty string, return EINVAL.
7951         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
7952         gnulib defined errno values here.
7953         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
7954
7955 2011-05-18  Eric Blake  <eblake@redhat.com>
7956
7957         fnmatch: avoid compiler warning
7958         * lib/fnmatch_loop.c (FCT): Use correct type.
7959         Reported by Matthias Bolte.
7960
7961 2011-05-13  Jim Meyering  <meyering@redhat.com>
7962
7963         maint.mk: three new prohibit_<HDR>_without_use rules
7964         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
7965         (sc_prohibit_stdio-safer_without_use): Likewise.
7966         (sc_prohibit_xfreopen_without_use): Likewise.
7967
7968 2011-05-17  Jim Meyering  <meyering@redhat.com>
7969
7970         announce-gen: fail if the NEWS delta is empty
7971         If there's nothing noteworthy in NEWS, then either you forgot
7972         or you shouldn't be releasing.
7973         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
7974
7975 2011-05-17  Pádraig Brady <P@draigBrady.com>
7976
7977         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
7978         reserved symbols starting with double underscore from the check.
7979
7980 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
7981
7982         intprops: add doc
7983         * doc/intprops.texi: New file, documenting intprops.
7984         * doc/gnulib.texi (Particular Modules): Include it.
7985
7986         verify: add doc to gnulib manual and fix example
7987         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
7988         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
7989         (Compile-time Assertions): Fix example so it can't overflow.
7990
7991 2011-05-17  Jim Meyering  <meyering@redhat.com>
7992
7993         warnings.m4: don't usurp save_CPPFLAGS variable name
7994         * m4/warnings.m4: Prefix local temporary variable name with gl_.
7995
7996         doc: fix typo
7997         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
7998
7999 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8000             Bruno Haible  <bruno@clisp.org>
8001
8002         doc: Tweak recent change.
8003         * README (Portability guidelines): Tweak new text.
8004         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
8005         Interix 6.1.
8006
8007 2011-05-16  Eric Blake  <eblake@redhat.com>
8008
8009         inttypes: avoid autoconf warning
8010         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
8011         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8012
8013 2011-05-16  Sam Steingold <sds@gnu.org>
8014         and Eric Blake  <eblake@redhat.com>
8015
8016         vc-list-files: accept multiple directory operands
8017         * build-aux/vc-list-files: Iterate over all remaining operands.
8018
8019 2011-05-16  Bruno Haible  <bruno@clisp.org>
8020
8021         Fix confusion regarding deprecated modules.
8022         * modules/calloc (Status, Notice): Mark module as deprecated, not
8023         obsolete.
8024         * modules/fnmatch-posix (Status, Notice): Likewise.
8025         * modules/getdate (Status, Notice): Likewise.
8026         * modules/getopt (Status, Notice): Likewise.
8027         * modules/malloc (Status, Notice): Likewise.
8028         * modules/pipe (Status, Notice): Likewise.
8029         * modules/realloc (Status, Notice): Likewise.
8030         * modules/rename-dest-slash (Status, Notice): Likewise.
8031         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
8032         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
8033         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
8034         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
8035         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
8036
8037 2011-05-16  Bruno Haible  <bruno@clisp.org>
8038
8039         doc: List the target platforms.
8040         * doc/gnulib-intro.texi (Target Platforms): New section.
8041         * doc/gnulib.texi (Introduction): Update menu.
8042         * README (Portability guidelines): Refer to the new section. Update
8043         statement about oldest supported environment. Remove rationale why
8044         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
8045         unportable C89 function.
8046         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
8047         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
8048
8049 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8050
8051         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
8052
8053 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
8054
8055         intprops-tests: new module
8056         * modules/intprops-tests, tests/test-intprops.c: New files.
8057
8058         intprops: add safe, portable integer overflow checking
8059         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
8060         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
8061         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
8062         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
8063         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
8064         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
8065         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
8066         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
8067         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
8068         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
8069         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
8070
8071 2011-05-12  James Youngman  <jay@gnu.org>
8072
8073         Add a test for glibc's Bugzilla bug #12378.
8074         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
8075         doesn't allow the literal matching of a lone "[" (which is
8076         required by POSIX).
8077         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
8078
8079 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
8080
8081         Sync glibc change fixing Bugzilla bug #12378.
8082         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
8083         beginning and fall back to matching as normal character if the
8084         string ends before the matching ']' is found.  This is what POSIX
8085         requires.
8086
8087 2011-05-13  Eric Blake  <eblake@redhat.com>
8088
8089         getcwd-lgpl: relax test for FreeBSD
8090         * doc/posix-functions/getcwd.texi (getcwd): Document portability
8091         issue.
8092         * tests/test-getcwd-lgpl.c (main): Relax test.
8093         Reported by Matthias Bolte.
8094
8095 2011-05-11  Eric Blake  <eblake@redhat.com>
8096
8097         test-fflush: silence compiler warning
8098         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
8099
8100 2011-05-11  Bruno Haible  <bruno@clisp.org>
8101
8102         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
8103         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
8104         * modules/canonicalize (Depends-on): Add 'nocrash'.
8105         * modules/canonicalize-lgpl (Depends-on): Likewise.
8106         * doc/posix-functions/realpath.texi: Update platforms list.
8107         Reported by Ryan Schmidt <ryandesign@macports.org>.
8108
8109 2011-05-11  Bruno Haible  <bruno@clisp.org>
8110
8111         group-member: Declare function in <unistd.h>.
8112         * lib/unistd.in.h (group_member): New declaration.
8113         * lib/group-member.h: Remove file.
8114         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
8115         * tests/test-unistd-c++.cc: Check signature of group_member.
8116         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
8117         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
8118         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
8119         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
8120         HAVE_GROUP_MEMBER.
8121         * modules/group-member (Files): Remove lib/group-member.h.
8122         (Depends-on): Add unistd. Specify conditions.
8123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
8124         (Include): Change to <unistd.h>.
8125         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
8126         HAVE_GROUP_MEMBER.
8127         * NEWS: Mention the change.
8128         * lib/euidaccess.c: Don't include group-member.h.
8129
8130 2011-05-11  Bruno Haible  <bruno@clisp.org>
8131
8132         group-member: Document module.
8133         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
8134         module.
8135
8136 2011-05-11  Bruno Haible  <bruno@clisp.org>
8137
8138         fclose: Fix mistake earlier today.
8139         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
8140
8141 2011-05-11  Eric Blake  <eblake@redhat.com>
8142
8143         fclose: preserve fflush errors
8144         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
8145         Reported by Jim Meyering.
8146
8147         bootstrap: support a prereq of 'rpcgen -' on RHEL5
8148         * build-aux/bootstrap (check_versions): When no specific version
8149         is required, merely check that the app produces an exit status
8150         that indicates its existence.
8151
8152         maint.mk: drop redundant check
8153         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
8154         the same but better.
8155
8156 2011-05-11  Bruno Haible  <bruno@clisp.org>
8157
8158         fclose: Fix possible link error.
8159         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
8160         unregister_shadow_fd. Improve comments.
8161         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
8162         Eric Blake.
8163
8164 2011-05-11  Jim Meyering  <meyering@redhat.com>
8165
8166         maint.mk: improve "can not" detection and generalize rule name
8167         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
8168         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
8169         Use the same technique as in sc_prohibit_doubled_word, so that
8170         we recognize "can not" also when the words are separated by a newline.
8171         Suggested by Eric Blake.
8172         (perl_filename_lineno_text_): Define.  Factored out of...
8173         (prohibit_doubled_word_): ...here.  Use the new definition.
8174         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
8175         (prohibit_undesirable_word_seq_RE_): New overridable variable.
8176         (ignore_undesirable_word_sequence_RE_): New overridable variable.
8177
8178 2011-05-10  Eric Blake  <eblake@redhat.com>
8179
8180         fclose: avoid double close race when possible
8181         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
8182         all but WINDOWS_SOCKETS.
8183
8184 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
8185
8186         openat: correct new comment
8187         * lib/openat-proc.c (openat_proc_name): Correct the comment.
8188
8189 2011-05-10  Jim Meyering  <meyering@redhat.com>
8190
8191         openat: add comments
8192         * lib/openat-proc.c (openat_proc_name): Add comments,
8193         mostly from Eric Blake.
8194
8195 2011-05-09  Eric Blake  <eblake@redhat.com>
8196
8197         openat: reduce syscalls in first probe of /proc
8198         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
8199         be a directory.  Simplify the probe for .. bugs.
8200         * modules/openat (Depends-on): Drop same-inode.
8201         Reported by Bastien ROUCARIES.
8202
8203 2011-05-09  Jim Meyering  <meyering@redhat.com>
8204
8205         maint.mk: change semantics/name of tight_scope variables
8206         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
8207         Rename variables to align with semantics that make them more useful.
8208
8209         maint.mk: tweak new rule's name not to impinge
8210         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
8211         (sc_tight_scope): Use new rule name rather than $@-0.
8212
8213         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
8214         * top/maint.mk (sc_tight_scope): New rule.
8215         (sc_tight_scope-0): New rule, ifdef'd out.
8216         (_gl_TS_dir): Default.
8217         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
8218         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
8219
8220 2011-05-09  Simon Josefsson  <simon@josefsson.org>
8221
8222         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
8223         Haible <bruno@clisp.org>.
8224
8225 2011-05-08  Bruno Haible  <bruno@clisp.org>
8226
8227         Comments.
8228         * m4/isnanf.m4: Add comment.
8229         * m4/isnanl.m4: Likewise.
8230
8231 2011-05-08  Bruno Haible  <bruno@clisp.org>
8232
8233         glob: Remove obsolete macro.
8234         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
8235
8236 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
8237
8238         intprops: Sun C 5.11 supports __typeof__
8239         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
8240         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
8241         which is new.
8242         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
8243
8244         intprops: switch to usual gnulib indenting and naming
8245         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
8246         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
8247
8248         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
8249
8250 2011-05-08  Jim Meyering  <meyering@redhat.com>
8251
8252         maint.mk: suppress "Entering/Leaving directory" diag in announcement
8253         * top/maint.mk (release-prep): Use make's --no-print-directory
8254         option when generating the announcement.  This eliminates the
8255         pesky "make[2]: Entering/Leaving directory" diagnostics in the
8256         generated announcement template.
8257
8258 2011-05-08  Bruno Haible  <bruno@clisp.org>
8259
8260         tzset: Fix gettimeofday wrapper on Solaris 2.6.
8261         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
8262         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
8263
8264 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
8265
8266         ignore-value, verify: Omit include files from lib_SOURCES.
8267         * modules/ignore-value, modules/verify (Makefile.am):
8268         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
8269         that leads Automake to duplicate use of am__objects_... variables
8270         in Makefile.in.  See
8271         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
8272
8273 2011-05-07  Bruno Haible  <bruno@clisp.org>
8274
8275         fclose: Simplify autoconf macro.
8276         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
8277         defined.
8278
8279 2011-05-07  Bruno Haible  <bruno@clisp.org>
8280
8281         canonicalize-lgpl: Fix autoconf macro ordering bug.
8282         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
8283         gl_STDLIB_H_DEFAULTS.
8284
8285 2011-05-06  Eric Blake  <eblake@redhat.com>
8286
8287         maintainer-makefile: make sc_po_check easier to tune
8288         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
8289         to probe for strings, such as an alternate location for gnulib.
8290
8291         fclose: guarantee behavior on seekable stdin
8292         * modules/fclose (Depends-on): Add fflush.
8293         * doc/posix-functions/fclose.texi (fclose): Document this.
8294         * tests/test-fclose.c (main): Make test for this unconditional.
8295
8296 2011-05-06  Bruno Haible  <bruno@clisp.org>
8297
8298         fflush, fpurge: Relicense under LGPLv2+.
8299         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
8300         * modules/fpurge (License): Likewise.
8301         With permission from Eric Blake and Jim Meyering.
8302         Suggested by Eric Blake.
8303
8304 2011-05-06  Karl Berry  <karl@gnu.org>
8305
8306         * MODULES.html.sh (func_all_modules): remove exit.
8307
8308 2011-05-06  Jim Meyering  <meyering@redhat.com>
8309
8310         maint.mk: use info-gnu@ as the default only for a stable release
8311         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
8312         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
8313         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
8314         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
8315
8316 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
8317
8318         assert-h: new module, which supports C1X-style static_assert
8319         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
8320         * lib/verify.h: Revamp so that this can be copied into assert.h,
8321         while retaining the ability to use it standalone as before.
8322         Rename private identifiers so as not to encroach on the
8323         standard C namespace, since this is now used by assert.h.
8324         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
8325         the old verify_true.
8326         (_GL_VERIFY_TRUE): New macro, with much of the contents of
8327         the old verify_true.  Use _GL_VERIFY_TYPE.
8328         (_GL_VERIFY): New macro, with much of the contents of the old verify.
8329         (static_assert): New macro, if _GL_STATIC_ASSERT_H
8330         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
8331         defined when this file is copied into the replacement assert.h.
8332         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
8333         and _Static_assert is not built in.
8334         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
8335         defined, and use the new macros mentioned above.
8336         * doc/posix-headers/assert.texi: Document this.
8337
8338 2011-05-05  Bruno Haible  <bruno@clisp.org>
8339
8340         fclose, fflush: Respect rules for use of AC_LIBOBJ.
8341         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
8342         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
8343         gl_REPLACE_FCLOSE here.
8344         * modules/fflush (Depends-on): Remove fclose.
8345         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
8346         combination with module 'fclose'.
8347
8348 2011-05-05  Bruno Haible  <bruno@clisp.org>
8349
8350         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
8351         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
8352         gl_FUNC_FFLUSH.
8353         (gl_FUNC_FFLUSH): Use it.
8354         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
8355         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
8356         gl_REPLACE_FSEEKO here.
8357
8358 2011-05-05  Bruno Haible  <bruno@clisp.org>
8359
8360         tzset: Relicense under LGPL.
8361         * modules/tzset (License): Change to LGPL.
8362         No agreement needed; it's a no-op.
8363
8364         strtoimax, strtoumax: Relicense under LGPL.
8365         * modules/strtoimax (License): Change to LGPL.
8366         * modules/strtoumax (License): Likewise.
8367         With permission from Jim Meyering, Paul Eggert:
8368         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
8369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
8370
8371         getgroups: Relicense under LGPL.
8372         * modules/getgroups (License): Change to LGPL.
8373         With permission from Jim Meyering, Paul Eggert, Eric Blake:
8374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
8375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
8376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8377
8378         nanosleep: Relicense under LGPL.
8379         * modules/nanosleep (License): Change to LGPL.
8380         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
8381         Haible:
8382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
8383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
8384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
8386
8387         futimens: Relicense under LGPL.
8388         * modules/futimens (License): Change to LGPL.
8389         With permission from Eric Blake:
8390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8391
8392         fflush: Relicense under LGPL.
8393         * modules/fflush (License): Change to LGPL.
8394         With permission from Eric Blake, Bruno Haible, Jim Meyering:
8395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
8397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
8398
8399         tmpfile: Relicense under LGPL.
8400         * modules/tmpfile (License): Change to LGPL.
8401         With permission from Ben Pfaff:
8402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
8403
8404         isfinite: Relicense under LGPL.
8405         * modules/isfinite (License): Change to LGPL.
8406         With permission from Ben Pfaff, Bruno Haible:
8407         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
8408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
8409
8410         acosl..tanl: Relicense under LGPL.
8411         * modules/acosl (License): Change to LGPL.
8412         * modules/asinl (License): Likewise.
8413         * modules/atanl (License): Likewise.
8414         * modules/cosl (License): Likewise.
8415         * modules/expl (License): Likewise.
8416         * modules/logl (License): Likewise.
8417         * modules/sinl (License): Likewise.
8418         * modules/sqrtl (License): Likewise.
8419         * modules/tanl (License): Likewise.
8420         Source code originally from glibc and Paolo Bonzini. Agreements:
8421         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
8422         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
8423
8424 2011-05-05  Bruno Haible  <bruno@clisp.org>
8425
8426         signal: Define sighandler_t.
8427         * lib/signal.in.h (sighandler_t): New type.
8428         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
8429         whether sighandler_t is defined.
8430         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
8431         * modules/signal (Depends-on): Add extensions.
8432         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
8433         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
8434         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
8435
8436 2011-05-05  Eric Blake  <eblake@redhat.com>
8437
8438         maint: remove useless REPLACE_*_H macros
8439         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
8440         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
8441         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
8442         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
8443         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
8444         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
8445         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
8446         * m4/btowc.m4: Update callers.
8447         * m4/dirfd.m4: Likewise.
8448         * m4/duplocale.m4: Likewise.
8449         * m4/fchdir.m4: Likewise.
8450         * m4/fdopendir.m4: Likewise.
8451         * m4/inet_ntop.m4: Likewise.
8452         * m4/inet_pton.m4: Likewise.
8453         * m4/ioctl.m4: Likewise.
8454         * m4/mbrlen.m4: Likewise.
8455         * m4/mbrtowc.m4: Likewise.
8456         * m4/mbsinit.m4: Likewise.
8457         * m4/mbsnrtowcs.m4: Likewise.
8458         * m4/mbsrtowcs.m4: Likewise.
8459         * m4/poll.m4: Likewise.
8460         * m4/setlocale.m4: Likewise.
8461         * m4/wcrtomb.m4: Likewise.
8462         * m4/wcsnrtombs.m4: Likewise.
8463         * m4/wcsrtombs.m4: Likewise.
8464         * m4/wctob.m4: Likewise.
8465         * m4/wcwidth.m4: Likewise.
8466         * modules/posix_spawn: Likewise.
8467         * modules/posix_spawn_file_actions_addclose: Likewise.
8468         * modules/posix_spawn_file_actions_adddup2: Likewise.
8469         * modules/posix_spawn_file_actions_addopen: Likewise.
8470         * modules/posix_spawn_file_actions_destroy: Likewise.
8471         * modules/posix_spawn_file_actions_init: Likewise.
8472         * modules/posix_spawnattr_destroy: Likewise.
8473         * modules/posix_spawnattr_getflags: Likewise.
8474         * modules/posix_spawnattr_getpgroup: Likewise.
8475         * modules/posix_spawnattr_getschedparam: Likewise.
8476         * modules/posix_spawnattr_getschedpolicy: Likewise.
8477         * modules/posix_spawnattr_getsigdefault: Likewise.
8478         * modules/posix_spawnattr_getsigmask: Likewise.
8479         * modules/posix_spawnattr_init: Likewise.
8480         * modules/posix_spawnattr_setflags: Likewise.
8481         * modules/posix_spawnattr_setpgroup: Likewise.
8482         * modules/posix_spawnattr_setschedparam: Likewise.
8483         * modules/posix_spawnattr_setschedpolicy: Likewise.
8484         * modules/posix_spawnattr_setsigdefault: Likewise.
8485         * modules/posix_spawnattr_setsigmask: Likewise.
8486         * modules/posix_spawnp: Likewise.
8487
8488 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
8489
8490         Add option to do-release-commit-and-tag to specify branch.
8491         * build-aux/do-release-commit-and-tag: Add --branch.
8492
8493 2011-05-03  Bruno Haible  <bruno@clisp.org>
8494
8495         Avoid unnecessary compilation units, through conditional dependencies.
8496         * modules/accept (Depends-on): Add conditions to the dependencies.
8497         * modules/acosl (Depends-on): Likewise.
8498         * modules/argz (Depends-on): Likewise.
8499         * modules/asinl (Depends-on): Likewise.
8500         * modules/atanl (Depends-on): Likewise.
8501         * modules/atoll (Depends-on): Likewise.
8502         * modules/bind (Depends-on): Likewise.
8503         * modules/btowc (Depends-on): Likewise.
8504         * modules/canonicalize-lgpl (Depends-on): Likewise.
8505         * modules/ceil (Depends-on): Likewise.
8506         * modules/ceilf (Depends-on): Likewise.
8507         * modules/ceill (Depends-on): Likewise.
8508         * modules/chdir-long (Depends-on): Likewise.
8509         * modules/chown (Depends-on): Likewise.
8510         * modules/close (Depends-on): Likewise.
8511         * modules/connect (Depends-on): Likewise.
8512         * modules/cosl (Depends-on): Likewise.
8513         * modules/dirfd (Depends-on): Likewise.
8514         * modules/dprintf (Depends-on): Likewise.
8515         * modules/dprintf-posix (Depends-on): Likewise.
8516         * modules/error (Depends-on): Likewise.
8517         * modules/euidaccess (Depends-on): Likewise.
8518         * modules/expl (Depends-on): Likewise.
8519         * modules/faccessat (Depends-on): Likewise.
8520         * modules/fchdir (Depends-on): Likewise.
8521         * modules/fclose (Depends-on): Likewise.
8522         * modules/fcntl (Depends-on): Likewise.
8523         * modules/fdopendir (Depends-on): Likewise.
8524         * modules/fflush (Depends-on): Likewise.
8525         * modules/floor (Depends-on): Likewise.
8526         * modules/floorf (Depends-on): Likewise.
8527         * modules/floorl (Depends-on): Likewise.
8528         * modules/fnmatch (Depends-on): Likewise.
8529         * modules/fopen (Depends-on): Likewise.
8530         * modules/fprintf-posix (Depends-on): Likewise.
8531         * modules/frexp (Depends-on): Likewise.
8532         * modules/frexp-nolibm (Depends-on): Likewise.
8533         * modules/frexpl (Depends-on): Likewise.
8534         * modules/frexpl-nolibm (Depends-on): Likewise.
8535         * modules/fseek (Depends-on): Likewise.
8536         * modules/fsusage (Depends-on): Likewise.
8537         * modules/ftell (Depends-on): Likewise.
8538         * modules/ftello (Depends-on): Likewise.
8539         * modules/futimens (Depends-on): Likewise.
8540         * modules/getcwd (Depends-on): Likewise.
8541         * modules/getcwd-lgpl (Depends-on): Likewise.
8542         * modules/getdelim (Depends-on): Likewise.
8543         * modules/getdomainname (Depends-on): Likewise.
8544         * modules/getgroups (Depends-on): Likewise.
8545         * modules/gethostname (Depends-on): Likewise.
8546         * modules/getline (Depends-on): Likewise.
8547         * modules/getlogin_r (Depends-on): Likewise.
8548         * modules/getopt-posix (Depends-on): Likewise.
8549         * modules/getpeername (Depends-on): Likewise.
8550         * modules/getsockname (Depends-on): Likewise.
8551         * modules/getsockopt (Depends-on): Likewise.
8552         * modules/getsubopt (Depends-on): Likewise.
8553         * modules/getusershell (Depends-on): Likewise.
8554         * modules/glob (Depends-on): Likewise.
8555         * modules/grantpt (Depends-on): Likewise.
8556         * modules/iconv_open (Depends-on): Likewise.
8557         * modules/iconv_open-utf (Depends-on): Likewise.
8558         * modules/inet_ntop (Depends-on): Likewise.
8559         * modules/inet_pton (Depends-on): Likewise.
8560         * modules/ioctl (Depends-on): Likewise.
8561         * modules/isapipe (Depends-on): Likewise.
8562         * modules/isfinite (Depends-on): Likewise.
8563         * modules/isinf (Depends-on): Likewise.
8564         * modules/lchown (Depends-on): Likewise.
8565         * modules/ldexpl (Depends-on): Likewise.
8566         * modules/link (Depends-on): Likewise.
8567         * modules/linkat (Depends-on): Likewise.
8568         * modules/listen (Depends-on): Likewise.
8569         * modules/logl (Depends-on): Likewise.
8570         * modules/lstat (Depends-on): Likewise.
8571         * modules/mbrlen (Depends-on): Likewise.
8572         * modules/mbrtowc (Depends-on): Likewise.
8573         * modules/mbsinit (Depends-on): Likewise.
8574         * modules/mbsnrtowcs (Depends-on): Likewise.
8575         * modules/mbsrtowcs (Depends-on): Likewise.
8576         * modules/mbtowc (Depends-on): Likewise.
8577         * modules/memcmp (Depends-on): Likewise.
8578         * modules/mkdir (Depends-on): Likewise.
8579         * modules/mkdtemp (Depends-on): Likewise.
8580         * modules/mkfifo (Depends-on): Likewise.
8581         * modules/mkfifoat (Depends-on): Likewise.
8582         * modules/mknod (Depends-on): Likewise.
8583         * modules/mkostemp (Depends-on): Likewise.
8584         * modules/mkostemps (Depends-on): Likewise.
8585         * modules/mkstemp (Depends-on): Likewise.
8586         * modules/mkstemps (Depends-on): Likewise.
8587         * modules/mktime (Depends-on): Likewise.
8588         * modules/nanosleep (Depends-on): Likewise.
8589         * modules/open (Depends-on): Likewise.
8590         * modules/openat (Depends-on): Likewise.
8591         * modules/perror (Depends-on): Likewise.
8592         * modules/poll (Depends-on): Likewise.
8593         * modules/popen (Depends-on): Likewise.
8594         * modules/posix_spawn (Depends-on): Likewise.
8595         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
8596         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
8597         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
8598         * modules/posix_spawnp (Depends-on): Likewise.
8599         * modules/pread (Depends-on): Likewise.
8600         * modules/printf-posix (Depends-on): Likewise.
8601         * modules/ptsname (Depends-on): Likewise.
8602         * modules/putenv (Depends-on): Likewise.
8603         * modules/pwrite (Depends-on): Likewise.
8604         * modules/readline (Depends-on): Likewise.
8605         * modules/readlink (Depends-on): Likewise.
8606         * modules/readlinkat (Depends-on): Likewise.
8607         * modules/recv (Depends-on): Likewise.
8608         * modules/recvfrom (Depends-on): Likewise.
8609         * modules/regex (Depends-on): Likewise.
8610         * modules/remove (Depends-on): Likewise.
8611         * modules/rename (Depends-on): Likewise.
8612         * modules/renameat (Depends-on): Likewise.
8613         * modules/rmdir (Depends-on): Likewise.
8614         * modules/round (Depends-on): Likewise.
8615         * modules/roundf (Depends-on): Likewise.
8616         * modules/roundl (Depends-on): Likewise.
8617         * modules/rpmatch (Depends-on): Likewise.
8618         * modules/select (Depends-on): Likewise.
8619         * modules/send (Depends-on): Likewise.
8620         * modules/sendto (Depends-on): Likewise.
8621         * modules/setenv (Depends-on): Likewise.
8622         * modules/setlocale (Depends-on): Likewise.
8623         * modules/setsockopt (Depends-on): Likewise.
8624         * modules/shutdown (Depends-on): Likewise.
8625         * modules/sigaction (Depends-on): Likewise.
8626         * modules/signbit (Depends-on): Likewise.
8627         * modules/sigprocmask (Depends-on): Likewise.
8628         * modules/sinl (Depends-on): Likewise.
8629         * modules/sleep (Depends-on): Likewise.
8630         * modules/snprintf (Depends-on): Likewise.
8631         * modules/snprintf-posix (Depends-on): Likewise.
8632         * modules/socket (Depends-on): Likewise.
8633         * modules/sprintf-posix (Depends-on): Likewise.
8634         * modules/sqrtl (Depends-on): Likewise.
8635         * modules/stat (Depends-on): Likewise.
8636         * modules/strchrnul (Depends-on): Likewise.
8637         * modules/strdup-posix (Depends-on): Likewise.
8638         * modules/strerror (Depends-on): Likewise.
8639         * modules/strerror_r-posix (Depends-on): Likewise.
8640         * modules/strndup (Depends-on): Likewise.
8641         * modules/strnlen (Depends-on): Likewise.
8642         * modules/strptime (Depends-on): Likewise.
8643         * modules/strsep (Depends-on): Likewise.
8644         * modules/strsignal (Depends-on): Likewise.
8645         * modules/strstr-simple (Depends-on): Likewise.
8646         * modules/strtod (Depends-on): Likewise.
8647         * modules/strtoimax (Depends-on): Likewise.
8648         * modules/strtok_r (Depends-on): Likewise.
8649         * modules/strtoumax (Depends-on): Likewise.
8650         * modules/symlink (Depends-on): Likewise.
8651         * modules/symlinkat (Depends-on): Likewise.
8652         * modules/tanl (Depends-on): Likewise.
8653         * modules/tcgetsid (Depends-on): Likewise.
8654         * modules/tmpfile (Depends-on): Likewise.
8655         * modules/trunc (Depends-on): Likewise.
8656         * modules/truncf (Depends-on): Likewise.
8657         * modules/truncl (Depends-on): Likewise.
8658         * modules/uname (Depends-on): Likewise.
8659         * modules/unlink (Depends-on): Likewise.
8660         * modules/unlockpt (Depends-on): Likewise.
8661         * modules/unsetenv (Depends-on): Likewise.
8662         * modules/usleep (Depends-on): Likewise.
8663         * modules/utimensat (Depends-on): Likewise.
8664         * modules/vasprintf (Depends-on): Likewise.
8665         * modules/vdprintf (Depends-on): Likewise.
8666         * modules/vdprintf-posix (Depends-on): Likewise.
8667         * modules/vfprintf-posix (Depends-on): Likewise.
8668         * modules/vprintf-posix (Depends-on): Likewise.
8669         * modules/vsnprintf (Depends-on): Likewise.
8670         * modules/vsnprintf-posix (Depends-on): Likewise.
8671         * modules/vsprintf-posix (Depends-on): Likewise.
8672         * modules/wcrtomb (Depends-on): Likewise.
8673         * modules/wcscasecmp (Depends-on): Likewise.
8674         * modules/wcscspn (Depends-on): Likewise.
8675         * modules/wcsdup (Depends-on): Likewise.
8676         * modules/wcsncasecmp (Depends-on): Likewise.
8677         * modules/wcsnrtombs (Depends-on): Likewise.
8678         * modules/wcspbrk (Depends-on): Likewise.
8679         * modules/wcsrtombs (Depends-on): Likewise.
8680         * modules/wcsspn (Depends-on): Likewise.
8681         * modules/wcsstr (Depends-on): Likewise.
8682         * modules/wcstok (Depends-on): Likewise.
8683         * modules/wcswidth (Depends-on): Likewise.
8684         * modules/wctob (Depends-on): Likewise.
8685         * modules/wctomb (Depends-on): Likewise.
8686         * modules/wctype (Depends-on): Likewise.
8687         * modules/wcwidth (Depends-on): Likewise.
8688         * modules/write (Depends-on): Likewise.
8689
8690 2011-05-03  Bruno Haible  <bruno@clisp.org>
8691
8692         Support for conditional dependencies.
8693         * doc/gnulib.texi (Module description): Document the syntax of
8694         conditional dependencies.
8695         * gnulib-tool: New option --conditional-dependencies.
8696         (func_usage): Document it.
8697         (cond_dependencies): New variable.
8698         (func_get_automake_snippet_conditional,
8699         func_get_automake_snippet_unconditional): New functions, extracted from
8700         func_get_automake_snippet.
8701         (func_get_automake_snippet): Use them.
8702         (sed_first_32_chars): New variable.
8703         (func_module_shellfunc_name): New function.
8704         (func_module_shellvar_name): New function.
8705         (func_module_conditional_name): New function.
8706         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
8707         func_cond_module_condition): New functions.
8708         (func_modules_transitive_closure): Add support for conditional
8709         dependencies.
8710         (func_emit_lib_Makefile_am): For a conditional module, enclose the
8711         conditional automake snippet in an automake conditional.
8712         (func_emit_autoconf_snippets): Emit shell functions that contain the
8713         code for conditional modules.
8714         (func_import, func_create_testdir): Update specification.
8715
8716 2011-05-03  Eric Blake  <eblake@redhat.com>
8717
8718         test-getaddrinfo: report error information
8719         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
8720
8721 2011-05-03  Jim Meyering  <meyering@redhat.com>
8722
8723         bootstrap: avoid build failure when $GZIP is set
8724         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
8725         program name.  If defined at all, it is supposed to list gzip options.
8726         Reported by Alan Curry in http://debbugs.gnu.org/8609
8727
8728 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
8729
8730         readme-release: new module with release instructions
8731         * modules/readme-release: New module.
8732         * top/README-release: New file, from coreutils, grep, diffutils.
8733         * MODULES.html.sh (Support for maintaining and releasing): Add it.
8734
8735 2011-05-02  Eric Blake  <eblake@redhat.com>
8736
8737         fflush: also replace fclose when fixing fflush
8738         * modules/fflush (Depends-on): Add fclose.
8739         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
8740         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
8741         memstreams with no backing fd.
8742         * doc/posix-functions/fclose.texi (fclose): Document the use of
8743         fflush module to fix the bug.
8744         * tests/test-fclose.c (main): Relax test when fclose is used in
8745         isolation.
8746
8747         fclose: add some tests
8748         * modules/fclose-tests: New test module.
8749         * tests/test-fclose.c: New file.
8750         * doc/posix-functions/fclose.texi (fclose): Document the bug.
8751
8752         fclose: reduced dependencies
8753         * modules/fclose (Depends-on): Switch from fflush/fseeko to
8754         simpler lseek.
8755         * lib/fclose.c (rpl_fclose): Likewise.
8756         Reported by Simon Josefsson.
8757
8758         exit: drop remaining clients
8759         * modules/argmatch (Depends-on): Replace exit with stdlib.
8760         * modules/copy-file (Depends-on): Likewise.
8761         * modules/execute (Depends-on): Likewise.
8762         * modules/exitfail (Depends-on): Likewise.
8763         * modules/obstack (Depends-on): Likewise.
8764         * modules/pagealign_alloc (Depends-on): Likewise.
8765         * modules/pipe-filter-gi (Depends-on): Likewise.
8766         * modules/pipe-filter-ii (Depends-on): Likewise.
8767         * modules/savewd (Depends-on): Likewise.
8768         * modules/spawn-pipe (Depends-on): Likewise.
8769         * modules/wait-process (Depends-on): Likewise.
8770         * modules/xsetenv (Depends-on): Likewise.
8771         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
8772         * modules/git-merge-changelog (Depends-on): Likewise.
8773         * modules/long-options (Depends-on): Likewise.
8774         * modules/pt_chown (Depends-on): Likewise.
8775         * modules/sysexits (Depends-on): Likewise.
8776
8777         freading: relax license from LGPLv3+ to LGPLv2+
8778         * modules/freading (License): Relax LGPL version.
8779
8780 2011-05-02  Bruno Haible  <bruno@clisp.org>
8781
8782         fchdir: Remove unused dependencies.
8783         * modules/fchdir (Depends-on): Remove include_next.
8784
8785 2011-05-02  Bruno Haible  <bruno@clisp.org>
8786
8787         gnulib-tool: Refactor.
8788         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
8789         from func_emit_autoconf_snippets.
8790         (func_emit_autoconf_snippets): Use it.
8791
8792 2011-05-02  Simon Josefsson  <simon@josefsson.org>
8793
8794         * NEWS: Document removal of 'exit'.
8795         * modules/exit: Remove file.
8796
8797 2011-05-01  Bruno Haible  <bruno@clisp.org>
8798
8799         Update DEPENDENCIES.
8800         * DEPENDENCIES (gettext): Recommend the newest release.
8801         Reported by Simon Josefsson.
8802
8803 2011-05-01  Bruno Haible  <bruno@clisp.org>
8804
8805         gnulib-tool: Reduce code duplication.
8806         * gnulib-tool (func_emit_autoconf_snippets): New function.
8807         (func_import, func_create_testdir): Use it.
8808
8809 2011-04-30  Eric Blake  <eblake@redhat.com>
8810
8811         fclose: don't fail on non-seekable input stream
8812         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
8813         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
8814         since fflush is allowed to fail in that case.
8815
8816 2011-04-30  Bruno Haible  <bruno@clisp.org>
8817
8818         dup3: cleanup
8819         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
8820
8821 2011-04-30  Bruno Haible  <bruno@clisp.org>
8822
8823         netdb: Make it work in C++ mode.
8824         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
8825         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
8826         module.
8827         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
8828         gl_MODULE_INDICATOR_FOR_TESTS.
8829         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
8830         * modules/netdb-c++-tests: New file.
8831         * tests/test-netdb-c++.cc: New file.
8832
8833 2011-04-30  Bruno Haible  <bruno@clisp.org>
8834
8835         New modules 'vfscanf', 'vscanf'.
8836         * modules/vfscanf: New file.
8837         * modules/vscanf: New file.
8838         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
8839         here.
8840         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
8841         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
8842
8843 2011-04-30  Bruno Haible  <bruno@clisp.org>
8844
8845         passfd: Add comments.
8846         * lib/passfd.c: Add comments about platforms.
8847
8848 2011-04-30  Bruno Haible  <bruno@clisp.org>
8849
8850         sys_uio: Make <sys/uio.h> self-contained.
8851         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
8852         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
8853
8854 2011-04-30  Bruno Haible  <bruno@clisp.org>
8855
8856         sys_socket: Ensure 'struct iovec' definition.
8857         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
8858         <sys/socket.h>.
8859         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
8860
8861 2011-04-30  Bruno Haible  <bruno@clisp.org>
8862
8863         sys_uio: Protect definition of 'struct iovec'.
8864         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
8865         it as a C struct.
8866
8867 2011-04-30  Bruno Haible  <bruno@clisp.org>
8868
8869         manywarnings: fix indentation
8870         * m4/manywarnings.m4: Indent by 2 spaces consistently.
8871
8872 2011-04-30  Pádraig Brady <P@draigBrady.com>
8873
8874         manywarnings: add -Wno-missing-field-initializers if needed.
8875         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
8876         option if it's needed to allow initialization with { 0, }
8877
8878 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
8879
8880         announce-gen: cosmetic improvement
8881         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
8882
8883 2011-04-29  Jim Meyering  <meyering@redhat.com>
8884
8885         vc-list-files: indent with spaces, not TABs
8886         * build-aux/vc-list-files: Convert leading TABs to spaces,
8887         to match the style of most other files in gnulib.
8888
8889         announce-gen: indent with spaces, not TABs
8890         * build-aux/announce-gen: Convert all TABs to spaces, to match
8891         the style of most other files in gnulib.
8892
8893 2011-04-29  Eric Blake  <eblake@redhat.com>
8894
8895         quotearg: avoid uninitialized variable use
8896         * lib/quotearg.c (quoting_options_from_style): Initialize
8897         remaining fields, and ensure that custom styles are only used via
8898         quoting_options rather than quoting_style.
8899
8900 2011-04-29  Jim Meyering  <meyering@redhat.com>
8901
8902         maint.mk: remove unused VC-tag variable
8903         * top/maint.mk (VC-tag): Remove unused variable.
8904
8905 2011-04-29  Bruno Haible  <bruno@clisp.org>
8906
8907         netdb: fix gai_strerror replacements
8908         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
8909         * modules/netdb: Substitute it.
8910
8911 2011-04-29  Jim Meyering  <meyering@redhat.com>
8912
8913         test-getcwd.c: avoid new set-but-not-used warning
8914         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
8915         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
8916         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
8917         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
8918
8919         test-hash.c: avoid a new shadowing warning
8920         * tests/test-hash.c (main): Don't shadow "dup".
8921
8922 2011-04-28  Eric Blake  <eblake@redhat.com>
8923
8924         getaddrinfo: fix gai_strerror signature
8925         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
8926         and work around mingw with UNICODE defined.
8927         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
8928         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
8929         * modules/netdb (Makefile.am): Substitute it.
8930         * lib/netdb.in.h (gai_strerror): Declare replacement.
8931         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
8932         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
8933         the fix.
8934
8935         getsockopt: avoid compiler warning
8936         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
8937         Reported by Matthias Bolte.
8938
8939         tests: drop unused link dependency
8940         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
8941         * modules/dirent-safer-tests (Makefile.am): Likewise.
8942         * modules/fdopendir-tests (Makefile.am): Likewise.
8943         * modules/mkfifoat-tests (Makefile.am): Likewise.
8944         * modules/openat-safer-tests (Makefile.am): Likewise.
8945         * modules/openat-tests (Makefile.am): Likewise.
8946         * modules/readlinkat-tests (Makefile.am): Likewise.
8947         * modules/symlinkat-tests (Makefile.am): Likewise.
8948         * modules/linkat-tests (Makefile.am): Likewise.
8949         (Depends-on): Switch to filenamecat-lgpl.
8950         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
8951         LIBINTL.
8952         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
8953         * tests/test-linkat.c (main): Don't require xalloc.
8954
8955         hash, mgetgroups: drop xalloc dependency
8956         * lib/hash.c (includes): Adjust includes.
8957         * lib/mgetgroups.c (includes): Likewise.
8958         (xgetgroups): Move...
8959         * lib/xgetgroups.c: ...to new file.
8960         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
8961         * modules/xgetgroups: New file, split from...
8962         * modules/mgetgroups: ...here.
8963         (Depends-on): Add xalloc-oversized.
8964         * modules/hash (Depends-on): Likewise.
8965         * modules/hash-tests (Depends-on): Drop xalloc.
8966         (test_hash_LDADD): Drop unused library.
8967         * tests/test-hash.c (main): Break xalloc dependency.
8968         (includes): Drop unused include.
8969
8970         xalloc-oversized: new module
8971         * modules/xalloc-oversized: New module.
8972         * modules/xalloc (Depends-on): Add it.
8973         * lib/xalloc.h (xalloc_oversized): Move...
8974         * lib/xalloc-oversized.h: ...into new file.
8975
8976         utimecmp: drop dependency on xmalloc
8977         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
8978         due to memory pressure.
8979         * modules/utimecmp (Depends-on): Drop xalloc.
8980
8981 2011-04-27  Eric Blake  <eblake@redhat.com>
8982
8983         getcwd: fix mingw bugs
8984         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
8985         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
8986         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
8987
8988 2011-04-27  Bruno Haible  <bruno@clisp.org>
8989
8990         mkstemps: Ensure declaration on MacOS X 10.5.
8991         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
8992         * doc/glibc-functions/mkstemps.texi: Document header file problem on
8993         MacOS X.
8994
8995 2011-04-27  Bruno Haible  <bruno@clisp.org>
8996
8997         mkstemp: More documentation.
8998         * doc/posix-functions/mkstemp.texi: Document header file problem on
8999         MacOS X.
9000
9001 2011-04-27  Bruno Haible  <bruno@clisp.org>
9002
9003         mkstemp: Tweak configure message when cross-compiling.
9004         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
9005         result as a guess.
9006
9007 2011-04-27  Bruno Haible  <bruno@clisp.org>
9008
9009         clean-temp: Clarify what it does.
9010         * lib/clean-temp.h: Add more comments.
9011         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
9012         module.
9013         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
9014         * doc/glibc-functions/mkstemps.texi: Likewise.
9015         * doc/glibc-functions/mkostemps.texi: Likewise.
9016
9017 2011-04-27  Eric Blake  <eblake@redhat.com>
9018
9019         fchdir: avoid extra chdir and fix test
9020         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
9021         getcwd-lgpl.
9022         * lib/fchdir.c (get_name): Any absolute name will do; it does not
9023         have to be canonical.
9024         (canonicalize_file_name): Drop unused macro.
9025         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
9026
9027         filenamecat-lgpl: fix licence
9028         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
9029         when it was first created.
9030
9031         linkat, renameat: add missing dependency
9032         * modules/linkat (Depends-on): Require getcwd-lgpl.
9033         * modules/renameat (Depends-on): Likewise.
9034
9035         tests: reduce dependencies
9036         * tests/test-linkat.c (main): Use lighter-weight getcwd.
9037         * tests/test-renameat.c (main): Likewise.
9038         * modules/linkat-tests (Depends-on): Relax dependency.
9039         * modules/renameat-tests (Depends-on): Likewise.
9040         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
9041         dependency explicit.
9042
9043         save-cwd: reduce default dependency
9044         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
9045         * lib/save-cwd.c: Update comments.
9046         * NEWS: Document the semantic change.
9047
9048         getcwd: enhance tests
9049         * tests/test-getcwd-lgpl.c: New file, taken from...
9050         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
9051         repeat long path stress tests from m4 probe.
9052         * modules/getcwd-lgpl-tests: New module.
9053         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
9054         * m4/getcwd-abort-bug.m4: Update comment.
9055         * m4/getcwd-path-max.m4: Likewise.
9056
9057         getcwd-lgpl: new module
9058         * modules/getcwd-lgpl: New module.
9059         * lib/getcwd-lgpl.c: New file.
9060         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9061         * MODULES.html.sh (lacking POSIX:2008): Likewise.
9062         * modules/getcwd (configure.ac): Set C witness.
9063         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
9064
9065         getcwd: tweak comments
9066         * m4/getcwd-abort-bug.m4: Fix comments.
9067         * m4/getcwd-path-max.m4: Likewise.
9068         * m4/getcwd.m4: Likewise.
9069
9070 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
9071         and Eric Blake  <eblake@redhat.com>
9072
9073         mkstemp: replace if system version uses wrong permissions
9074         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
9075         read/write mode bits set in file created by mkstemp.
9076         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
9077
9078 2011-04-27  Eric Blake  <eblake@redhat.com>
9079
9080         passfd: avoid compiler warning
9081         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
9082         Reported by Laine Stump.
9083
9084 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
9085
9086         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
9087         required by the NetBSD (and perhaps other 4.4BSD derived) join.
9088
9089 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
9090         and Eric Blake  <eblake@redhat.com>
9091
9092         mkstemp: mention clean-temp module
9093         * lib/mkstemp.c: Add comment.
9094         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
9095
9096 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
9097
9098         inttypes: also provide default values for 32-bit tests
9099         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
9100         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
9101
9102 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9103
9104         strtoumax: remove dependency on strtoimax
9105         This is like the strtoull change of yesterday.
9106         * modules/strtoumax (Files): Add lib/strtoimax.c.
9107         (Depends-on): Remove strtoimax and add verify.
9108
9109         inttypes-incomplete: new module
9110         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
9111         all but the PRI* and SCN* parts of gl_INTTYPES_H.
9112         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
9113         of gl_INTTYPES_H.
9114         (gl_INTTYPES_H): Rewrite in terms of these new macros.
9115         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
9116         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
9117         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
9118         * modules/strtoumax, modules/xstrtol (Depends-on):
9119         Depend on inttypes-incomplete, not inttypes.
9120         * modules/inttypes-incomplete: New module, containing the contents
9121         of the old modules/inttypes module, except that the Files: section
9122         omits m4/inttypes-pri.m4, and the configure.ac section invokes
9123         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
9124         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
9125         (Depends-on): Depend only on inttypes-incomplete.
9126         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
9127
9128         inttypes: omit now-redundant strtoimax and strtoumax work
9129         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
9130         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
9131
9132         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
9133         This supports apps that need pointers to strtoimax and strtoumax,
9134         and ports to HP-UX 11.00 64.bit, which has macros that expand to
9135         nonexistent functions.  See
9136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
9137         et seq.
9138         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
9139         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
9140         a macro.
9141         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9142
9143 2011-04-25  Simon Josefsson  <simon@josefsson.org>
9144
9145         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
9146
9147 2011-04-25  Bruno Haible  <bruno@clisp.org>
9148
9149         strtol, strtoul: Mark modules as obsolete.
9150         * modules/strtol (Status, Notice): New sections.
9151         * modules/strtoul (Status, Notice): New sections.
9152
9153 2011-04-25  Bruno Haible  <bruno@clisp.org>
9154
9155         strtod: Remove check for strtod, unless supporting old platforms.
9156         * modules/strtod-obsolete: New file.
9157         * m4/strtod-obsolete.m4: New file.
9158         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
9159         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
9160         * modules/strtod (Depends-on): Add strtod-obsolete.
9161         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
9162
9163 2011-04-25  Bruno Haible  <bruno@clisp.org>
9164
9165         strcase: Make module obsolete.
9166         * modules/strcase (Status, Notice): New sections.
9167
9168 2011-04-25  Bruno Haible  <bruno@clisp.org>
9169
9170         dup2: Remove check for dup2, unless supporting old obsolete platforms.
9171         * modules/dup2-obsolete: New file.
9172         * m4/dup2-obsolete.m4: New file.
9173         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
9174         gl_FUNC_DUP2_OBSOLETE is not also defined.
9175         * modules/dup2 (Depends-on): Add dup2-obsolete.
9176         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
9177
9178 2011-04-25  Bruno Haible  <bruno@clisp.org>
9179
9180         strnlen: Avoid memchr related link error on old obsolete platforms.
9181         * modules/memchr-obsolete: New file.
9182         * m4/memchr-obsolete.m4: New file.
9183         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
9184         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
9185         * modules/memchr (Depends-on): Add memchr-obsolete.
9186         * modules/strnlen (Depends-on): Likewise.
9187         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
9188
9189 2011-04-25  Jim Meyering  <meyering@redhat.com>
9190
9191         maint.mk: makefile_at_at_check extend and clean up
9192         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
9193         in addition to */Makefile.am.
9194         Exempt legitimate uses of @VAR@ notation, e.g.,
9195         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
9196         Remove obsolete coreutils-specific comment.
9197         Prompted by discussion here:
9198         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
9199
9200 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9201
9202         strtoul: remove dependency on strtol
9203         This is so that 'configure' need not check for strtol merely because
9204         the application needs strtoul.
9205         * modules/strtoul (Files): Add lib/strtol.c.
9206         (Depends-on): Remove strtol.
9207
9208         strtoull: remove dependency on strtoul
9209         This is like the strtoll change.
9210         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
9211         (Depends-on): Remove strtoul.
9212
9213         strtoll: remove dependency on strtol
9214         This is so that 'configure' need not check for strtol merely because
9215         the application needs strtoll.
9216         * modules/strtoll (Files): Add lib/strtol.c.
9217         (Depends-on): Remove strtol.
9218
9219 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9220
9221         inttypes: Move some configure check to module 'imaxdiv'.
9222         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
9223         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
9224         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
9225
9226 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9227
9228         inttypes: Move some configure check to module 'imaxabs'.
9229         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
9230         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
9231         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
9232
9233 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9234
9235         inttypes: Remove configure tests that are not needed since 2009-12-31.
9236         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
9237         gl_cv_header_working_inttypes_h.
9238
9239 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9240
9241         * modules/strnlen (Depends-on): Remove memchr.
9242         The strnlen implementation doesn't need the memchr module's fixes; see
9243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
9244
9245         strtol: remove dependency on wchar
9246         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
9247         * modules/strtol (Depends-on): Remove wchar.
9248
9249 2011-04-21  Eric Blake  <eblake@redhat.com>
9250
9251         passfd: fix test regression on Linux
9252         * modules/passfd-tests (configure.ac): Correct socketpair check.
9253
9254         passfd: speed up configure and drop unused code
9255         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
9256         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
9257         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
9258         Instead of probing at configure for unix_scm_rights_bsd44_way,
9259         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
9260         check to a struct member probe.
9261         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
9262         (sendfd, recvfd): Update preprocessor checks.
9263         * modules/passfd (Files): Reflect rename, and drop unused file.
9264         (Depends-on): Drop unused dependency.
9265
9266         passfd: allow compilation on mingw
9267         * modules/sys_socket (Depends-on): Add sys_uio.
9268         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
9269         iovec and a minimal struct msghdr.
9270         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
9271         * tests/test-sys_socket.c (main): Enhance test.
9272         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
9273         guaranteed to provide what we need.
9274         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
9275         * modules/passfd-tests (Depends-on): Add sys_wait.
9276         * tests/test-passfd.c (main): Skip test on mingw, for now.
9277         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
9278         partial 'struct msghdr' implementation.
9279
9280         sys_uio: new module
9281         * modules/sys_uio: New module.
9282         * modules/sys_uio-tests: Likewise.
9283         * lib/sys_uio.in.h: New file.
9284         * m4/sys_uio_h.m4: Likewise.
9285         * tests/test-sys_uio.c: Likewise.
9286         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
9287         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
9288
9289 2011-04-20  Jim Meyering  <meyering@redhat.com>
9290
9291         useless-if-before-free: avoid false-positive
9292         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
9293         disjunct so that it too requires a terminating ";".  Without that,
9294         this script would identify as useless one statement from gcc that
9295         was not:
9296           if (aligned_ptr)
9297             free (((void **) aligned_ptr) [-1]);
9298
9299 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
9300
9301         doc: update users.txt.
9302         * users.txt: Add barcode.
9303
9304 2011-04-19  Bruno Haible  <bruno@clisp.org>
9305
9306         ioctl: Remove link dependency on native Windows.
9307         * lib/fd-hook.h: Renamed from lib/close-hook.h.
9308         (gl_close_fn, gl_ioctl_fn): New types.
9309         (struct fd_hook): Renamed from struct close_hook. Change type of
9310         private_close_fn field. Add private_ioctl_fn field.
9311         (close_hook_fn): Add parameter for primary close method.
9312         (execute_close_hooks, execute_all_close_hooks): Likewise.
9313         (ioctl_hook_fn): New type.
9314         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
9315         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
9316         argument.
9317         (unregister_fd_hook): Renamed from unregister_close_hook.
9318         * lib/fd-hook.c: Renamed from lib/close-hook.c.
9319         Don't include <unistd.h>.
9320         (close): Remove undef.
9321         (anchor): Update.
9322         (execute_close_hooks): Add argument for primary close method.
9323         (execute_all_close_hooks): Likewise.
9324         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
9325         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
9326         argument. Allow each argument to be NULL.
9327         (unregister_fd_hook): Renamed from unregister_close_hook.
9328         * lib/close.c (rpl_close): Pass 'close' function pointer to
9329         execute_all_close_hooks.
9330         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
9331         (primary_ioctl): New function.
9332         (ioctl): Don't call ioctlsocket here. Instead, call
9333         execute_all_ioctl_hooks.
9334         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
9335         close method.
9336         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
9337         (fd_sockets_hook): Renamed from close_sockets_hook.
9338         (gl_sockets_startup, gl_sockets_cleanup): Update.
9339         * modules/fd-hook: Renamed from modules/close-hook. Update.
9340         * modules/close (Depends-on): Add fd-hook, remove close-hook.
9341         * modules/sockets (Depends-on): Likewise.
9342         * modules/ioctl (Depends-on): Add fd-hook.
9343         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
9344         GNULIB_SOCKET.
9345
9346 2011-04-19  Bruno Haible  <bruno@clisp.org>
9347
9348         Move the support of O_NONBLOCK in open() to the 'open' module.
9349         * modules/nonblocking (Depends-on): Remove 'open'.
9350         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
9351         gl_cv_have_open_O_NONBLOCK.
9352         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
9353         O_NONBLOCK support.
9354         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
9355
9356 2011-04-17  Bruno Haible  <bruno@clisp.org>
9357
9358         pipe2: Simplify code.
9359         * lib/pipe2.c (pipe2): Reduce code duplication.
9360
9361 2011-04-17  Bruno Haible  <bruno@clisp.org>
9362
9363         nonblocking: Add comment.
9364         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
9365
9366 2011-04-17  Bruno Haible  <bruno@clisp.org>
9367
9368         nonblocking: Add tests for sockets.
9369         * tests/test-nonblocking-socket.sh: New file.
9370         * tests/test-nonblocking-socket-main.c: New file.
9371         * tests/test-nonblocking-socket-child.c: New file.
9372         * tests/test-nonblocking-socket.h: New file.
9373         * tests/socket-server.h: New file.
9374         * tests/socket-client.h: New file.
9375         * modules/nonblocking-socket-tests: New file.
9376         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
9377
9378 2011-04-17  Bruno Haible  <bruno@clisp.org>
9379
9380         nonblocking: Add tests for pipes.
9381         * tests/test-nonblocking-pipe.sh: New file.
9382         * tests/test-nonblocking-pipe-main.c: New file.
9383         * tests/test-nonblocking-pipe-child.c: New file.
9384         * tests/test-nonblocking-pipe.h: New file.
9385         * tests/test-nonblocking-writer.h: New file.
9386         * tests/test-nonblocking-reader.h: New file.
9387         * tests/test-nonblocking-misc.h: New file.
9388         * modules/nonblocking-pipe-tests: New file.
9389         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
9390
9391 2011-04-16  Bruno Haible  <bruno@clisp.org>
9392
9393         gettext: Clarify the needed programmer actions.
9394         * modules/gettext (Notice): New field.
9395         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
9396
9397 2011-04-16  Bruno Haible  <bruno@clisp.org>
9398
9399         strchrnul: Tweak last commit.
9400         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
9401         bug.
9402         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
9403         as in _GL_FUNCDECL_SYS.
9404         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
9405         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
9406
9407 2011-04-15  Eric Blake  <eblake@redhat.com>
9408
9409         strchrnul: work around cygwin bug
9410         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
9411         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
9412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
9413         * modules/string (Makefile.am): Substitute it.
9414         * lib/string.in.h (strchrnul): Use it.
9415
9416 2011-04-15  Bruno Haible  <bruno@clisp.org>
9417
9418         Don't require lib/stdio-write.c when only module 'stdio' is used.
9419         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
9420         invocation.
9421         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
9422
9423 2011-04-14  Bruno Haible  <bruno@clisp.org>
9424
9425         Support non-blocking pipe I/O in read() on native Windows.
9426         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
9427         (read): New declaration.
9428         * lib/read.c: New file.
9429         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
9430         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
9431         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
9432         vscanf): New declarations.
9433         * lib/stdio-read.c: New file.
9434         * m4/read.m4: New file.
9435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
9436         REPLACE_READ.
9437         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
9438         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9439         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
9440         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
9441         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
9442         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9443         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
9444         * modules/read: New file.
9445         * modules/nonblocking (Files): Add lib/stdio-read.c.
9446         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
9447         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
9448         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9449         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
9450         * modules/pread (Depends-on): Add read.
9451         * modules/safe-read (Depends-on): Likewise.
9452         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
9453         gets, scanf, vfscanf, vscanf): Verify signatures.
9454         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
9455         problem with non-blocking pipes.
9456         * doc/posix-functions/fgetc.texi: Likewise.
9457         * doc/posix-functions/fgets.texi: Likewise.
9458         * doc/posix-functions/fread.texi: Likewise.
9459         * doc/posix-functions/fscanf.texi: Likewise.
9460         * doc/posix-functions/getc.texi: Likewise.
9461         * doc/posix-functions/getchar.texi: Likewise.
9462         * doc/posix-functions/gets.texi: Likewise.
9463         * doc/posix-functions/scanf.texi: Likewise.
9464         * doc/posix-functions/vfscanf.texi: Likewise.
9465         * doc/posix-functions/vscanf.texi: Likewise.
9466
9467 2011-04-14  Bruno Haible  <bruno@clisp.org>
9468
9469         Support non-blocking pipe I/O in write() on native Windows.
9470         * lib/write.c (rpl_write): Split a write request that failed merely
9471         because the byte count was larger than the pipe buffer's size.
9472         * doc/posix-functions/write.texi: Mention the problem with large byte
9473         counts.
9474
9475 2011-04-14  Bruno Haible  <bruno@clisp.org>
9476
9477         wchar: Ensure that wchar_t gets defined on uClibc.
9478         * lib/wchar.in.h: On uClibc, include <stddef.h>.
9479         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
9480
9481 2011-04-13  Bruno Haible  <bruno@clisp.org>
9482
9483         safe-write, full-read: Avoid unnecessary compilation units.
9484         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
9485         (Depends-on): Remove safe-read. Add ssize_t.
9486         * modules/full-read (Files): Add lib/full-write.c.
9487         (Depends-on): Add full-write.
9488
9489 2011-04-13  Bruno Haible  <bruno@clisp.org>
9490
9491         Support non-blocking pipe I/O and SIGPIPE in pwrite().
9492         * modules/pwrite (Depends-on): Add 'write'.
9493
9494 2011-04-13  Bruno Haible  <bruno@clisp.org>
9495
9496         Support non-blocking pipe I/O in write() on native Windows.
9497         * lib/unistd.in.h (write): Enable replacement also if
9498         GNULIB_UNISTD_H_NONBLOCKING is 1.
9499         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
9500         (rpl_write): When failing to write on a non-blocking pipe, change
9501         errno from ENOSPC to EAGAIN.
9502         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
9503         putchar, puts, vfprintf, vprintf): Enable replacement also if
9504         GNULIB_STDIO_H_NONBLOCKING is 1.
9505         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
9506         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
9507         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
9508         CALL_WITH_SIGPIPE_EMULATION.
9509         (CALL_WITH_SIGPIPE_EMULATION): Use them.
9510         * m4/nonblocking.m4: New file.
9511         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
9512         for non-blocking I/O support.
9513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9514         GNULIB_UNISTD_H_NONBLOCKING.
9515         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
9516         required for non-blocking I/O support.
9517         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
9518         * modules/nonblocking (Files): Add m4/nonblocking.m4,
9519         lib/stdio-write.c, m4/asm-underscore.m4.
9520         (Depends-on): Add stdio, unistd.
9521         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
9522         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
9523         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
9524         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
9525         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
9526         problem with non-blocking pipes.
9527         * doc/posix-functions/fputc.texi: Likewise.
9528         * doc/posix-functions/fputs.texi: Likewise.
9529         * doc/posix-functions/fwrite.texi: Likewise.
9530         * doc/posix-functions/printf.texi: Likewise.
9531         * doc/posix-functions/putc.texi: Likewise.
9532         * doc/posix-functions/putchar.texi: Likewise.
9533         * doc/posix-functions/puts.texi: Likewise.
9534         * doc/posix-functions/vfprintf.texi: Likewise.
9535         * doc/posix-functions/vprintf.texi: Likewise.
9536         * doc/posix-functions/write.texi: Likewise.
9537
9538 2011-04-10  Jim Meyering  <meyering@redhat.com>
9539
9540         maint.mk: prohibit doubled words
9541         Detect them also when they're separated by a newline.
9542         There are 3 ways to customize it:
9543           - disable the test on a per file basis, as usual with rules using
9544             $(VC_LIST_EXCEPT)
9545           - replace the default doubled-word-selecting regexp (affects all files)
9546           - ignore a particular file-vs-doubled-word match
9547         I nearly used that last one to ignore the "is is" match in
9548         coreutils' NEWS file, since the text was "ls -is is ..."
9549         To do that, I would have added this line to cfg.mk:
9550           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
9551         but it would have ignored any "is is" match in NEWS.
9552         Low probability, but still...
9553         Instead, I changed the text, slightly:
9554           -  ls -is is now consistent with ls -lis in ignoring values returned
9555           +  "ls -is" is now consistent with ls -lis in ignoring values returned
9556         * top/maint.mk (prohibit_double_word_RE_): Provide default.
9557         (prohibit_doubled_word_): Define.
9558         (sc_prohibit_doubled_word): New rule.
9559         (sc_prohibit_the_the): Remove.  Subsumed by the above.
9560
9561 2011-04-10  Jim Meyering  <meyering@redhat.com>
9562
9563         maint: fix doubled-word typo in comment
9564         * m4/gethostname.m4: s/is is/it is/
9565         * m4/getdomainname.m4: Likewise.
9566
9567 2011-04-10  Jim Meyering  <meyering@redhat.com>
9568
9569         maint: remove doubled word: s/it it/it/
9570         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
9571
9572 2011-04-10  Jim Meyering  <meyering@redhat.com>
9573
9574         maint.mk: remove useless semicolon and backslash
9575         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
9576         semicolon and backslash.
9577
9578 2011-04-10  Bruno Haible  <bruno@clisp.org>
9579
9580         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
9581         * modules/stdint-tests (Depends-on): Add wchar.
9582
9583 2011-04-10  Jim Meyering  <meyering@redhat.com>
9584
9585         maint: remove doubled words in comments, e.g., s/a a/a/
9586         * lib/strptime.c (day_of_the_week): s/the the/the/
9587         * tests/test-chown.h (test_chown): s/a a/a/
9588
9589         test-chown.h: correct a cast
9590         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
9591         when the destination is a stat.st_gid.
9592
9593 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
9594
9595         getaddrinfo: Fix test for sa_len member.
9596         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
9597         include <sys/types.h> before <sys/socket.h>.
9598
9599 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9600
9601         maint: change "can not" to "cannot"
9602         * doc/posix-functions/iconv.texi (iconv): This one crossed line
9603         boundaries.
9604
9605 2011-04-09  Jim Meyering  <meyering@redhat.com>
9606
9607         maint: change "a a" to "a"
9608         * tests/test-lchown.h (test_lchown): s/a a/a/
9609
9610         maint.mk: prohibit \<the the\>
9611         * top/maint.mk (sc_prohibit_the_the): New rule.
9612
9613         maint: fix "the the" in comment
9614         * lib/count-one-bits.h: s/the the/the/
9615
9616         maint: change "can not" to "cannot"
9617         But do not change the occurrences in maintain.texi or in
9618         build-aux/po/Makefile.in.in, which I presume comes from gettext.
9619         * doc/gnulib-tool.texi: s/can not/cannot/
9620         * doc/posix-functions/accept.texi (accept): Likewise.
9621         * doc/posix-functions/socket.texi (socket): Likewise.
9622         * lib/mbrtowc.c: Likewise.
9623
9624         maint.mk: prohibit use of "can not"
9625         * top/maint.mk (sc_prohibit_can_not): New rule.
9626         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
9627
9628 2011-04-09  Bruno Haible  <bruno@clisp.org>
9629
9630         careadlinkat: Guard against misuse of careadlinkatcwd.
9631         * lib/careadlinkat.c: Include <stdlib.h>.
9632         (careadlinkatcwd): Check that the fd argument is as expected.
9633
9634 2011-04-09  Bruno Haible  <bruno@clisp.org>
9635
9636         careadlinkat: Use common coding style.
9637         * lib/careadlinkat.c: Move gnulib includes after system includes.
9638
9639 2011-04-09  Bruno Haible  <bruno@clisp.org>
9640
9641         careadlinkat: Clarify specification.
9642         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
9643         (careadlinkatcwd): Add comment.
9644         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
9645
9646 2011-04-09  Bruno Haible  <bruno@clisp.org>
9647
9648         areadlinkat: Avoid link error on many platforms.
9649         * modules/areadlinkat (Depends-on): Add areadlink.
9650
9651 2011-04-09  Bruno Haible  <bruno@clisp.org>
9652
9653         allocator, careadlinkat: Fix double-inclusion guard.
9654         * lib/allocator.h: Fix double-inclusion guard.
9655         * lib/careadlinkat.h: Likewise.
9656
9657 2011-04-09  Bruno Haible  <bruno@clisp.org>
9658
9659         relocatable-prog-wrapper: Update after module 'areadlink' changed.
9660         * lib/relocwrapper.c: Update dependencies hierarchy.
9661         * build-aux/install-reloc: Update list of files to be compiled.
9662         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
9663         lib/allocator.[hc].
9664
9665 2011-04-08  Eric Blake  <eblake@redhat.com>
9666
9667         strftime: silence gnulib-tool warning
9668         * modules/strftime-tests (Depends-on): Drop automatic dependency.
9669
9670 2011-04-08  Bruno Haible  <bruno@clisp.org>
9671
9672         verify: Fix syntax error with GCC 4.6 in C++ mode.
9673         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
9674         (HAVE_STATIC_ASSERT): New macro.
9675         (verify_true, verify): Use 'static_assert' if it is supported and
9676         '_Static_assert' is not supported.
9677
9678 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9679
9680         allocator: New module.
9681         * modules/allocator, lib/allocator.c: New files.
9682         * lib/allocator.h (stdlib_allocator): New decl.
9683         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
9684         Remove.  Do not include <stdlib.h>.
9685         (careadlinkat): Use stdlib_allocator instead of rolling our own.
9686         * modules/careadlinkat (Files): Remove lib/allocator.h.
9687         (Depends-on): Add allocator.
9688
9689         stdlib: let modules use system malloc, realloc
9690         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
9691         if !_GL_USE_STDLIB_ALLOC.
9692         (malloc, realloc): Limit this change to a smaller scope.
9693
9694         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
9695         (malloc, realloc): Don't #undef; no longer needed.
9696         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9697         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9698         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
9699         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9700         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9701         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9702         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
9703         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
9704
9705         careadlinkat: rename members to avoid problem
9706         * lib/allocator.h (struct allocator): Rename members from
9707         malloc/realloc to allocate/reallocate, to avoid problems if malloc
9708         and realloc are #define'd.  Reported by Eric Blake in
9709         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
9710         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
9711
9712 2011-04-08  Eric Blake  <eblake@redhat.com>
9713
9714         nonblocking: reduce dependency
9715         * tests/test-nonblocking.c: Only test sockets when in use.
9716         * modules/nonblocking-tests (Depends-on): Drop socket.
9717         (Makefile.am): Link even if sockets are not present.
9718         * modules/pipe2-tests (Makefile.am): Likewise.
9719         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
9720
9721         pipe2: fix O_NONBLOCK support on mingw
9722         * modules/pipe2 (Depends-on): Add nonblocking.
9723         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
9724         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
9725         * tests/test-nonblocking.c (main): Likewise.
9726         * modules/pipe2-tests (Makefile.am): Avoid link failure.
9727
9728         fcntl-h: fix O_ACCMODE on cygwin
9729         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
9730         * lib/fcntl.in.h (O_ACCMODE): Fix it.
9731
9732         pipe-filter: drop O_NONBLOCK workarounds
9733         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
9734         * modules/pipe-filter-ii (Depends-on): Likewise.
9735         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
9736
9737         nonblocking: provide O_NONBLOCK for mingw
9738         * modules/nonblocking (Depends-on): Add open.
9739         (configure.ac): Set new witness macro.
9740         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
9741         * modules/fcntl-h (Makefile.am): Substitute it.
9742         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
9743         nonblocking module is in use.
9744         * lib/nonblocking.c: Adjust portability test.
9745         * lib/open.c (open): Don't let native open see gnulib flag.
9746         * tests/test-fcntl-h.c (main): Enhance test.
9747         * tests/test-open.h (test_open): Likewise.
9748         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
9749
9750         careadlinkat: fix compilation error on mingw
9751         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
9752         within struct allocator.
9753
9754 2011-04-06  Eric Blake  <eblake@redhat.com>
9755
9756         binary-io: relicense under LGPLv2+
9757         * modules/binary-io (License): Relax to LGPLv2+.
9758         Requested for libvirt, and required by pipe2.
9759
9760 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
9761
9762         verify: use _Static_assert if available
9763         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
9764         (verify_true, verify): Use it if available.  This generates better
9765         diagnostics with GCC 4.6.0 and later.
9766
9767 2011-04-05  Bruno Haible  <bruno@clisp.org>
9768
9769         Remove leftover generated .h files after config.status changed.
9770
9771         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
9772         GL_GENERATE_ALLOCA_H.
9773         * modules/alloca-opt (Makefile.am): Remove alloca.h if
9774         GL_GENERATE_ALLOCA_H evaluates to false.
9775
9776         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
9777         GL_GENERATE_ARGZ_H.
9778         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
9779         evaluates to false.
9780
9781         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
9782         GL_GENERATE_BYTESWAP_H.
9783         * modules/byteswap (Makefile.am): Remove byteswap.h if
9784         GL_GENERATE_BYTESWAP_H evaluates to false.
9785
9786         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
9787         GL_GENERATE_ERRNO_H.
9788         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
9789         evaluates to false.
9790
9791         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
9792         GL_GENERATE_FLOAT_H.
9793         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
9794         evaluates to false.
9795
9796         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
9797         GL_GENERATE_FNMATCH_H.
9798         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
9799         GL_GENERATE_FNMATCH_H evaluates to false.
9800
9801         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
9802         GL_GENERATE_GLOB_H.
9803         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
9804         evaluates to false.
9805
9806         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
9807         automake conditional GL_GENERATE_ICONV_H.
9808         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
9809         evaluates to false.
9810
9811         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
9812         GL_GENERATE_NETINET_IN_H.
9813         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
9814         GL_GENERATE_NETINET_IN_H evaluates to false.
9815
9816         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
9817         conditional GL_GENERATE_PTHREAD_H.
9818         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
9819         * modules/pthread (Makefile.am): Remove pthread.h if
9820         GL_GENERATE_PTHREAD_H evaluates to false.
9821
9822         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
9823         GL_GENERATE_SCHED_H.
9824         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
9825         evaluates to false.
9826
9827         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
9828         conditional GL_GENERATE_SELINUX_CONTEXT_H.
9829         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
9830         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
9831
9832         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
9833         GL_GENERATE_STDARG_H.
9834         * modules/stdarg (Makefile.am): Remove stdarg.h if
9835         GL_GENERATE_STDARG_H evaluates to false.
9836
9837         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
9838         GL_GENERATE_STDBOOL_H.
9839         * modules/stdbool (Makefile.am): Remove stdbool.h if
9840         GL_GENERATE_STDBOOL_H evaluates to false.
9841
9842         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
9843         conditional GL_GENERATE_STDDEF_H.
9844         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
9845         * modules/stddef (Makefile.am): Remove stddef.h if
9846         GL_GENERATE_STDDEF_H evaluates to false.
9847
9848         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
9849         GL_GENERATE_STDINT_H.
9850         * modules/stdint (Makefile.am): Remove stdint.h if
9851         GL_GENERATE_STDINT_H evaluates to false.
9852
9853         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
9854         GL_GENERATE_SYSEXITS_H.
9855         * modules/sysexits (Makefile.am): Remove sysexits.h if
9856         GL_GENERATE_SYSEXITS_H evaluates to false.
9857
9858         Reported by Karl Berry and Ralf Wildenhues.
9859
9860 2011-04-05  Bruno Haible  <bruno@clisp.org>
9861
9862         Ensure to rebuild generated .h files when config.status has changed.
9863         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
9864         config.status.
9865         * modules/ctype (Makefile.am): Likewise.
9866         * modules/dirent (Makefile.am): Likewise.
9867         * modules/errno (Makefile.am): Likewise.
9868         * modules/fcntl-h (Makefile.am): Likewise.
9869         * modules/float (Makefile.am): Likewise.
9870         * modules/getopt-posix (Makefile.am): Likewise.
9871         * modules/glob (Makefile.am): Likewise.
9872         * modules/iconv-h (Makefile.am): Likewise.
9873         * modules/inttypes (Makefile.am): Likewise.
9874         * modules/langinfo (Makefile.am): Likewise.
9875         * modules/locale (Makefile.am): Likewise.
9876         * modules/math (Makefile.am): Likewise.
9877         * modules/netdb (Makefile.am): Likewise.
9878         * modules/netinet_in (Makefile.am): Likewise.
9879         * modules/poll-h (Makefile.am): Likewise.
9880         * modules/pthread (Makefile.am): Likewise.
9881         * modules/pty (Makefile.am): Likewise.
9882         * modules/sched (Makefile.am): Likewise.
9883         * modules/search (Makefile.am): Likewise.
9884         * modules/selinux-h (Makefile.am): Likewise.
9885         * modules/signal (Makefile.am): Likewise.
9886         * modules/spawn (Makefile.am): Likewise.
9887         * modules/stdarg (Makefile.am): Likewise.
9888         * modules/stdbool (Makefile.am): Likewise.
9889         * modules/stddef (Makefile.am): Likewise.
9890         * modules/stdint (Makefile.am): Likewise.
9891         * modules/stdio (Makefile.am): Likewise.
9892         * modules/stdlib (Makefile.am): Likewise.
9893         * modules/string (Makefile.am): Likewise.
9894         * modules/strings (Makefile.am): Likewise.
9895         * modules/sys_file (Makefile.am): Likewise.
9896         * modules/sys_ioctl (Makefile.am): Likewise.
9897         * modules/sys_select (Makefile.am): Likewise.
9898         * modules/sys_socket (Makefile.am): Likewise.
9899         * modules/sys_stat (Makefile.am): Likewise.
9900         * modules/sys_time (Makefile.am): Likewise.
9901         * modules/sys_times (Makefile.am): Likewise.
9902         * modules/sys_utsname (Makefile.am): Likewise.
9903         * modules/sys_wait (Makefile.am): Likewise.
9904         * modules/sysexits (Makefile.am): Likewise.
9905         * modules/termios (Makefile.am): Likewise.
9906         * modules/time (Makefile.am): Likewise.
9907         * modules/unistd (Makefile.am): Likewise.
9908         * modules/wchar (Makefile.am): Likewise.
9909         * modules/wctype-h (Makefile.am): Likewise.
9910         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
9911
9912 2011-04-05  Bruno Haible  <bruno@clisp.org>
9913
9914         pipe2: Relicense under LGPLv2+.
9915         * modules/pipe2 (License): Change to LGPLv2+.
9916         Requested by Eric Blake, for libvirt.
9917
9918 2011-04-05  Bruce Korb  <bkorb@gnu.org>
9919
9920         bootstrap: compute gnulib_extra_files after updating build_aux
9921         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
9922         change build_aux or also supply gnulib_extra_files.  Handle correctly.
9923
9924 2011-04-05  Eric Blake  <eblake@redhat.com>
9925
9926         bootstrap: preserve git whitelist item sorting
9927         * build-aux/bootstrap (sort_patterns): New function.
9928         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
9929
9930 2011-04-05  Simon Josefsson  <simon@josefsson.org>
9931
9932         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
9933         sc_space_tab check.
9934
9935 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
9936
9937         areadlink, areadlinkat: rewrite in terms of careadlinkat
9938         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
9939         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
9940         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
9941         (malloc, realloc): Remove #undefs.
9942         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
9943         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
9944         readlink, ssize_t, stdint, unistd.
9945         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
9946         areadlink, stdint.
9947
9948         careadlinkat: new module
9949         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
9950         * modules/careadlinkat: New files, written by me with
9951         a review and feedback from Ben Pfaff in
9952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
9953
9954 2011-04-01  Bruno Haible  <bruno@clisp.org>
9955
9956         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
9957         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
9958         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
9959         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
9960         Reported by Bruce Korb <bruce.korb@gmail.com>.
9961
9962 2011-04-01  Bruno Haible  <bruno@clisp.org>
9963
9964         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
9965         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
9966         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
9967         * modules/wcpcpy (Depends-on): Add extensions.
9968         * modules/wcpncpy (Depends-on): Likewise.
9969         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
9970         systems.
9971         * doc/posix-functions/wcpncpy.texi: Likewise.
9972         * doc/posix-functions/wcwidth.texi: Likewise.
9973
9974 2011-03-31  Eric Blake  <eblake@redhat.com>
9975
9976         nonblocking: fix mingw test failures
9977         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
9978         non-blocking flag on regular file.
9979         (get_nonblocking_flag): Set errno on invalid fd.
9980         * tests/test-nonblocking.c (main): Avoid test failure on
9981         directories if fchdir is not active.
9982         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
9983
9984 2011-03-31  Bruno Haible  <bruno@clisp.org>
9985
9986         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
9987         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
9988         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
9989         Reported by Simon Josefsson <simon@josefsson.org>.
9990
9991 2011-03-31  Bruno Haible  <bruno@clisp.org>
9992         and Eric Blake  <eblake@redhat.com>
9993
9994         nonblocking: new module
9995         * modules/nonblocking: New module.
9996         * modules/nonblocking-tests: Likewise.
9997         * lib/nonblocking.h: New file.
9998         * lib/nonblocking.c: Likewise.
9999         * tests/test-nonblocking.c: New test.
10000         * lib/ioctl.c (ioctl) [mingw]: Update comment.
10001
10002 2011-03-30  Bruno Haible  <bruno@clisp.org>
10003
10004         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
10005         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
10006         instead of 'printf' format for GCC >= 4.4.
10007         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
10008         (fprintf, printf, vfprintf, vprintf): Declare with
10009         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
10010         the system's vfprintf() function.
10011         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
10012
10013 2011-03-30  Eric Blake  <eblake@redhat.com>
10014
10015         passfd: fix scoping bug
10016         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
10017         before sendmsg/recvmsg.
10018
10019         passfd: standardize coding conventions
10020         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
10021         can be learned at compile time.
10022         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
10023         ifdefs.
10024         (sendfd, recvfd): Follow gnulib code conventions.
10025
10026         passfd: fix incorrect sendmsg arguments
10027         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
10028         incorrect msg_controllen value.
10029         * modules/passfd-tests (Depends-on): Check for alarm.
10030         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
10031         Reported by Bastien ROUCARIES.
10032
10033 2011-03-30  Bruno Haible  <bruno@clisp.org>
10034
10035         c-strcasestr: Relicense under LGPLv2+.
10036         * modules/c-strcasestr (License): Change to LGPLv2+.
10037         Requested by Eric Blake, for libvirt.
10038
10039 2011-03-30  Simon Josefsson  <simon@josefsson.org>
10040
10041         * users.txt: Add libidn2.  Fix libtasn1 link.
10042
10043 2011-03-30  Jim Meyering  <meyering@redhat.com>
10044
10045         tests: readlink* ("",... fails with EINVAL on newer kernels
10046         readlink and readlinkat have typically failed with ENOENT for
10047         the invalid, empty file name,  "".  However, with the advent
10048         of linux-2.6.39, they fail with EINVAL.
10049         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
10050         when operating on the empty file name.
10051         * tests/test-readlink.h (test_readlink): Likewise.
10052
10053 2011-03-29  Bruno Haible  <bruno@clisp.org>
10054
10055         Relicense some modules under LGPLv2+, for libidn2.
10056         * modules/array-mergesort (License): Change to LGPLv2+.
10057         * modules/c-strcaseeq (License): Likewise.
10058         * modules/striconveh (License): Likewise.
10059         * modules/striconveha (License): Likewise.
10060         * modules/uniconv/base (License): Likewise.
10061         * modules/uniconv/u8-conv-from-enc (License): Likewise.
10062         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
10063         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
10064         * modules/unictype/base (License): Likewise.
10065         * modules/unictype/bidiclass-of (License): Likewise.
10066         * modules/unictype/category-M (License): Likewise.
10067         * modules/unictype/category-none (License): Likewise.
10068         * modules/unictype/category-of (License): Likewise.
10069         * modules/unictype/category-test (License): Likewise.
10070         * modules/unictype/category-test-withtable (License): Likewise.
10071         * modules/unictype/combining-class (License): Likewise.
10072         * modules/unictype/joiningtype-of (License): Likewise.
10073         * modules/unictype/scripts (License): Likewise.
10074         * modules/uninorm/base (License): Likewise.
10075         * modules/uninorm/canonical-decomposition (License): Likewise.
10076         * modules/uninorm/composition (License): Likewise.
10077         * modules/uninorm/decompose-internal (License): Likewise.
10078         * modules/uninorm/decomposition-table (License): Likewise.
10079         * modules/uninorm/nfc (License): Likewise.
10080         * modules/uninorm/nfd (License): Likewise.
10081         * modules/uninorm/u32-normalize (License): Likewise.
10082         * modules/unistr/base (License): Likewise.
10083         * modules/unistr/u32-cpy (License): Likewise.
10084         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
10085         * modules/unistr/u32-to-u8 (License): Likewise.
10086         * modules/unistr/u32-uctomb (License): Likewise.
10087         * modules/unistr/u8-check (License): Likewise.
10088         * modules/unistr/u8-mblen (License): Likewise.
10089         * modules/unistr/u8-mbtouc (License): Likewise.
10090         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
10091         * modules/unistr/u8-mbtoucr (License): Likewise.
10092         * modules/unistr/u8-prev (License): Likewise.
10093         * modules/unistr/u8-strlen (License): Likewise.
10094         * modules/unistr/u8-to-u32 (License): Likewise.
10095         * modules/unistr/u8-uctomb (License): Likewise.
10096         * modules/unitypes (License): Likewise.
10097         Requested by Simon Josefsson.
10098
10099 2011-03-29  Simon Josefsson  <simon@josefsson.org>
10100
10101         lib-symbol-visibility: Add a notice.
10102         * modules/lib-symbol-visibility (Notice): New field.
10103
10104 2011-03-29  Bruno Haible  <bruno@clisp.org>
10105
10106         getaddrinfo: Doc fix.
10107         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
10108         section "fixed in Gnulib".
10109
10110 2011-03-28  Simon Josefsson  <simon@josefsson.org>
10111
10112         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
10113         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
10114
10115 2011-03-26  Bruno Haible  <bruno@clisp.org>
10116
10117         unictype/property-byname: Reduce the number of load-time relocations.
10118         * lib/unictype/pr_byname.c: Include <stdlib.h>.
10119         (UC_PROPERTY_INDEX_*): New enumeration values.
10120         (uc_property_byname): Convert an index from the lookup table to an
10121         uc_property_t.
10122         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
10123         values.
10124
10125 2011-03-26  Bruno Haible  <bruno@clisp.org>
10126
10127         unictype/property-byname: Allow omitted word separators and aliases.
10128         * lib/unictype/pr_byname.gperf: Add property names without word
10129         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
10130         for 'space'.
10131
10132 2011-03-26  Bruno Haible  <bruno@clisp.org>
10133
10134         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
10135         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
10136         also hyphens to space.
10137         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
10138         without spaces.
10139         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
10140
10141 2011-03-26  Bruno Haible  <bruno@clisp.org>
10142
10143         unictype/joiningtype-byname: Recognize long names as well.
10144         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
10145         a long name.
10146         * lib/unictype/joiningtype_byname.c: Include <string.h>,
10147         unictype/joiningtype_byname.h.
10148         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
10149         * lib/unictype/joiningtype_byname.gperf: New file.
10150         * modules/unictype/joiningtype-byname (Files): Add
10151         lib/unictype/joiningtype_byname.gperf.
10152         (Depends-on): Add gperf.
10153         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
10154         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
10155         long names.
10156
10157         Tests for module 'unictype/joiningtype-longname'.
10158         * modules/unictype/joiningtype-longname-tests: New file.
10159         * tests/unictype/test-joiningtype_longname.c: New file.
10160
10161         New module 'unictype/joiningtype-longname'.
10162         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
10163         * lib/unictype/joiningtype_longname.c: New file.
10164         * modules/unictype/joiningtype-longname: New file.
10165         * modules/unictype/joiningtype-all (Depends-on): Add
10166         unictype/joiningtype-longname.
10167
10168 2011-03-26  Bruno Haible  <bruno@clisp.org>
10169
10170         unictype/bidiclass-byname: Recognize long names as well.
10171         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
10172         name.
10173         * lib/unictype/bidi_byname.c: Include <string.h>,
10174         unictype/bidi_byname.h.
10175         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
10176         * lib/unictype/bidi_byname.gperf: New file.
10177         * modules/unictype/bidiclass-byname (Files): Add
10178         lib/unictype/bidi_byname.gperf.
10179         (Depends-on): Add gperf.
10180         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
10181         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
10182         long names.
10183
10184         Tests for module 'unictype/bidiclass-longname'.
10185         * modules/unictype/bidiclass-longname-tests: New file.
10186         * tests/unictype/test-bidi_longname.c: New file.
10187
10188         New module 'unictype/bidiclass-longname'.
10189         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
10190         * lib/unictype/bidi_longname.c: New file.
10191         * modules/unictype/bidiclass-longname: New file.
10192         * modules/unictype/bidiclass-all (Depends-on): Add
10193         unictype/bidiclass-longname.
10194
10195 2011-03-26  Bruno Haible  <bruno@clisp.org>
10196
10197         unictype/bidi*: Rename modules.
10198         * modules/unictype/bidiclass-all: Renamed from
10199         modules/unictype/bidicategory-all.
10200         * modules/unictype/bidiclass-name: Renamed from
10201         modules/unictype/bidiclass-name.
10202         (Description): Update.
10203         * modules/unictype/bidiclass-name-tests: Renamed from
10204         modules/unictype/bidicategory-name-tests.
10205         * modules/unictype/bidiclass-byname: Renamed from
10206         modules/unictype/bidicategory-byname.
10207         (Description): Update.
10208         * modules/unictype/bidiclass-byname-tests: Renamed from
10209         modules/unictype/bidicategory-byname-tests.
10210         * modules/unictype/bidiclass-of: Renamed from
10211         modules/unictype/bidicategory-of.
10212         (Description): Update.
10213         * modules/unictype/bidiclass-of-tests: Renamed from
10214         modules/unictype/bidicategory-of-tests.
10215         * modules/unictype/bidiclass-test: Renamed from
10216         modules/unictype/bidicategory-test.
10217         (Description): Update.
10218         * modules/unictype/bidiclass-test-tests: Renamed from
10219         modules/unictype/bidicategory-test-tests.
10220         * modules/unictype/bidicategory-all: New file, a simple redirection.
10221         * modules/unictype/bidicategory-name: Likewise.
10222         * modules/unictype/bidicategory-byname: Likewise.
10223         * modules/unictype/bidicategory-of: Likewise.
10224         * modules/unictype/bidicategory-test: Likewise.
10225         * modules/unictype/property-bidi-* (Dependencies): Update.
10226         * lib/unictype/bidi_*.c: Update comment.
10227
10228 2011-03-26  Bruno Haible  <bruno@clisp.org>
10229
10230         unictype/bidi*: Rename functions, part 2.
10231         * modules/unictype/bidicategory-name (configure.ac): Update required
10232         libunistring version.
10233         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
10234
10235 2011-03-25  Bruno Haible  <bruno@clisp.org>
10236
10237         New module 'unictype/combining-class-all'.
10238         * modules/unictype/combining-class-all: New file.
10239
10240         Tests for module 'unictype/combining-class-byname'.
10241         * modules/unictype/combining-class-byname-tests: New file.
10242         * tests/unictype/test-combiningclass_byname.c: New file.
10243
10244         New module 'unictype/combining-class-byname'.
10245         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
10246         * lib/unictype/combiningclass_byname.c: New file.
10247         * lib/unictype/combiningclass_byname.gperf: New file.
10248         * modules/unictype/combining-class-byname: New file.
10249
10250         Tests for module 'unictype/combining-class-longname'.
10251         * modules/unictype/combining-class-longname-tests: New file.
10252         * tests/unictype/test-combiningclass_longname.c: New file.
10253
10254         New module 'unictype/combining-class-longname'.
10255         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
10256         * lib/unictype/combiningclass_longname.c: New file.
10257         * modules/unictype/combining-class-longname: New file.
10258
10259         Tests for module 'unictype/combining-class-name'.
10260         * modules/unictype/combining-class-name-tests: New file.
10261         * tests/unictype/test-combiningclass_name.c: New file.
10262
10263         New module 'unictype/combining-class-name'.
10264         * lib/unictype.in.h (uc_combining_class_name): New declaration.
10265         * lib/unictype/combiningclass_name.c: New file.
10266         * modules/unictype/combining-class-name: New file.
10267
10268 2011-03-25  Bruno Haible  <bruno@clisp.org>
10269
10270         unictype/combining-class: Rename source files.
10271         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
10272         of unictype/combining.h.
10273         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
10274         Update.
10275         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
10276         * modules/unictype/combining-class (Description): Fix.
10277         (Files, Makefile.am): Update.
10278         * tests/unictype/test-combiningclass.c: Renamed from
10279         tests/unictype/test-combining.c.
10280         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
10281
10282 2011-03-25  Bruno Haible  <bruno@clisp.org>
10283
10284         unictype: Update list of canonical combining classes.
10285         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
10286
10287 2011-03-25  Bruno Haible  <bruno@clisp.org>
10288
10289         unictype/category-byname: Recognize long names as well.
10290         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
10291         a long name.
10292         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
10293         unictype/categ_byname.h.
10294         (UC_CATEGORY_INDEX_*): New enumeration values.
10295         (uc_general_category_byname): Use uc_general_category_lookup and
10296         convert from index to value.
10297         * lib/unictype/categ_byname.gperf: New file.
10298         * modules/unictype/category-byname (Files): Add
10299         lib/unictype/categ_byname.gperf.
10300         (Depends-on): Add gperf.
10301         (Makefile.am): Add rule for generating unictype/categ_byname.h.
10302         * tests/unictype/test-categ_byname.c (main): Test the recognition of
10303         long names.
10304
10305         Tests for module 'unictype/category-longname'.
10306         * modules/unictype/category-longname-tests: New file.
10307         * tests/unictype/test-categ_longname.c: New file.
10308
10309         New module 'unictype/category-longname'.
10310         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
10311         * lib/unictype/categ_longname.c: New file.
10312         * modules/unictype/category-longname: New file.
10313         * modules/unictype/category-all (Depends-on): Add it.
10314
10315 2011-03-25  Bruno Haible  <bruno@clisp.org>
10316
10317         Tests for module 'unictype/category-LC'.
10318         * modules/unictype/category-LC-tests: New file.
10319         * tests/unictype/test-categ_LC.c: New file, automatically generated.
10320
10321         New module 'unictype/category-LC'.
10322         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
10323         (UC_CATEGORY_LC): New declaration.
10324         (UC_CASED_LETTER): New macro.
10325         * lib/gen-uni-tables.c (is_category_LC): New function.
10326         (output_categories): Also handle category LC.
10327         (UC_CATEGORY_MASK_LC): New enumeration value.
10328         (general_category_byname): Also handle category LC.
10329         * lib/unictype/categ_LC.c: New file.
10330         * lib/unictype/categ_LC.h: New file, automatically generated.
10331         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
10332         category LC.
10333         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
10334         * modules/unictype/category-LC: New file.
10335         * modules/unictype/category-byname (Depends-on): Add
10336         unictype/category-LC.
10337         * modules/unictype/category-all (Depends-on): Likewise.
10338
10339 2011-03-25  Eric Blake  <eblake@redhat.com>
10340
10341         xmalloc: revert yesterday's regression
10342         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
10343         realloc's underlying behavior (allowing allocation of zero-size
10344         objects, especially if malloc-gnu is also in use).
10345
10346 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
10347
10348         maint.mk: add missing version to VC-tag
10349         * top/maint.mk: git tag was missing actual tag name; add it.
10350
10351         valgrind: do leak checking, and exit with code 1 on error (not 0)
10352         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
10353         to VALGRIND.
10354
10355 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
10356
10357         posix-modules: say what it does.
10358         * posix-modules: Add a line to the --help output saying what it does.
10359
10360 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
10361
10362         xmalloc: Do not leak if underlying realloc is C99 compatible.
10363         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
10364         This avoids a leak on C99-based systems.  See
10365         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
10366
10367 2011-03-24  Eric Blake  <eblake@redhat.com>
10368
10369         realloc: document portability problem
10370         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
10371         passing 0 size to realloc.
10372
10373 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
10374
10375         doc: update users.txt
10376         * users.txt: Add cvsps, tmpwatch
10377
10378 2011-03-23  Matt Rice  <ratmice@gmail.com>
10379
10380         doc: update users.txt
10381         * users.txt: Add gdb.
10382
10383 2011-03-23  Jim Meyering  <meyering@redhat.com>
10384
10385         doc: update users.txt
10386         Looking through matches up to the following URL (there are still
10387         several more pages), I found several projects that use gnulib:
10388         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
10389         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
10390         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
10391
10392 2011-03-22  Bruno Haible  <bruno@clisp.org>
10393
10394         unictype/bidi*: Rename functions.
10395         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
10396         uc_bidi_class, uc_is_bidi_class): New declarations.
10397         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
10398         uc_bidi_category_byname.
10399         (uc_bidi_category_byname): New function.
10400         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
10401         u_bidi_category_name.
10402         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
10403         (uc_bidi_category_name): New function.
10404         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
10405         uc_bidi_category.
10406         (uc_bidi_category): New function.
10407         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
10408         uc_is_bidi_category. Invoke uc_bidi_class.
10409         (uc_is_bidi_category): New function.
10410         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
10411         instead of uc_bidi_category_byname.
10412         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
10413         instead of uc_bidi_category_name.
10414         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
10415         uc_bidi_category.
10416         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
10417         instead of uc_is_bidi_category.
10418
10419 2011-03-21  Bruno Haible  <bruno@clisp.org>
10420
10421         New module 'unictype/joininggroup-all'.
10422         * modules/unictype/joininggroup-all: New file.
10423
10424         Tests for module 'unictype/joininggroup-of'.
10425         * modules/unictype/joininggroup-of-tests: New file.
10426         * tests/unictype/test-joininggroup_of.c: New file.
10427         * tests/unictype/test-joininggroup_of.h: New file, automatically
10428         generated by gen-uni-tables.
10429
10430         New module 'unictype/joininggroup-of'.
10431         * modules/unictype/joininggroup-of: New file.
10432         * lib/unictype/joininggroup_of.c: New file.
10433         * lib/unictype/joininggroup_of.h: New file, automatically generated by
10434         gen-uni-tables.
10435
10436         Tests for module 'unictype/joininggroup-byname'.
10437         * modules/unictype/joininggroup-byname-tests: New file.
10438         * tests/unictype/test-joininggroup_byname.c: New file.
10439
10440         New module 'unictype/joininggroup-byname'.
10441         * modules/unictype/joininggroup-byname: New file.
10442         * lib/unictype/joininggroup_byname.c: New file.
10443         * lib/unictype/joininggroup_byname.gperf: New file.
10444
10445         Tests for module 'unictype/joininggroup-name'.
10446         * modules/unictype/joininggroup-name-tests: New file.
10447         * tests/unictype/test-joininggroup_name.c: New file.
10448
10449         New module 'unictype/joininggroup-name'.
10450         * modules/unictype/joininggroup-name: New file.
10451         * lib/unictype/joininggroup_name.c: New file.
10452         * lib/unictype/joininggroup_name.h: New file.
10453
10454         New module 'unictype/joiningtype-all'.
10455         * modules/unictype/joiningtype-all: New file.
10456
10457         Tests for module 'unictype/joiningtype-of'.
10458         * modules/unictype/joiningtype-of-tests: New file.
10459         * tests/unictype/test-joiningtype_of.c: New file.
10460         * tests/unictype/test-joiningtype_of.h: New file, automatically
10461         generated by gen-uni-tables.
10462
10463         New module 'unictype/joiningtype-of'.
10464         * modules/unictype/joiningtype-of: New file.
10465         * lib/unictype/joiningtype_of.c: New file.
10466         * lib/unictype/joiningtype_of.h: New file, automatically generated by
10467         gen-uni-tables.
10468
10469         Tests for module 'unictype/joiningtype-byname'.
10470         * modules/unictype/joiningtype-byname-tests: New file.
10471         * tests/unictype/test-joiningtype_byname.c: New file.
10472
10473         New module 'unictype/joiningtype-byname'.
10474         * modules/unictype/joiningtype-byname: New file.
10475         * lib/unictype/joiningtype_byname.c: New file.
10476
10477         Tests for module 'unictype/joiningtype-name'.
10478         * modules/unictype/joiningtype-name-tests: New file.
10479         * tests/unictype/test-joiningtype_name.c: New file.
10480
10481         New module 'unictype/joiningtype-name'.
10482         * modules/unictype/joiningtype-name: New file.
10483         * lib/unictype/joiningtype_name.c: New file.
10484
10485         unictype: Add support for Arabic shaping properties.
10486         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
10487         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
10488         declarations.
10489         (UC_JOINING_GROUP_*): New enumeration values.
10490         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
10491         declarations.
10492         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
10493         (unicode_joining_type): New variable.
10494         (UC_JOINING_GROUP_*): New enumeration values.
10495         (unicode_joining_group): New variable.
10496         (fill_arabicshaping, joining_type_as_c_identifier,
10497         output_joining_type_test, output_joining_type,
10498         joining_group_as_c_identifier, output_joining_group_test,
10499         output_joining_group): New functions.
10500         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
10501         fill_arabicshaping and output_joining_type_test, output_joining_type,
10502         output_joining_group_test, output_joining_group.
10503         Reported by Simon Josefsson.
10504
10505 2011-03-21  Jim Meyering  <meyering@redhat.com>
10506
10507         strftime: fix a bug in yesterday's change
10508         * lib/strftime.c (add): Accommodate width's initial value of -1.
10509         Otherwise, nstrftime would copy uninitialized data into
10510         the result buffer.
10511
10512 2011-03-21  Jim Meyering  <meyering@redhat.com>
10513
10514         tests: add strftime-tests module
10515         * tests/test-strftime.c: New file.
10516         * modules/strftime-tests: New module.
10517
10518 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10519
10520         strftime: don't assume a byte count fits in 'int'
10521         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
10522         found this problem by static analysis, using gcc -Wstrict-overflow
10523         (GCC 4.5.2, x86-64).  This reported an optimization that depended
10524         on an integer overflow having undefined behavior, but it turns out
10525         that the argument is a size, which might not fit in 'int' anyway,
10526
10527 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10528
10529         stdio: don't require ignore_value around fwrite
10530
10531         This patch works around libc bug 11959
10532         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
10533         Without this patch, applications must often write
10534         ignore_value (fwrite (...)) even though the ignore_value is
10535         not helpful here.  It's common to write many objects, using
10536         fwrite/printf/etc., and then use ferror to detect output error.
10537
10538         I considered making this patch optional, but decided against it,
10539         because libc is obviously being inconsistent here: there is no
10540         reason libc should insist that user code must inspect fwrite
10541         return's value without also insisting that it inspect printf's,
10542         putchar's, etc.  If user code wants to have a strict style where
10543         all these functions' values are checked (so that ferror need not
10544         be checked), we could add support for that style in a new gnulib
10545         module, but in the meantime it's better to be consistent and to
10546         support common usage.
10547
10548         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
10549         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
10550         that we are compiling in checking mode, and if not C++, and
10551         if not already wrapping fwrite for some other reason.
10552         (fwrite): #define to rpl_fwrite if the latter is defined.
10553
10554 2011-03-20  Bruno Haible  <bruno@clisp.org>
10555
10556         verror: Fix compilation error introduced on 2011-02-13.
10557         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
10558         instead of __attribute__.
10559         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10560
10561 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10562             Bruno Haible  <bruno@clisp.org>
10563
10564         socklen: do not depend on sys_socket
10565         While trying to modify Emacs to use gnulib's socklen module,
10566         I discovered a circular dependency: socklen depends on sys_socket
10567         and vice versa.  Emacs can use socklen, but it does not need
10568         sys_socket because it has its own substitute for sys/socket.h.
10569         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
10570         gl_TYPE_SOCKLEN_T.
10571         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
10572         gl_PREREQ_SYS_H_SOCKET.
10573         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
10574         gl_PREREQ_SYS_H_SOCKET.
10575         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
10576         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
10577         * modules/socklen (Depends-on): Do not depend on sys_socket.
10578         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
10579
10580 2011-03-20  Jim Meyering  <meyering@redhat.com>
10581
10582         maint.mk: sort file names *after* new transformation
10583         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
10584         prefix would have led to an unwarranted failure in GNU parted.
10585         Sort after that transformation.
10586
10587 2011-03-19  Jim Meyering  <meyering@redhat.com>
10588
10589         maint.mk: fix po-file syntax-check rule
10590         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
10591         Patch by Bruno Haible.
10592
10593 2011-03-19  Bruno Haible  <bruno@clisp.org>
10594
10595         socklen: Update comment.
10596         * m4/socklen.m4: Update comment about platforms.
10597
10598 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
10599             Bruno Haible  <bruno@clisp.org>
10600
10601         inet_ntop, inet_pton: Simplify.
10602         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
10603         documented to provide socklen_t and we already depend on sys_socket.
10604         * modules/inet_pton (Depends-on): Likewise.
10605         * lib/arpa_inet.in.h: Adjust comment.
10606
10607 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
10608             Bruno Haible  <bruno@clisp.org>
10609
10610         netdb: Simplify.
10611         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
10612         documented to provide socklen_t and we already depend on sys_socket.
10613         * lib/netdb.in.h: Adjust comment.
10614
10615 2011-03-19  Bruno Haible  <bruno@clisp.org>
10616
10617         sys_socket, netdb: Document problem with socklen_t.
10618         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
10619         platforms.
10620         * doc/posix-headers/netdb.texi: Likewise.
10621
10622 2011-03-18  Eric Blake  <eblake@redhat.com>
10623
10624         maint.mk: let po check work in VPATH build
10625         * top/maint.mk (po_file): Allow cfg.mk override.
10626         (sc_po_check): Allow VPATH use.
10627         Reported by Jiri Denemark.
10628
10629 2011-03-16  Jim Meyering  <meyering@redhat.com>
10630
10631         maint.mk: allow fine-grained syntax-check exclusion via Make variables
10632         Before, you would have had to create one .x-sc_ file per rule in order
10633         to exempt offending files.  Now, you may instead use a Make variable --
10634         usually defined in cfg.mk -- whose name identifies the affected rule.
10635         * top/maint.mk (_sc_excl): Define.
10636         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
10637         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
10638
10639 2011-03-13  Bruno Haible  <bruno@clisp.org>
10640
10641         ignore-value tests: Avoid warnings.
10642         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
10643         empty for gcc < 3.4.
10644
10645 2011-03-13  Bruno Haible  <bruno@clisp.org>
10646
10647         passfd: Fix link error on Solaris.
10648         * modules/passfd (Description): Correct.
10649         (Depends-on): Add socketlib.
10650         (Link): New section.
10651         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
10652
10653 2011-03-13  Bruno Haible  <bruno@clisp.org>
10654
10655         passfd: Fix link error on AIX 5.2.
10656         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
10657
10658 2011-03-13  Bruno Haible  <bruno@clisp.org>
10659
10660         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
10661         * lib/sys_socket.in.h: Include <stddef.h>.
10662         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
10663         CMSG_FIRSTHDR. Remove unused variable.
10664
10665 2011-03-13  Bruno Haible  <bruno@clisp.org>
10666
10667         passfd: Fix compilation error on OpenBSD.
10668         * lib/passfd.c: Include <sys/uio.h>.
10669
10670 2011-03-13  Bruno Haible  <bruno@clisp.org>
10671
10672         passfd test: Fix warnings.
10673         * tests/test-passfd.c: Include <sys/wait.h>.
10674         (main): Fix typo.
10675
10676 2011-03-13  Bruno Haible  <bruno@clisp.org>
10677
10678         passfd module, part 4, tweaks.
10679         * tests/test-passfd.c: Reorder includes.
10680         (main): Fix perror and printf calls.
10681
10682 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
10683
10684         passfd module, part 4.
10685         * modules/passfd-tests: New file.
10686         * tests/test-passfd.c: New file.
10687
10688 2011-03-13  Jim Meyering  <meyering@redhat.com>
10689
10690         Makefile: rely on GNU make; derive syntax-check rule names
10691         Rather than requiring that each sc_ rule be listed as a dependent
10692         of "check", use features of GNU make to derive the list.
10693         * Makefile (syntax-check-rules): Define.
10694         (check): Depend on the new variable, not the hard-coded list.
10695
10696 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
10697             Bruno Haible  <bruno@clisp.org>
10698
10699         passfd module, part 3.
10700         * lib/passfd.h (recvfd): Add a flags argument.
10701         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
10702         (recvfd): Add a flags argument.
10703         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
10704         exists.
10705         * modules/passfd (Depends-on): Add cloexec.
10706         Suggested by Eric Blake.
10707
10708 2011-03-13  Bruno Haible  <bruno@clisp.org>
10709
10710         passfd module, part 2, tweaks.
10711         * modules/passfd (Files): Reorder.
10712         (Depends-on): Remove errno.
10713         (Include): Remove <sys/socket.h>, <sys/un.h>.
10714         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
10715         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
10716         specification header. Include <sys/socket.h> always. Don't include
10717         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
10718         (sendfd): Clarify that it sets errno when it fails.
10719         (recvfd): Fix specification.
10720
10721 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
10722
10723         passfd module, part 2.
10724         * modules/passfd: New file.
10725         * lib/passfd.h: New file.
10726         * lib/passfd.c: New file.
10727
10728 2011-03-12  Bruno Haible  <bruno@clisp.org>
10729
10730         wcswidth, mbswidth: Avoid integer overflow.
10731         * lib/wcswidth.c: Include <limits.h>.
10732         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
10733         * lib/mbswidth.c: Include <limits.h>.
10734         (mbsnwidth): Avoid 'int' overflow.
10735         Reported by Jim Meyering.
10736
10737 2011-03-12  Bruno Haible  <bruno@clisp.org>
10738
10739         futimens, utimensat: Avoid endless recursion on Solaris 10.
10740         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
10741         Solaris.
10742         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
10743         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
10744
10745 2011-03-11  Jim Meyering  <meyering@redhat.com>
10746
10747         maint.mk: relax a regexp to accommodate other formatting styles
10748         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
10749         between "ngettext" and the following "(".
10750
10751 2011-03-11  Pádraig Brady <P@draigBrady.com>
10752
10753         maint.mk: suppress a false positive warning
10754         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
10755         diagnostics are marked with ngettext.
10756
10757 2011-03-10  Eric Blake  <eblake@redhat.com>
10758
10759         wchar: add explicit dependencies, for Tru64
10760         * modules/mbmemcasecoll (Depends-on): Add wchar.
10761         * modules/mbtowc (Depends-on): Likewise.
10762         * modules/vasnprintf (Depends-on): Likewise.
10763         * modules/unistdio/u-printf-args (Depends-on): Likewise.
10764         * modules/wctomb (Depends-on): Likewise.
10765         Reported by Peter O'Gorman.
10766
10767 2011-03-08  Bruno Haible  <bruno@clisp.org>
10768
10769         passfd module, part 1, tweaks.
10770         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
10771         Improve indentation. Improve AC_MSG_CHECKING messages.
10772         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
10773         gl_SOCKET_FAMILIES.
10774
10775 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
10776
10777         passfd module, part 1.
10778         * m4/afunix.m4: New file.
10779         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
10780         sockets.
10781
10782 2011-03-08  Bruno Haible  <bruno@clisp.org>
10783
10784         regex-quote: New API.
10785         * lib/regex-quote.h: Include <stdbool.h>.
10786         (struct regex_quote_spec): New type.
10787         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
10788         New declarations.
10789         (regex_quote_length, regex_quote_copy, regex_quote): Take a
10790         'const struct regex_quote_spec *' argument.
10791         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
10792         (pcre_special): New constant.
10793         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
10794         New functions.
10795         (regex_quote_length, regex_quote_copy, regex_quote): Take a
10796         'const struct regex_quote_spec *' argument.
10797         * modules/regex-quote (Depends-on): Add stdbool.
10798         * tests/test-regex-quote.c (check): Update for new API. Add test for
10799         anchored results.
10800         * NEWS: Mention the API change.
10801         Reported by Reuben Thomas and Eric Blake.
10802
10803 2011-03-06  Bruno Haible  <bruno@clisp.org>
10804
10805         regex-quote: Fix creation of POSIX extended regular expressions.
10806         * lib/regex-quote.c (ere_special): Add grouping and alternation
10807         operators.
10808
10809 2011-03-05  Bruno Haible  <bruno@clisp.org>
10810
10811         doc: Improve doc regarding autopoint vs. gnulib.
10812         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
10813         disable autopoint while running autoreconf.
10814         Suggested by Ralf Wildenhues.
10815
10816 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10817
10818         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
10819         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
10820
10821 2011-03-03  Bruce Korb  <bkorb@gnu.org>
10822
10823         parse-duration: remove xalloc.h dependency
10824         * lib/parse-duration.c (parse_period): handle NULL return from
10825         strdup instead of calling xstrdup().
10826         * modules/parse-duration: remove "xalloc" dependency
10827
10828 2011-03-03  Matthew Booth  <mbooth@redhat.com>
10829
10830         bootstrap: honor m4_base when running aclocal
10831         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
10832
10833 2011-03-02  Jim Meyering  <meyering@redhat.com>
10834
10835         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
10836         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
10837         on request from Matt Booth.
10838
10839 2011-03-01  Eric Blake  <eblake@redhat.com>
10840
10841         test-link: work on Hurd
10842         * tests/test-link.h (test_link): Hurd rejects linking directories
10843         with EISDIR instead of the POSIX-mandated EPERM.
10844
10845 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
10846
10847         stdio: simplify by moving files to printf-posix, sigpipe
10848         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
10849         since this symbol is needed only if printf is replaced.
10850         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
10851         Require gl_ASM_SYMBOL_PREFIX.
10852         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
10853         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
10854         (Depends-on): Add 'raise'.
10855         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
10856         * modules/stdio (Files): Remove lib/stdio-write.c,
10857         m4/asm-underscore.m4.
10858         (Depends-on): Remove 'raise'.
10859
10860         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
10861         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
10862         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
10863         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
10864
10865 2011-02-28  Bruno Haible  <bruno@clisp.org>
10866
10867         localcharset: Assume ANSI C behaviour of free().
10868         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
10869         calling free().
10870         Suggested by Simon Josefsson <simon@josefsson.org>.
10871
10872 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
10873             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
10874             Bruno Haible  <bruno@clisp.org>  (tiny change)
10875
10876         On Cygwin, use /proc file system instead of win32 API.
10877         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
10878         Win32 file names.
10879         (DllMain): Simplify by removing Cygwin specific code.
10880         (find_shared_library_fullname): Use Linux specific implementation also
10881         for Cygwin.
10882         (get_shared_library_fullname): Update accordingly.
10883         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
10884         Win32 file names.
10885         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
10886         Cygwin specific code.
10887
10888 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
10889             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
10890
10891         Fix OpenMP flag detection for various Fortran compilers.
10892         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
10893         OpenMP-conditional compilation construct, to force compile
10894         failure with missing OpenMP flag.
10895         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
10896
10897 2011-02-25  Eric Blake  <eblake@redhat.com>
10898
10899         strstr: expand test coverage
10900         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
10901         compilation.
10902         * tests/test-memmem.c (main): Duplicate tests.
10903         * tests/test-strcasestr.c (main): Likewise.
10904         * tests/test-c-strcasestr.c (main): Likewise.
10905
10906 2011-02-25  Jim Meyering  <meyering@redhat.com>
10907
10908         maint.mk: detect missing-NL-at-EOF, too
10909         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
10910         it also detects when a file lacks a newline at EOF.
10911         (require_exactly_one_NL_at_EOF_): Renamed from
10912         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
10913         since people may well have .x-sc_... file names tied to the
10914         existing name.  Suggested by Eric Blake.
10915
10916 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10917
10918         dirname: move m4/dos.m4 functionality into lib/dosname.h
10919
10920         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
10921         extracts symbols from it, puts them into config.h; but it's much
10922         easier to use the symbols directly.  filename.h already does this,
10923         but it disagrees with dos.m4 in some respects.  This patch
10924         introduces a different include file dosname.h that packages up
10925         dos.m4, and then later we can work on merging filename.h and
10926         dosname.h.  Applications that need only the easy-to-configure
10927         symbols should consider including dosname.h rather than dirname.h.
10928         * NEWS: Mention incompatible changes.
10929         * m4/dos.m4: Remove.
10930         * lib/dosname.h, modules/dosname: New files.
10931         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
10932         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
10933         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
10934         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
10935         Include dosname.h, not dirname.h.
10936         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
10937         Include dosname.h, for definitions of symbols like ISSLASH
10938         that used to be in config.h.
10939         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
10940         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
10941         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10942         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10943         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
10944         * modules/rmdir (Files): Likewise.
10945         * modules/stat (Files): Likewise.
10946         * modules/unlink (Files): Likewise.
10947         * modules/dirname-lgpl (Depends-on): Add dosname.
10948         * modules/lstat (Depends-on): Likewise.
10949         * modules/openat (Depends-on): Likewise.
10950         * modules/rmdir (Depends-on): Likewise.
10951         * modules/savewd (Depends-on): Likewise.
10952         * modules/stat (Depends-on): Likewise.
10953         * modules/unlink (Depends-on): Likewise.
10954         * modules/openat (Depends-on): Remove dirname-lgpl.
10955         * modules/savewd (Depends-on): Likewise.
10956         * tests/test-dirname.c: Do not use removed symbols like
10957         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
10958         the remaining symbols, e.g., ISSLASH ('\\').
10959
10960 2011-02-25  Eric Blake  <eblake@redhat.com>
10961
10962         strstr: revert patches that introduced bug and pessimization
10963         * lib/str-two-way.h: Add another reference.
10964         (two_way_short_needle, two_way_long_needle): Revert changes from
10965         2011-02-24; they pessimize search speed.
10966         (critical_factorization): Partially revert changes from
10967         2010-06-22; they violate the requirement that the left half of the
10968         needle be smaller than the period of the needle.
10969
10970 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10971
10972         filenamecat: remove unnecessary dependency on dirname-lgpl
10973         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
10974         is no direct dependency, just an indirect one via filenamecat-lgpl.
10975
10976         remove: remove unnecessary use of m4/dos.m4
10977         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
10978         * modules/remove (FILES): Remove m4/dos.m4.
10979
10980         * lib/openat-proc.c: Don't include dirname.h; not needed.
10981
10982         backupfile: remove unnecessary use of m4/dos.m4
10983         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
10984         of its symbols are used by the backupfile code.  backupfile.c does
10985         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
10986         for the rare case of programs that want all their backup file
10987         names to live within 8+3 limits, and dos.m4 doesn't address that.
10988         * modules/backupfile (Files): Remove m4/dos.m4.
10989
10990 2011-02-24  Jim Meyering  <meyering@redhat.com>
10991
10992         strstr: fix a bug whereby strstr would mistakenly return NULL
10993         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
10994         in period calculation.
10995         (two_way_long_needle): Likewise.
10996         The original problem was reported by Mike Stump in
10997         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
10998         Ralf Wildenhues provided the short needle and haystack.
10999         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
11000         Add a more involved test to trigger the bug in two_way_long_needle.
11001
11002 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11003
11004         gnulib-tool: remove use of bold display in help screen
11005         * gnulib-tool (func_usage): Do not use bold display anymore in the
11006         help screen.  That was just meant to be a temporary emphasis for a
11007         backward-incompatible change.
11008
11009 2011-02-23  Bruno Haible  <bruno@clisp.org>
11010
11011         Fix misindentation of preprocessor directives.
11012         * lib/argp-namefrob.h: Reindent preprocessor directives.
11013         * lib/getopt_int.h (struct _getopt_data): Likewise.
11014         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
11015         * lib/vasnprintf.c (decode_long_double): Likewise.
11016         * tests/test-argmatch.c: Insert blank lines, for clarity.
11017         * tests/test-exclude.c: Likewise.
11018
11019 2011-02-22  Bruno Haible  <bruno@clisp.org>
11020
11021         ioctl: Fix for MacOS X in 64-bit mode.
11022         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
11023         value.
11024         Suggested by Eric Blake.
11025         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
11026
11027 2011-02-22  Jim Meyering  <meyering@redhat.com>
11028
11029         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
11030         * Makefile (sc_cpp_indent_check): Don't limit the check to files
11031         in lib/.
11032
11033 2011-02-22  Eric Blake  <eblake@redhat.com>
11034
11035         maint: avoid any CDPATH issue
11036         * Makefile (sc_cpp_indent_check): Anchor cd argument.
11037
11038         maint: adjust cpp indentation for my modules, as well
11039         * Makefile (sc_cpp_indent_check): Add my name.
11040         * lib/fbufmode.c: Filter through cppi.
11041         * lib/fpurge.c: Likewise.
11042         * lib/freadable.c: Likewise.
11043         * lib/freading.c: Likewise.
11044         * lib/fwritable.c: Likewise.
11045         * lib/fwriting.c: Likewise.
11046         * lib/sigaction.c: Likewise.
11047
11048 2011-02-22  Jim Meyering  <meyering@redhat.com>
11049
11050         maint: adjust cpp indentation to reflect nesting depth
11051         I.e., in a block of code that begins with an unnested "#if",
11052         put one space between the "#" in column 1 and following token.
11053         For example,
11054         -#include <sys/vfs.h>
11055         +# include <sys/vfs.h>
11056         Do this only in .c files that are part of a module I maintain.
11057         * lib/linkat.c: Filter through cppi.
11058         * lib/nanosleep.c: Likewise.
11059         * lib/openat.c: Likewise.
11060         * lib/openat-die.c: Likewise.
11061         * lib/dup3.c: Likewise.
11062         * lib/fchownat.c: Likewise.
11063         * lib/flock.c: Likewise.
11064         * lib/fsync.c: Likewise.
11065         * lib/fts.c: Likewise.
11066         * lib/getpass.c: Likewise.
11067         * lib/gettimeofday.c: Likewise.
11068         * lib/userspec.c: Likewise.
11069         * Makefile (sc_cpp_indent_check): New rule, to check this.
11070
11071 2011-02-22  Bruno Haible  <bruno@clisp.org>
11072
11073         New module 'wctomb'.
11074         * lib/stdlib.in.h (wctomb): New declaration.
11075         * lib/wctomb.c: New file.
11076         * lib/wctomb-impl.h: New file.
11077         * m4/wctomb.m4: New file.
11078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
11079         REPLACE_WCTOMB.
11080         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
11081         REPLACE_WCTOMB.
11082         * modules/wctomb: New file.
11083         * tests/test-stdlib-c++.cc: Test signature of wctomb.
11084         * doc/posix-functions/wctomb.texi: Mention the new module.
11085         * modules/wctob (Depends-on): Add wctomb.
11086
11087 2011-02-22  Bruno Haible  <bruno@clisp.org>
11088
11089         New module 'mbtowc'.
11090         * lib/stdlib.in.h (mbtowc): New declaration.
11091         * lib/mbtowc.c: New file.
11092         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
11093         * m4/mbtowc.m4: New file.
11094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
11095         REPLACE_MBTOWC.
11096         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
11097         REPLACE_MBTOWC.
11098         * modules/mbtowc: New file.
11099         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
11100         * doc/posix-functions/mbtowc.texi: Mention the new module.
11101         * modules/btowc (Depends-on): Add mbtowc.
11102
11103 2011-02-22  Bruno Haible  <bruno@clisp.org>
11104
11105         wcrtomb: Add more tests for native Windows platforms.
11106         * tests/test-wcrtomb-w32-1.sh: New file.
11107         * tests/test-wcrtomb-w32-2.sh: New file.
11108         * tests/test-wcrtomb-w32-3.sh: New file.
11109         * tests/test-wcrtomb-w32-4.sh: New file.
11110         * tests/test-wcrtomb-w32-5.sh: New file.
11111         * tests/test-wcrtomb-w32.c: New file.
11112         * modules/wcrtomb-tests (Files): Add them.
11113         (Makefile.am): Arrange to run these tests.
11114         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
11115         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
11116
11117 2011-02-20  Bruno Haible  <bruno@clisp.org>
11118
11119         wcrtomb: Enhance test.
11120         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
11121
11122 2011-02-20  Bruno Haible  <bruno@clisp.org>
11123
11124         mbrtowc: Tiny optimization.
11125         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
11126
11127 2011-02-20  Jim Meyering  <meyering@redhat.com>
11128
11129         test-exclude.c: remove unmatched #endif
11130         * tests/test-exclude.c: Remove stray #endif, left over from
11131         the change of a week ago.
11132
11133 2011-02-19  Jim Meyering  <meyering@redhat.com>
11134
11135         git-version-gen: skip "-dirty" check when appropriate
11136         * build-aux/git-version-gen: Don't run any git commands when the
11137         version string comes from .tarball-version.  Prior to this, we
11138         would run git update-index --refresh even from a just-unpacked
11139         tarball directory, and that could affect a .git/ directory in a
11140         parent of the build directory.  Reported by Mike Frysinger.
11141
11142 2011-02-19  Bruno Haible  <bruno@clisp.org>
11143
11144         unictype/property-byname: Reduce the size of the 'data' segment.
11145         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
11146
11147 2011-02-19  Bruno Haible  <bruno@clisp.org>
11148
11149         unictype/scripts: Reduce the size of the 'data' segment.
11150         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
11151         '%pic'.
11152         * lib/unictype/scripts_byname.gperf: Regenerated.
11153
11154 2011-02-19  Bruno Haible  <bruno@clisp.org>
11155
11156         stdint: Update documentation.
11157         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
11158
11159 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
11160
11161         stdint: omit redundant check for wchar.h
11162         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
11163         always tests whether wchar.h exists, so remove the now-redundant test.
11164
11165 2011-02-18  Bruno Haible  <bruno@clisp.org>
11166
11167         stdint: Cut dependency to module 'wchar'.
11168         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
11169         include the necessary prerequisites.
11170         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
11171         * modules/stdint (Depends-on): Remove wchar.
11172         (Makefile.am): Substitute HAVE_WCHAR_H.
11173         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
11174
11175 2011-02-18  Eric Blake  <eblake@redhat.com>
11176
11177         longlong: skip, rather than fail, on cross-compilation
11178         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
11179         when cross-compiling; regression from 2011-02-16.
11180
11181 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
11182
11183         * NEWS: Mention 2011-02-08 change to stdlib.
11184
11185 2011-02-17  Bruno Haible  <bruno@clisp.org>
11186
11187         getloadavg: Add comments about platforms.
11188         * m4/getloadavg.m4: Add comment.
11189         * lib/getloadavg.c: Likewise.
11190
11191 2011-02-17  Bruno Haible  <bruno@clisp.org>
11192
11193         getloadavg: Fix link error on Solaris 2.6.
11194         * modules/getloadavg (Link): New section.
11195         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
11196         linking test-getloadavg.
11197         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
11198         getloadavg.
11199
11200 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
11201
11202         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
11203         It was 'int', but this doesn't match the IRIX 6.5 manual.
11204         Suggested by Bruno Haible in
11205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
11206
11207 2011-02-17  Bruno Haible  <bruno@clisp.org>
11208
11209         havelib: Fix comments.
11210         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
11211         change.
11212
11213 2011-02-17  Bruno Haible  <bruno@clisp.org>
11214
11215         havelib: Update config.rpath.
11216         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
11217
11218 2011-02-17  Bruno Haible  <bruno@clisp.org>
11219
11220         getloadavg test: Add some plausibility checks.
11221         * tests/test-getloadavg.c (check_avg): Print a warning when the value
11222         is improbable.
11223
11224 2011-02-16  Eric Blake  <eblake@redhat.com>
11225
11226         maintainer-makefile: make syntax-check a no-op from tarballs
11227         * top/maint.mk (no-vc-detected): New rule.
11228         (local-checks-available): Use it to avoid hanging if someone tries
11229         'make syntax-check' from a tarball.  Also append to any non-syntax
11230         checks already defined in cfg.mk.
11231
11232 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
11233
11234         longlong: tune, particularly for common case of c99
11235
11236         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
11237         or running anything if c99, or if unsigned long long int does not
11238         work.  In either case, we know the answer without further tests.
11239         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
11240         it at most once, and use its results for both long long int and
11241         unsigned long long int.  This is more likely to be efficient in
11242         the common case where the program wants to check for both long
11243         long int and unsigned long long int.
11244         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
11245         since the answer is already known.
11246
11247 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         getloadavg: set errno
11250         * lib/getloadavg.c: Set errno when returning -1.  If no other
11251         error number looks appropriate, set it to ENOSYS if the getloadavg
11252         looks like it can't possibly ever work, ENOTSUP otherwise.
11253         Suggested by Bruno Haible in
11254         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
11255
11256         getloadavg: trim unused parts and speed up 'configure'
11257         * NEWS: Document this.
11258         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
11259         always compiled if getloadavg is absent.
11260         Move test code to ...
11261         * tests/test-getloadavg.c: New file, containing previous
11262         contents of test from lib/getloadavg.c.  It also contains
11263         suggestions by Bruno Haible in
11264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
11265         * modules/getloadavg-tests: New file.
11266         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
11267         Do tests in the same order as they're needed for getloadavg.c.
11268         Omit setgid-related tests that generate symbols KMEM_GROUP,
11269         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
11270         Do only the tests that are needed to see whether the system has
11271         getloadavg, moving the other tests into ...
11272         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
11273         NLIST_NAME_UNION; nobody should be using it.  Do not define
11274         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
11275         relevant, as the user of this module shouldn't care how getloadavg
11276         is implemented.
11277
11278         getloadavg: omit unused var
11279         * lib/getloadavg.c (getloadavg): Omit unused local variable.
11280
11281 2011-02-15  Jim Meyering  <meyering@redhat.com>
11282
11283         doc: update users.txt
11284         * users.txt: Update iwhd's URL.
11285
11286 2011-02-13  Bruno Haible  <bruno@clisp.org>
11287
11288         Consistent macro naming for macros that use GCC __attribute__.
11289         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
11290         _ATTRIBUTE_NONNULL_.
11291         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
11292         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
11293         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
11294         ATTRIBUTE_DEPRECATED.
11295         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
11296         ATTRIBUTE_NORETURN.
11297         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11298         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11299         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11300         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11301         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
11302         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
11303         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
11304         ATTRIBUTE_SENTINEL.
11305         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
11306         ATTRIBUTE_RETURN_CHECK.
11307         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
11308         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
11309         ATTRIBUTE_NORETURN.
11310         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
11311         Reported by Paul Eggert.
11312
11313 2011-02-13  Bruno Haible  <bruno@clisp.org>
11314
11315         Don't interfere with a program's definition of __attribute__.
11316         * lib/argp.h (__attribute__): Remove definition.
11317         (_GL_ATTRIBUTE_FORMAT): New macro.
11318         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
11319         * lib/argp-fmtstream.h (__attribute__): Remove definition.
11320         (_GL_ATTRIBUTE_FORMAT): New macro.
11321         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
11322         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
11323         GCC 3 or newer.
11324         * lib/error.h (__attribute__): Remove definition.
11325         (_GL_ATTRIBUTE_FORMAT): New macro.
11326         (error, error_at_line): Use it.
11327         * lib/hash.h (__attribute__): Remove definition.
11328         (ATTRIBUTE_WUR): Update definition. Define always.
11329         * lib/openat.h (__attribute__): Remove definition.
11330         (ATTRIBUTE_NORETURN): Update definition. Define always.
11331         * lib/sigpipe-die.h (__attribute__): Remove definition.
11332         (ATTRIBUTE_NORETURN): Update definition. Define always.
11333         * lib/vasnprintf.h (__attribute__): Remove definition.
11334         (_GL_ATTRIBUTE_FORMAT): New macro.
11335         (asnprintf, vasnprintf): Use it.
11336         * lib/xalloc.h (__attribute__): Remove definition.
11337         (ATTRIBUTE_NORETURN): Update definition. Define always.
11338         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
11339         * lib/xmemdup0.h (__attribute__): Remove definition.
11340         (ATTRIBUTE_NORETURN): Update definition. Define always.
11341         * lib/xprintf.h (__attribute__): Remove definition.
11342         (_GL_ATTRIBUTE_FORMAT): New macro.
11343         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
11344         * lib/xstrtol.h (__attribute__): Remove definition.
11345         (ATTRIBUTE_NORETURN): Update definition. Define always.
11346         * lib/xvasprintf.h (__attribute__): Remove definition.
11347         (_GL_ATTRIBUTE_FORMAT): New macro.
11348         (xasprintf, xvasprintf): Use it.
11349         * tests/test-argmatch.c (__attribute__): Remove definition.
11350         (ATTRIBUTE_NORETURN): Update definition. Define always.
11351         * tests/test-exclude.c (__attribute__): Remove definition.
11352         (ATTRIBUTE_NORETURN): Update definition. Define always.
11353         Reported by Paul Eggert.
11354
11355 2011-02-13  Bruno Haible  <bruno@clisp.org>
11356
11357         mbrtowc: Add more tests for native Windows platforms.
11358         * tests/test-mbrtowc-w32-1.sh: New file.
11359         * tests/test-mbrtowc-w32-2.sh: New file.
11360         * tests/test-mbrtowc-w32-3.sh: New file.
11361         * tests/test-mbrtowc-w32-4.sh: New file.
11362         * tests/test-mbrtowc-w32-5.sh: New file.
11363         * tests/test-mbrtowc-w32.c: New file.
11364         * modules/mbrtowc-tests (Files): Add them.
11365         (Makefile.am): Arrange to run these tests.
11366         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
11367         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
11368
11369 2011-02-13  Bruno Haible  <bruno@clisp.org>
11370
11371         mbrtowc: Work around native Windows bug.
11372         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
11373         guess when no suitable locale for testing was found.
11374         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
11375
11376 2011-02-13  Bruno Haible  <bruno@clisp.org>
11377
11378         mbsinit: Work around mingw bug.
11379         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
11380         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
11381         Windows.
11382         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
11383
11384 2011-02-13  Bruno Haible  <bruno@clisp.org>
11385
11386         mbsinit: Don't crash for a NULL argument.
11387         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
11388         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
11389
11390 2011-02-13  Bruno Haible  <bruno@clisp.org>
11391
11392         Don't interfere with a program's definition of __attribute__.
11393         * lib/stdio.in.h (__attribute__): Remove definition.
11394         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
11395         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
11396         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
11397         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
11398         * lib/string.in.h (__attribute__): Remove definition.
11399         Reported by Paul Eggert.
11400
11401 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11402
11403         stdlib: don't get in the way of non-GCC __attribute__
11404         See thread starting at
11405         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
11406         Revert previous stdlib change, installing the following instead:
11407         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
11408         to get in the way of a non-GCC compiler that supports __attribute__.
11409         (_GL_ATTRIBUTE_RETURN): New macro.
11410         (_Exit): Use it instead of __attribute__.
11411
11412 2011-02-12  Bruno Haible  <bruno@clisp.org>
11413
11414         quotearg test: Avoid test failure on mingw.
11415         * tests/test-quotearg.sh: Convert the locale identifier from native
11416         Windows syntax to Unix syntax.
11417
11418 2011-02-12  Bruno Haible  <bruno@clisp.org>
11419
11420         setlocale: Prefer gnulib's override over libintl's override.
11421         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
11422         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
11423         GNULIB_defined_setlocale is set.
11424
11425 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11426
11427         stdlib: support non-GCC __attribute__
11428
11429         Fix a serious and tricky problem encountered when attempting to
11430         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
11431         5.5, but it crashed due to memory corruption on Solaris 10 with
11432         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
11433         bits that are otherwise zero.  This tagging is optional inside
11434         Emacs but is preferred and is used when __attribute__ ((__aligned
11435         (8))) works, as it does with both recent-enough GCC and with Sun C
11436         5.11.  However, Sun C 5.11 is not GCC and does not #define
11437         __GNUC__ and __GNUC_MINOR__.
11438
11439         When I added the getloadavg module to Emacs, it brought in
11440         stdlib.in.h, which contained this fragment:
11441
11442            #ifndef __attribute__
11443            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
11444            #  define __attribute__(Spec)   /* empty */
11445            # endif
11446            #endif
11447
11448         When files that include <stdlib.h> were compiled with Sun C 5.11,
11449         the above code disabled __attribute__ ((__aligned (8))), which
11450         caused variables to not be properly aligned, which eventually led
11451         to the pointer corruption mentioned above.  (This was a bit hard
11452         to diagnose, unfortunately.)
11453
11454         Several "#define __attribute__(X) /* empty */" code snippets need
11455         to be eradicated from Gnulib to work with non-GCC compilers that
11456         support __attribute__.  The Autoconf way to do this is to test for
11457         each kind of attribute that we want support for, and selectively
11458         enable that in source code.
11459
11460         Fix this problem just for stdlib.h, by adding a test for the
11461         __noreturn__ attribute, and change stdlib.in.h to use that test
11462         when needed.  This technique can be easily generalized to the
11463         other *.in.h files and attributes, and a similar technique can be
11464         used for *.h and *.c files.  This patch is enough to solve the
11465         problem for Emacs + getloadavg, and I thought I'd publish it for
11466         feedback before undertaking further, similar fixes in other
11467         modules.
11468
11469         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
11470         because it's not needed for stdlib.h.  It merely substitutes the
11471         value directly into stdlib.h.  We may well need to #define it, or
11472         similar symbols, for other modules, but it's nice to also have an
11473         option to not #define it for applications like Emacs that do not
11474         need it.
11475
11476         * lib/stdlib.in.h (__attribute__): Do not #define.
11477         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
11478         be defined only if the _Exit module is also used.
11479         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
11480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
11481         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
11482         platforms.
11483         * modules/_Exit (Files): Add m4/attribute.m4.
11484         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
11485         * m4/attribute.m4: New file.
11486
11487 2011-02-12  Bruno Haible  <bruno@clisp.org>
11488
11489         wcsrtombs: Work around bug on native Windows.
11490         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
11491         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
11492         instead of len.
11493         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
11494
11495 2011-02-12  Bruno Haible  <bruno@clisp.org>
11496
11497         mbsrtowcs: Work around bug on native Windows.
11498         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
11499         against mingw bug.
11500         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
11501
11502 2011-02-12  Bruno Haible  <bruno@clisp.org>
11503
11504         Avoid setlocale bugs in tests.
11505         * modules/btowc (Dependencies): Add setlocale.
11506         * modules/c-strcase (Dependencies): Likewise.
11507         * modules/mbmemcasecmp (Dependencies): Likewise.
11508         * modules/mbmemcasecoll (Dependencies): Likewise.
11509         * modules/mbrtowc (Dependencies): Likewise.
11510         * modules/mbscasecmp (Dependencies): Likewise.
11511         * modules/mbscasestr (Dependencies): Likewise.
11512         * modules/mbschr (Dependencies): Likewise.
11513         * modules/mbscspn (Dependencies): Likewise.
11514         * modules/mbsinit (Dependencies): Likewise.
11515         * modules/mbsncasecmp (Dependencies): Likewise.
11516         * modules/mbsnrtowcs (Dependencies): Likewise.
11517         * modules/mbspbrk (Dependencies): Likewise.
11518         * modules/mbspcasecmp (Dependencies): Likewise.
11519         * modules/mbsrchr (Dependencies): Likewise.
11520         * modules/mbsrtowcs (Dependencies): Likewise.
11521         * modules/mbsspn (Dependencies): Likewise.
11522         * modules/mbsstr (Dependencies): Likewise.
11523         * modules/nl_langinfo (Dependencies): Likewise.
11524         * modules/quotearg (Dependencies): Likewise.
11525         * modules/unicase/locale-language (Dependencies): Likewise.
11526         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
11527         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
11528         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
11529         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
11530         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
11531         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
11532         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
11533         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
11534         * modules/vasnprintf-posix (Dependencies): Likewise.
11535         * modules/wcrtomb (Dependencies): Likewise.
11536         * modules/wcsnrtombs (Dependencies): Likewise.
11537         * modules/wcsrtombs (Dependencies): Likewise.
11538
11539 2011-02-12  Bruno Haible  <bruno@clisp.org>
11540
11541         setlocale: Workaround native Windows bug.
11542         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
11543         succeeds but sets LC_CTYPE to "C", report a failure.
11544         * tests/test-setlocale2.sh: New file.
11545         * tests/test-setlocale2.c: New file.
11546         * modules/setlocale-tests (Files): Add the new files.
11547         (Makefile.am): Enable test-setlocale2.sh test.
11548         * doc/posix-functions/setlocale.texi: Mention workaround.
11549
11550 2011-02-11  Bruno Haible  <bruno@clisp.org>
11551
11552         Tests for module 'setlocale'.
11553         * modules/setlocale-tests: New file.
11554         * tests/test-setlocale1.sh: New file.
11555         * tests/test-setlocale1.c: New file.
11556
11557         New module 'setlocale'.
11558         * lib/locale.in.h (setlocale): New declaration.
11559         * lib/setlocale.c: New file, based on
11560         gettext/gettext-runtime/intl/setlocale.c.
11561         * m4/setlocale.m4: New file.
11562         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
11563         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
11564         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
11565         REPLACE_SETLOCALE.
11566         * modules/setlocale: New file.
11567         * tests/test-locale-c++.cc: Test the declaration of setlocale.
11568         * doc/posix-functions/setlocale.texi: Mention the new module.
11569
11570 2011-02-11  Bruno Haible  <bruno@clisp.org>
11571
11572         Prepare for locale dependent tests on mingw.
11573         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
11574         because it has the wrong locale encoding.
11575         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
11576         French_France.1252 instead of "fr".
11577         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
11578         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
11579         because it has the wrong locale encoding.
11580         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
11581         native Windows, try Turkish_Turkey.65001.
11582         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
11583         Chinese_China.54936.
11584
11585         Prepare for locale dependent tests on mingw.
11586         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
11587         differently.
11588         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
11589         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
11590         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
11591         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11592
11593 2011-02-11  Eric Blake  <eblake@redhat.com>
11594
11595         strptime: avoid compiler warnings
11596         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
11597         compiler warnings about dead code.
11598         Reported by Daniel P. Berrange.
11599
11600 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
11601
11602         doc: update users.txt
11603         * users.txt: Add rcs.
11604
11605 2011-02-10  John W. Eaton  <jwe@gnu.org>
11606
11607         doc: update users.txt
11608         * users.txt: Add octave.
11609
11610 2011-02-10  Jim Meyering  <meyering@redhat.com>
11611
11612         doc: update users.txt
11613         * users.txt: Add iwhd.
11614
11615 2011-02-09  Bruno Haible  <bruno@clisp.org>
11616
11617         gnulib-tool: Make copyright notice adjustment more robust.
11618         * gnulib-tool (func_import): In sed_transform_main_lib_file,
11619         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
11620         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
11621         License".
11622         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
11623
11624 2011-02-06  Bruno Haible  <bruno@clisp.org>
11625
11626         New module 'towctrans'.
11627         * modules/towctrans: New file.
11628         * lib/wctype.in.h (towctrans): New declaration.
11629         * lib/towctrans.c: New file.
11630         * lib/towctrans-impl.h: New file.
11631         * m4/towctrans.m4: New file.
11632         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
11633         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
11634         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
11635         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
11636         * doc/posix-functions/towctrans.texi: Mention the new module.
11637
11638 2011-02-06  Bruno Haible  <bruno@clisp.org>
11639
11640         New module 'wctrans'.
11641         * modules/wctrans: New file.
11642         * lib/wctype.in.h (wctrans): New declaration.
11643         * lib/wctrans.c: New file.
11644         * lib/wctrans-impl.h: New file.
11645         * m4/wctrans.m4: New file.
11646         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
11647         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
11648         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
11649         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
11650         * doc/posix-functions/wctrans.texi: Mention the new module.
11651
11652 2011-02-06  Bruno Haible  <bruno@clisp.org>
11653
11654         New module 'iswctype'.
11655         * modules/iswctype: New file.
11656         * lib/wctype.in.h (iswctype): New declaration.
11657         * lib/iswctype.c: New file.
11658         * lib/iswctype-impl.h: New file.
11659         * m4/iswctype.m4: New file.
11660         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
11661         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
11662         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
11663         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
11664         * doc/posix-functions/iswctype.texi: Mention the new module and the
11665         HP-UX 11.00 problem.
11666
11667 2011-02-06  Bruno Haible  <bruno@clisp.org>
11668
11669         New module 'wctype'.
11670         * modules/wctype: Change to represent the wctype() substitute.
11671         * lib/wctype.in.h (wctype): New declaration.
11672         * lib/wctype.c: New file.
11673         * lib/wctype-impl.h: New file.
11674         * m4/wctype.m4: New file.
11675         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
11676         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
11677         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
11678         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
11679         * doc/posix-functions/wctype.texi: Mention the new module and the
11680         HP-UX 11.00 problem.
11681
11682 2011-02-06  Bruno Haible  <bruno@clisp.org>
11683
11684         wctype-h: Ensure wctype_t and wctrans_t are defined.
11685         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
11686         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
11687         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
11688         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
11689         HAVE_WCTRANS_T.
11690         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
11691
11692 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11693
11694         flock: fix license typo
11695
11696         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
11697         omitted.
11698
11699 2011-02-08  Bruno Haible  <bruno@clisp.org>
11700
11701         Split large sed scripts, for HP-UX sed.
11702         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
11703         to avoid HP-UX limit of 99 commands, in the near future.
11704         * modules/stdlib (Makefile.am): Likewise.
11705         * modules/unistd (Makefile.am): Likewise.
11706         * modules/wchar (Makefile.am): Likewise.
11707         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11708         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
11709         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
11710
11711 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11712             Bruno Haible  <bruno@clisp.org>
11713
11714         stdlib: improve random_r modularization
11715         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
11716         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
11717         you also need the random_r module to get this material right.
11718         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
11719         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
11720         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
11721
11722 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11723
11724         stdlib: don't depend on stdint
11725         * lib/stdlib.in.h: Don't include <stdint.h> merely because
11726         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
11727         be independent of whether stdint.h is needed.
11728         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
11729         here, instead of ...
11730         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
11731         struct random_data should be using the random_r module, not just
11732         the stdlib module (which wouldn't make sense: what package needs
11733         just struct random_data without also needing random_r?).
11734         * modules/stdlib (Depends-on): Remove stdint.
11735
11736         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
11737         See the thread rooted at
11738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
11739         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
11740         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
11741         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
11742         __VMS)); previously it was always included (via fcntl--.h).
11743         (getloadavg): Do not use c_strtod.  Instead, approximate it by
11744         hand; this is good enough for load averages.  Also, do not use
11745         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
11746         flags directly if available and don't bother otherwise.  (Packages
11747         that need the extra reliability should use the modules that define
11748         these flags on older platforms that lack them.)
11749         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
11750         fcntl-safer.
11751
11752 2011-02-08  Jim Meyering  <meyering@redhat.com>
11753
11754         di-set.h, ino-map.h: add multiple-inclusion guard
11755         Technically, the guard is required only for ino-map.h, due to its
11756         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
11757         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
11758         * lib/ino-map.h: Likewise.
11759
11760 2011-02-06  Bruno Haible  <bruno@clisp.org>
11761
11762         iswblank: Ensure declaration on glibc systems.
11763         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
11764         * modules/iswblank (Dependencies): Add 'extensions'.
11765         * doc/posix-functions/iswblank.texi: Document the glibc problem.
11766
11767 2011-02-06  Bruno Haible  <bruno@clisp.org>
11768
11769         New module 'iswblank'.
11770         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
11771         * modules/iswblank: New file.
11772         * modules/wctype-h (Files): Remove lib/iswblank.c.
11773         (Makefile.am): Substitute GNULIB_ISWBLANK.
11774         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
11775         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
11776         (gl_WCTYPE_H_DEFAULTS): New macro.
11777         (gl_WCTYPE_H): Require it. Remove iswblank related code.
11778         * modules/iswblank-tests: New file.
11779         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
11780         * tests/test-wctype-h.c (main): Remove iswblank tests.
11781         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
11782         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
11783         of 'wctype-h'.
11784         * NEWS: Mention the change.
11785         * modules/mbchar (Depends-on): Add iswblank.
11786
11787 2011-02-08  Bruno Haible  <bruno@clisp.org>
11788
11789         di-set tests: Refactor.
11790         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
11791         unnecessary includes.
11792         (ASSERT): Remove macro.
11793         (main): Make C90 compliant by avoiding variable declaration after
11794         statement.
11795         * modules/di-set-tests (Files): Add tests/macros.h.
11796
11797 2011-02-08  Bruno Haible  <bruno@clisp.org>
11798
11799         ino-map tests: Refactor.
11800         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
11801         unnecessary includes.
11802         (ASSERT): Remove macro.
11803         (main): Make C90 compliant by avoiding variable declaration after
11804         statement.
11805         * modules/ino-map-tests (Files): Add tests/macros.h.
11806
11807 2011-02-08  Jim Meyering  <meyering@redhat.com>
11808
11809         di-set: add "const" to a cast
11810         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
11811         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
11812
11813 2011-02-06  Bruno Haible  <bruno@clisp.org>
11814
11815         Rename module 'wctype' to 'wctype-h'.
11816         * modules/wctype-h: Renamed from modules/wctype.
11817         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
11818         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
11819         (Files, Depends-on, Makefile.am): Update.
11820         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
11821         (Files, Makefile.am): Update.
11822         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
11823         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
11824         * doc/posix-headers/wctype.texi: Update.
11825         * doc/posix-functions/iswalnum.texi: Update.
11826         * doc/posix-functions/iswalpha.texi: Update.
11827         * doc/posix-functions/iswblank.texi: Update.
11828         * doc/posix-functions/iswcntrl.texi: Update.
11829         * doc/posix-functions/iswdigit.texi: Update.
11830         * doc/posix-functions/iswgraph.texi: Update.
11831         * doc/posix-functions/iswlower.texi: Update.
11832         * doc/posix-functions/iswprint.texi: Update.
11833         * doc/posix-functions/iswpunct.texi: Update.
11834         * doc/posix-functions/iswspace.texi: Update.
11835         * doc/posix-functions/iswupper.texi: Update.
11836         * doc/posix-functions/iswxdigit.texi: Update.
11837         * doc/posix-functions/towlower.texi: Update.
11838         * doc/posix-functions/towupper.texi: Update.
11839         * NEWS: Mention the change.
11840         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
11841         * modules/mbchar (Dependencies): Likewise.
11842         * modules/mbswidth (Dependencies): Likewise.
11843         * modules/quotearg (Dependencies): Likewise.
11844         * modules/regex (Dependencies): Likewise.
11845         * modules/wcscasecmp (Dependencies): Likewise.
11846         * modules/wcsncasecmp (Dependencies): Likewise.
11847         * modules/wcwidth (Dependencies): Likewise.
11848
11849 2011-02-06  Bruno Haible  <bruno@clisp.org>
11850
11851         New module 'wcswidth'.
11852         * modules/wcswidth: New file.
11853         * lib/wchar.in.h (wcswidth): New declaration.
11854         * lib/wcswidth.c: New file.
11855         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
11856         * m4/wcswidth.m4: New file.
11857         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
11858         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
11859         REPLACE_WCSWIDTH.
11860         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
11861         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
11862         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
11863         * doc/posix-functions/wcswidth.texi: Mention the new module.
11864
11865 2011-02-06  Bruno Haible  <bruno@clisp.org>
11866
11867         New module 'wcstok'.
11868         * modules/wcstok: New file.
11869         * lib/wchar.in.h (wcstok): New declaration.
11870         * lib/wcstok.c: New file.
11871         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
11872         * m4/wcstok.m4: New file.
11873         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
11874         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
11875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
11876         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
11877         * doc/posix-functions/wcstok.texi: Mention the new module.
11878
11879 2011-02-06  Bruno Haible  <bruno@clisp.org>
11880
11881         New module 'wcsstr'.
11882         * modules/wcsstr: New file.
11883         * lib/wchar.in.h (wcsstr): New declaration.
11884         * lib/wcsstr.c: New file.
11885         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
11886         * m4/wcsstr.m4: New file.
11887         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
11888         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
11889         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
11890         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
11891         * doc/posix-functions/wcsstr.texi: Mention the new module.
11892
11893 2011-02-06  Bruno Haible  <bruno@clisp.org>
11894
11895         New module 'wcspbrk'.
11896         * modules/wcspbrk: New file.
11897         * lib/wchar.in.h (wcspbrk): New declaration.
11898         * lib/wcspbrk.c: New file.
11899         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
11900         * m4/wcspbrk.m4: New file.
11901         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
11902         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
11903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
11904         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
11905         * doc/posix-functions/wcspbrk.texi: Mention the new module.
11906
11907 2011-02-06  Bruno Haible  <bruno@clisp.org>
11908
11909         New module 'wcsspn'.
11910         * modules/wcsspn: New file.
11911         * lib/wchar.in.h (wcsspn): New declaration.
11912         * lib/wcsspn.c: New file.
11913         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
11914         * m4/wcsspn.m4: New file.
11915         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
11916         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
11917         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
11918         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
11919         * doc/posix-functions/wcsspn.texi: Mention the new module.
11920
11921 2011-02-06  Bruno Haible  <bruno@clisp.org>
11922
11923         New module 'wcscspn'.
11924         * modules/wcscspn: New file.
11925         * lib/wchar.in.h (wcscspn): New declaration.
11926         * lib/wcscspn.c: New file.
11927         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
11928         * m4/wcscspn.m4: New file.
11929         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
11930         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
11931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
11932         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
11933         * doc/posix-functions/wcscspn.texi: Mention the new module.
11934
11935 2011-02-06  Bruno Haible  <bruno@clisp.org>
11936
11937         New module 'wcsrchr'.
11938         * modules/wcsrchr: New file.
11939         * lib/wchar.in.h (wcsrchr): New declaration.
11940         * lib/wcsrchr.c: New file.
11941         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
11942         * m4/wcsrchr.m4: New file.
11943         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
11944         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
11945         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
11946         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
11947         * doc/posix-functions/wcsrchr.texi: Mention the new module.
11948
11949 2011-02-06  Bruno Haible  <bruno@clisp.org>
11950
11951         New module 'wcschr'.
11952         * modules/wcschr: New file.
11953         * lib/wchar.in.h (wcschr): New declaration.
11954         * lib/wcschr.c: New file.
11955         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
11956         * m4/wcschr.m4: New file.
11957         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
11958         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
11959         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
11960         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
11961         * doc/posix-functions/wcschr.texi: Mention the new module.
11962
11963 2011-02-06  Bruno Haible  <bruno@clisp.org>
11964
11965         New module 'wcsdup'.
11966         * modules/wcsdup: New file.
11967         * lib/wchar.in.h (wcsdup): New declaration.
11968         * lib/wcsdup.c: New file.
11969         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
11970         * m4/wcsdup.m4: New file.
11971         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
11972         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
11973         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
11974         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
11975         * doc/posix-functions/wcsdup.texi: Mention the new module.
11976
11977 2011-02-06  Bruno Haible  <bruno@clisp.org>
11978
11979         New module 'wcsxfrm'.
11980         * modules/wcsxfrm: New file.
11981         * lib/wchar.in.h (wcsxfrm): New declaration.
11982         * lib/wcsxfrm.c: New file.
11983         * lib/wcsxfrm-impl.h: New file.
11984         * m4/wcsxfrm.m4: New file.
11985         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
11986         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
11987         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
11988         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
11989         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
11990
11991 2011-02-06  Bruno Haible  <bruno@clisp.org>
11992
11993         New module 'wcscoll'.
11994         * modules/wcscoll: New file.
11995         * lib/wchar.in.h (wcscoll): New declaration.
11996         * lib/wcscoll.c: New file.
11997         * lib/wcscoll-impl.h: New file.
11998         * m4/wcscoll.m4: New file.
11999         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
12000         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
12001         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
12002         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
12003         * doc/posix-functions/wcscoll.texi: Mention the new module.
12004
12005 2011-02-06  Bruno Haible  <bruno@clisp.org>
12006
12007         New module 'wcsncasecmp'.
12008         * modules/wcsncasecmp: New file.
12009         * lib/wchar.in.h (wcsncasecmp): New declaration.
12010         * lib/wcsncasecmp.c: New file.
12011         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
12012         * m4/wcsncasecmp.m4: New file.
12013         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
12014         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
12015         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
12016         HAVE_WCSNCASECMP.
12017         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
12018         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
12019
12020 2011-02-06  Bruno Haible  <bruno@clisp.org>
12021
12022         New module 'wcscasecmp'.
12023         * modules/wcscasecmp: New file.
12024         * lib/wchar.in.h (wcscasecmp): New declaration.
12025         * lib/wcscasecmp.c: New file.
12026         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
12027         * m4/wcscasecmp.m4: New file.
12028         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
12029         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
12030         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
12031         HAVE_WCSCASECMP.
12032         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
12033         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
12034
12035 2011-02-05  Bruno Haible  <bruno@clisp.org>
12036
12037         New module 'wcsncmp'.
12038         * modules/wcsncmp: New file.
12039         * lib/wchar.in.h (wcsncmp): New declaration.
12040         * lib/wcsncmp.c: New file.
12041         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
12042         * m4/wcsncmp.m4: New file.
12043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
12044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
12045         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
12046         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
12047         * doc/posix-functions/wcsncmp.texi: Mention the new module.
12048
12049 2011-02-05  Bruno Haible  <bruno@clisp.org>
12050
12051         New module 'wcscmp'.
12052         * modules/wcscmp: New file.
12053         * lib/wchar.in.h (wcscmp): New declaration.
12054         * lib/wcscmp.c: New file.
12055         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
12056         * m4/wcscmp.m4: New file.
12057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
12058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
12059         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
12060         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
12061         * doc/posix-functions/wcscmp.texi: Mention the new module.
12062
12063 2011-02-05  Bruno Haible  <bruno@clisp.org>
12064
12065         New module 'wcsncat'.
12066         * modules/wcsncat: New file.
12067         * lib/wchar.in.h (wcsncat): New declaration.
12068         * lib/wcsncat.c: New file.
12069         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
12070         * m4/wcsncat.m4: New file.
12071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
12072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
12073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
12074         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
12075         * doc/posix-functions/wcsncat.texi: Mention the new module.
12076
12077 2011-02-05  Bruno Haible  <bruno@clisp.org>
12078
12079         New module 'wcscat'.
12080         * modules/wcscat: New file.
12081         * lib/wchar.in.h (wcscat): New declaration.
12082         * lib/wcscat.c: New file.
12083         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
12084         * m4/wcscat.m4: New file.
12085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
12086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
12087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
12088         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
12089         * doc/posix-functions/wcscat.texi: Mention the new module.
12090
12091 2011-02-05  Bruno Haible  <bruno@clisp.org>
12092
12093         New module 'wcpncpy'.
12094         * modules/wcpncpy: New file.
12095         * lib/wchar.in.h (wcpncpy): New declaration.
12096         * lib/wcpncpy.c: New file.
12097         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
12098         * m4/wcpncpy.m4: New file.
12099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
12100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
12101         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
12102         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
12103         * doc/posix-functions/wcpncpy.texi: Mention the new module.
12104
12105 2011-02-05  Bruno Haible  <bruno@clisp.org>
12106
12107         New module 'wcsncpy'.
12108         * modules/wcsncpy: New file.
12109         * lib/wchar.in.h (wcsncpy): New declaration.
12110         * lib/wcsncpy.c: New file.
12111         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
12112         * m4/wcsncpy.m4: New file.
12113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
12114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
12115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
12116         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
12117         * doc/posix-functions/wcsncpy.texi: Mention the new module.
12118
12119 2011-02-05  Bruno Haible  <bruno@clisp.org>
12120
12121         New module 'wcpcpy'.
12122         * modules/wcpcpy: New file.
12123         * lib/wchar.in.h (wcpcpy): New declaration.
12124         * lib/wcpcpy.c: New file.
12125         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
12126         * m4/wcpcpy.m4: New file.
12127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
12128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
12129         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
12130         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
12131         * doc/posix-functions/wcpcpy.texi: Mention the new module.
12132
12133 2011-02-05  Bruno Haible  <bruno@clisp.org>
12134
12135         New module 'wcscpy'.
12136         * modules/wcscpy: New file.
12137         * lib/wchar.in.h (wcscpy): New declaration.
12138         * lib/wcscpy.c: New file.
12139         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
12140         * m4/wcscpy.m4: New file.
12141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
12142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
12143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
12144         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
12145         * doc/posix-functions/wcscpy.texi: Mention the new module.
12146
12147 2011-02-05  Bruno Haible  <bruno@clisp.org>
12148
12149         New module 'wcsnlen'.
12150         * modules/wcsnlen: New file.
12151         * lib/wchar.in.h (wcsnlen): New declaration.
12152         * lib/wcsnlen.c: New file.
12153         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
12154         * m4/wcsnlen.m4: New file.
12155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
12156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
12157         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
12158         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
12159         * doc/posix-functions/wcsnlen.texi: Mention the new module.
12160
12161 2011-02-05  Bruno Haible  <bruno@clisp.org>
12162
12163         New module 'wcslen'.
12164         * modules/wcslen: New file.
12165         * lib/wchar.in.h (wcslen): New declaration.
12166         * lib/wcslen.c: New file.
12167         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
12168         * m4/wcslen.m4: New file.
12169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
12170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
12171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
12172         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
12173         * doc/posix-functions/wcslen.texi: Mention the new module.
12174
12175 2011-02-05  Bruno Haible  <bruno@clisp.org>
12176
12177         New module 'wmemset'.
12178         * modules/wmemset: New file.
12179         * lib/wchar.in.h (wmemset): New declaration.
12180         * lib/wmemset.c: New file.
12181         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
12182         * m4/wmemset.m4: New file.
12183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
12184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
12185         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
12186         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
12187         * doc/posix-functions/wmemset.texi: Mention the new module.
12188
12189 2011-02-05  Bruno Haible  <bruno@clisp.org>
12190
12191         New module 'wmemmove'.
12192         * modules/wmemmove: New file.
12193         * lib/wchar.in.h (wmemmove): New declaration.
12194         * lib/wmemmove.c: New file.
12195         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
12196         * m4/wmemmove.m4: New file.
12197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
12198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
12199         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
12200         HAVE_WMEMMOVE.
12201         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
12202         * doc/posix-functions/wmemmove.texi: Mention the new module.
12203
12204 2011-02-05  Bruno Haible  <bruno@clisp.org>
12205
12206         New module 'wmemcpy'.
12207         * modules/wmemcpy: New file.
12208         * lib/wchar.in.h (wmemcpy): New declaration.
12209         * lib/wmemcpy.c: New file.
12210         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
12211         * m4/wmemcpy.m4: New file.
12212         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
12213         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
12214         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
12215         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
12216         * doc/posix-functions/wmemcpy.texi: Mention the new module.
12217
12218 2011-02-05  Bruno Haible  <bruno@clisp.org>
12219
12220         New module 'wmemcmp'.
12221         * modules/wmemcmp: New file.
12222         * lib/wchar.in.h (wmemcmp): New declaration.
12223         * lib/wmemcmp.c: New file.
12224         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
12225         * m4/wmemcmp.m4: New file.
12226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
12227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
12228         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
12229         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
12230         * doc/posix-functions/wmemcmp.texi: Mention the new module.
12231
12232 2011-02-07  Jim Meyering  <meyering@redhat.com>
12233
12234         di-set, ino-map: new modules, from coreutils
12235         * lib/di-set.c: New file.
12236         * lib/di-set.h: Likewise.
12237         * lib/ino-map.c: Likewise.
12238         * lib/ino-map.h: Likewise.
12239         * modules/di-set: Likewise.
12240         * modules/di-set-tests: Likewise.
12241         * modules/ino-map: Likewise.
12242         * modules/ino-map-tests: Likewise.
12243         * tests/test-di-set.c: Likewise.
12244         * tests/test-ino-map.c: Likewise.
12245
12246 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
12247
12248         getloadavg: merge minor changes from Emacs
12249
12250         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
12251         (getloadavg): Use memset, not bzero.
12252
12253         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
12254         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
12255         clash (bug#86).
12256
12257 2010-11-14  Bruno Haible  <bruno@clisp.org>
12258
12259         Allow multiple gnulib generated replacements to coexist.
12260         * lib/getopt.in.h (struct option): Avoid identical redefinition.
12261         * lib/inttypes.in.h (imaxdiv_t): Likewise.
12262         * lib/langinfo.in.h (nl_item): Likewise.
12263         * lib/math.in.h (_NaN, NAN): Likewise.
12264         * lib/netdb.in.h (struct addrinfo): Likewise.
12265         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
12266         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
12267         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
12268         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
12269         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
12270         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
12271         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
12272         pthread_mutexattr_init, pthread_mutexattr_settype,
12273         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
12274         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
12275         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
12276         pthread_spin_trylock, pthread_spin_unlock): Likewise.
12277         * lib/sched.in.h (struct sched_param): Likewise.
12278         * lib/se-selinux.in.h (security_class_t, security_context_t,
12279         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
12280         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
12281         lsetfilecon, fsetfilecon, security_check_context,
12282         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
12283         Likewise.
12284         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
12285         Likewise.
12286         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
12287         _gl_function_taking_int_returning_void_t, union sigval,
12288         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
12289         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
12290         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
12291         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
12292         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
12293         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
12294         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
12295         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
12296         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
12297         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
12298         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
12299         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
12300         socklen_t, rpl_fd_isset): Likewise.
12301         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
12302         * lib/sys_time.in.h (struct timeval): Likewise.
12303         * lib/sys_times.in.h (struct tms): Likewise.
12304         * lib/sys_utsname.in.h (struct utsname):
12305         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
12306         * lib/unistd.in.h (getpagesize): Likewise.
12307         * lib/wchar.in.h (mbstate_t): Likewise.
12308         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12309         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
12310         towlower, towupper): Likewise.
12311         Reported by Sam Steingold <sds@gnu.org>.
12312
12313 2011-02-05  Eric Blake  <eblake@redhat.com>
12314
12315         unsetenv: work around Haiku issues
12316         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
12317         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
12318
12319 2010-12-30  Bruce Korb  <bkorb@gnu.org>
12320
12321         libposix: avoid calling error() within libposix
12322         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
12323         is defined.
12324
12325 2011-02-05  Eric Blake  <eblake@redhat.com>
12326
12327         strerror_r-posix: port to cygwin
12328         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
12329         implementation.
12330         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
12331         * tests/test-strerror_r.c (main): Fix test.
12332         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12333         issue.
12334
12335 2011-02-05  Bruno Haible  <bruno@clisp.org>
12336
12337         New module 'wmemchr'.
12338         * modules/wmemchr: New file.
12339         * lib/wchar.in.h (wmemchr): New declaration.
12340         * lib/wmemchr.c: New file.
12341         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
12342         * m4/wmemchr.m4: New file.
12343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
12344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
12345         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
12346         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
12347         * doc/posix-functions/wmemchr.texi: Mention the new module.
12348
12349 2011-02-04  Eric Blake  <eblake@redhat.com>
12350
12351         fdopendir: detect FreeBSD bug
12352         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
12353         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
12354
12355 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
12356
12357         stdbool: do not define HAVE_STDBOOL_H
12358         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
12359         AC_HEADER_STDBOOL.  All uses changed.  Do not define
12360         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
12361         imported from the latest Autoconf git.  It was motivated by Emacs,
12362         which uses gnulib but does not need HAVE_STDBOOL_H.
12363
12364 2011-02-04  Bruno Haible  <bruno@clisp.org>
12365
12366         wcsnrtombs: Prepare for new module wwcsnrtombs.
12367         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
12368         * lib/wcsnrtombs.c: Include it.
12369         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
12370
12371         wcsrtombs: Prepare for new module wwcsrtombs.
12372         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
12373         * lib/wcsrtombs.c: Include it.
12374         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
12375
12376         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
12377         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
12378         * lib/mbsnrtowcs.c: Include it.
12379         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
12380
12381         mbsrtowcs: Prepare for new module mbsrtowwcs.
12382         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
12383         * lib/mbsrtowcs.c: Include it.
12384         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
12385
12386 2011-02-04  Bruno Haible  <bruno@clisp.org>
12387
12388         vasnprintf: Reduce use of malloc for small format strings.
12389         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
12390         (arguments): Add room for the first 7 arguments.
12391         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
12392         (char_directives, u8_directives, u16_directives, u32_directives): Add
12393         room for the first 7 directives.
12394         * lib/printf-parse.c: Include <string.h>.
12395         (PRINTF_PARSE): Change memory handling code so that it uses the first
12396         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
12397         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
12398         Reported by Pádraig Brady <P@draigbrady.com>.
12399
12400 2011-01-31  Eric Blake  <eblake@redhat.com>
12401
12402         dup2: work around Haiku bug
12403         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
12404         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
12405         * doc/posix-functions/dup2.texi (dup2): Document the bug.
12406         * tests/test-dup2.c (main): Enhance test.
12407
12408 2011-01-31  Simon Josefsson  <simon@josefsson.org>
12409
12410         doc: off_t is not available in eglibc 2.11.2 stdio.h.
12411         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
12412         declared by eglibc 2.11.2.
12413         * lib/stdio.in.h: Likewise.
12414
12415 2011-01-31  Eric Blake  <eblake@redhat.com>
12416
12417         ignore-value: add missing test dependency
12418         * tests/test-ignore-value.c: Revert previous change; stdio.h
12419         provides off_t.
12420         * modules/ignore-value-tests (Depends-on): Add missing dependency.
12421
12422 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
12423
12424         mktime: clarify long_int width checking
12425         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
12426         the top level, to make it clearer that the assumption about
12427         long_int width is being checked.  See
12428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
12429
12430 2011-01-30  Simon Josefsson  <simon@josefsson.org>
12431
12432         ignore-value: Fix self-test.
12433         * tests/test-ignore-value.c: Include sys/types.h for off_t.
12434
12435 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
12436
12437         TYPE_MAXIMUM: avoid theoretically undefined behavior
12438         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
12439         negative number, which the C Standard says has undefined behavior.
12440         In practice this is not a problem, but might as well do it by the book.
12441         Reported by Rich Felker and Eric Blake; see
12442         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
12443         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
12444         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
12445         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12446         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
12447         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12448         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
12449
12450         mktime: #undef mktime before #defining it
12451         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
12452
12453         mktime: systematically normalize tm_isdst comparisons
12454         * lib/mktime.c (isdst_differ): New function.
12455         (__mktime_internal): Use it systematically for all isdst comparisons.
12456         This completes the fix for libc BZ #6723, and removes the need for
12457         normalizing tm_isdst.  See
12458         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
12459         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
12460
12461         mktime: fix some integer overflow issues and sidestep the rest
12462
12463         This was prompted by a bug report by Benjamin Lindner for MinGW
12464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
12465         His bug is due to signed integer overflow (0 - INT_MIN), and I
12466         I scanned through mktime.c looking for other integer overflow
12467         problems, fixing all the bugs I found.
12468
12469         Although the C Standard says the resulting code is still not safe
12470         in the presence of integer overflow, in practice it should be good
12471         enough for all real-world two's-complement implementations, except
12472         for debugging environments that deliberately trap on integer
12473         overflow (e.g., gcc -ftrapv).
12474
12475         * lib/mktime.c (WRAPV): New macro.
12476         (SHR): Also check that long_int and time_t shift right in the
12477         usual way, before using the fast-but-unportable method.
12478         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
12479         used.  The code already assumed two's complement, so there's
12480         no need to test for alternatives.  All uses removed.
12481         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
12482         the C standard.  Problem reported by Rich Felker in
12483         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
12484         (twos_complement_arithmetic): Also check long_int and time_t.
12485         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
12486         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
12487         (__mktime_internal): Avoid integer overflow with unary subtraction
12488         in two instances where -1 - X is an adequate replacement for -X,
12489         since the calculations are approximate.
12490
12491 2011-01-29  Eric Blake  <eblake@redhat.com>
12492
12493         mktime: avoid infinite loop
12494         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
12495         type; behavior is still undefined but portable to all known targets.
12496         Reported by Rich Felker.
12497
12498 2011-01-29  Simon Josefsson  <simon@josefsson.org>
12499
12500         rename, unlink, same-inode: Relicense.
12501         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
12502         * modules/unlink (License): Likewise.
12503         * modules/same-inode (License): Likewise.
12504
12505 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12506
12507         mktime: avoid problems on NetBSD 5 / i386
12508         * lib/mktime.c (long_int): New type.  This works around a problem
12509         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
12510         but time_t is 64 bits, and where I expect the existing code is
12511         wrong in some cases.
12512         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
12513         (ydhms_diff): Bring back the compile-time check for wide-enough
12514         year and yday.
12515
12516         mktime: fix misspelling in comment
12517         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
12518         This merges all recent glibc changes of importance.
12519
12520 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12521
12522         move-if-change: cope with concurrent mv of identical file.
12523         * build-aux/move-if-change (CMPPROG): Accept environment
12524         variable as an override for `cmp'.
12525         (usage): Document CMPPROG.
12526         Adjust comparison to drop stdout.  Cope with failure of mv if
12527         the target file exists and is identical to the source, for
12528         parallel builds.
12529         Report from H.J. Lu against binutils in PR binutils/12283.
12530
12531 2011-01-28  Bruce Korb  <bkorb@gnu.org>
12532
12533         * users.txt: Mention sharutils.
12534
12535 2011-01-28  Simon Josefsson  <simon@josefsson.org>
12536
12537         * users.txt: Mention OATH Toolkit.
12538
12539 2011-01-27  Bruno Haible  <bruno@clisp.org>
12540
12541         Prepare for supporting FreeBSD 10.
12542         * build-aux/config.libpath: Remove handling of freebsd1*.
12543
12544 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
12545
12546         Prepare for supporting FreeBSD 10.
12547         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
12548         match FreeBSD 10.0.
12549
12550 2011-01-27  Bruno Haible  <bruno@clisp.org>
12551
12552         vma-iter, get-rusage-as: Add OpenBSD support.
12553         * modules/vma-iter (configure.ac): Test for mquery.
12554         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
12555         * lib/vma-iter.c: Include <sys/mman.h>.
12556         (vma_iterate): Add an implementation based on mquery().
12557         * lib/resource-ext.h (get_rusage_as): Update comments.
12558         * lib/get-rusage-as.c: Likewise.
12559         * lib/get-rusage-data.c: Likewise.
12560
12561 2011-01-26  Karl Berry  <karl@gnu.org>
12562
12563         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
12564         variables to make it easier to override the makeinfo program used.
12565
12566 2011-01-26  Eric Blake  <eblake@redhat.com>
12567
12568         fcntl: work around Haiku F_DUPFD bugs
12569         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
12570         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
12571         cloexec bit on duplication.
12572         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
12573
12574 2011-01-26  Bruno Haible  <bruno@clisp.org>
12575
12576         Enable memory leak tests on AIX.
12577         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
12578         * tests/test-fprintf-posix3.c (main): Likewise.
12579
12580 2011-01-26  Bruno Haible  <bruno@clisp.org>
12581
12582         Tests for module 'get-rusage-data'.
12583         * modules/get-rusage-data-tests: New file.
12584         * tests/test-get-rusage-data.c: New file.
12585
12586         New module 'get-rusage-data'.
12587         * lib/resource-ext.h (get_rusage_data): New declaration.
12588         * lib/get-rusage-data.c: New file.
12589         * modules/get-rusage-data: New file.
12590
12591 2011-01-25  Bruno Haible  <bruno@clisp.org>
12592
12593         get-rusage-as: Allow for easier testing.
12594         * lib/resource-ext.h (get_rusage_as): Add comment.
12595         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
12596         (main): New function for interactive testing.
12597
12598 2011-01-25  Bruno Haible  <bruno@clisp.org>
12599
12600         vma-iter: Treat Haiku like BeOS.
12601         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
12602         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
12603
12604 2011-01-25  Eric Blake  <eblake@redhat.com>
12605
12606         c-stack: fix regression on cygwin when libsigsegv is present
12607         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
12608
12609 2011-01-24  Bruno Haible  <bruno@clisp.org>
12610
12611         vma-iter: Avoid empty intervals.
12612         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
12613         on an empty interval.
12614
12615 2011-01-24  Jim Meyering  <meyering@redhat.com>
12616
12617         u64: remove unnecessary #include
12618         * lib/u64.h: Don't include <stddef.h>.  It was not used.
12619
12620 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12621
12622         Allow the user to avoid the HAVE_RAW_DECL_* macros.
12623         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
12624
12625 2011-01-23  Bruno Haible  <bruno@clisp.org>
12626
12627         New module 'vma-iter'.
12628         * lib/vma-iter.h: New file.
12629         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
12630         * modules/vma-iter: New file.
12631         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
12632         for get_rusage_as_via_iterator.
12633         (vma_iterate_callback): New function.
12634         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
12635         * modules/get-rusage-as (Depends-on): Add vma-iter.
12636
12637 2011-01-23  Bruno Haible  <bruno@clisp.org>
12638
12639         uninorm: Tweak includes.
12640         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
12641         Reported by Jim Meyering.
12642
12643 2011-01-23  Bruno Haible  <bruno@clisp.org>
12644
12645         get-rusage-as: Improve on NetBSD.
12646         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
12647         /proc, like on FreeBSD.
12648
12649 2011-01-23  Jim Meyering  <meyering@redhat.com>
12650
12651         xreadlink.h: remove unnecessary #include
12652         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
12653
12654         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
12655         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
12656
12657 2011-01-23  Bruno Haible  <bruno@clisp.org>
12658
12659         get-rusage-as: Fix bug.
12660         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
12661         original limit when aborting the first loop.
12662
12663 2011-01-23  Bruno Haible  <bruno@clisp.org>
12664
12665         wctype: Ensure valid C syntax.
12666         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
12667         unconditionally, instead of gl_NEXT_HEADERS conditionally.
12668
12669 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
12670
12671         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
12672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
12673         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
12674         as they are needed only for configure's test case.
12675         This removes two unnecessary symbols from config.h.
12676
12677         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
12678         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
12679         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
12680         AC_CHECK_HEADERS_ONCE on a header that we also invoke
12681         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
12682         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
12683         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
12684         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
12685         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
12686         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12687         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
12688         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12689         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12690         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12691         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
12692         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12693         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
12694         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
12695
12696 2011-01-21  Eric Blake  <eblake@redhat.com>
12697
12698         maintainer-makefile: work with older git for submodule check
12699         * top/maint.mk (public-submodule-commit): Rewrite to avoid
12700         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
12701         Reported by Matthias Bolte.
12702
12703         bootstrap: minor portability fixes
12704         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
12705         (usage): Omit leading capital and trailing . on help phrases, per
12706         GNU Coding Standards.
12707         (check_versions, top level): Prefix messages with script name.
12708
12709 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
12710
12711         bootstrap: support --no-git option
12712         * build-aux/bootstrap: Add --no-git option, to be used when
12713         --gnulib-srcdir points to the exact desired checkout.
12714
12715 2011-01-21  Eric Blake  <eblake@redhat.com>
12716
12717         strerror_r-posix: work with glibc 2.13
12718         * lib/strerror_r.c (strerror_r): Fix return type.
12719
12720 2011-01-21  Pádraig Brady  <P@draigBrady.com>
12721             Bruno Haible  <bruno@clisp.org>
12722
12723         uN_strstr: New unit tests.
12724         * modules/unistr/u8-strstr-tests: New file.
12725         * modules/unistr/u16-strstr-tests: New file.
12726         * modules/unistr/u32-strstr-tests: New file.
12727         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
12728         * tests/unistr/test-u8-strstr.c: New file.
12729         * tests/unistr/test-u16-strstr.c: New file.
12730         * tests/unistr/test-u32-strstr.c: New file.
12731
12732 2011-01-21  Pádraig Brady  <P@draigBrady.com>
12733             Bruno Haible  <bruno@clisp.org>
12734
12735         Make uN_strstr functions O(n) worst-case.
12736         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
12737         16-bit and 32-bit unit cases, use the unibyte algorithm from
12738         lib/mbsstr.c.
12739         * lib/unistr/u8-strstr.c: Include <string.h>.
12740         (UNIT_IS_UINT8_T): New macro.
12741         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
12742         (U_STRLEN, U_STRNLEN): New macros.
12743         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
12744         (U_STRLEN, U_STRNLEN): New macros.
12745         * modules/unistr/u8-strstr (Depends-on): Add strstr.
12746         (configure.ac): Update required libunistring version.
12747         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
12748         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
12749         malloca.
12750         (configure.ac): Update required libunistring version.
12751         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
12752         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
12753         malloca.
12754         (configure.ac): Update required libunistring version.
12755
12756 2011-01-21  Pádraig Brady  <P@draigBrady.com>
12757             Bruno Haible  <bruno@clisp.org>
12758
12759         Prepare for faster uN_strstr functions.
12760         * lib/str-kmp.h: Support definable UNITs.
12761         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
12762         needle_len argument.
12763         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
12764         * lib/mbscasestr.c (mbscasestr): Likewise.
12765
12766 2011-01-21  Pádraig Brady <P@draigBrady.com>
12767
12768         malloca-tests: make faster by unsetting MALLOC_PERTURB_
12769         * tests/test-malloca.c (main): Unset the environment variable
12770         to greatly speed up the test.
12771         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
12772         * modules/malloca-tests: Depend on unsetenv.
12773
12774 2011-01-21  Pádraig Brady <P@draigBrady.com>
12775
12776         ignore-value: remove stdint dependency
12777         * lib/ignore-value.h: Remove <stdint.h>
12778         * modules/ignore-value: Remove stdint dependency.
12779
12780 2011-01-21  Jim Meyering  <meyering@redhat.com>
12781
12782         maint.mk: adjust variable name to be consistent with other gl_ vars
12783         * top/maint.mk (gl_public_submodule_commit): Rename the variable
12784         to be lower case.
12785
12786 2011-01-20  Jim Meyering  <meyering@redhat.com>
12787
12788         maint.mk: make "check" depend on public-submodule-commit by default
12789         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
12790
12791 2011-01-20  Bruno Haible  <bruno@clisp.org>
12792
12793         mbfile, mbiter: Complete change from 2008-12-21.
12794         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
12795         * m4/mbiter.m4 (gl_MBITER): Likewise.
12796
12797 2011-01-20  Jim Meyering  <meyering@redhat.com>
12798
12799         init.sh: insert space between each function name and "()"
12800         * tests/init.sh: Make it a little easier to see that a function's
12801         name is "warn_", and not "warn" when looking at the first part of
12802         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
12803
12804 2011-01-20  Jim Meyering  <meyering@redhat.com>
12805
12806         mountlist: clean up code formatting
12807         * lib/mountlist.c (read_file_system_list): Split a long line,
12808         correct bracing style, use NULL in place of "(struct statfs *)0",
12809         don't parenthesize return value, add spaces around "=" and after
12810         ";-in-for-stmt".
12811
12812 2011-01-14  Markus Duft <mduft@gentoo.org>
12813
12814         mountlist: add support for Interix
12815         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
12816         Apply statvfs to all entries of /dev/fs.
12817         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
12818         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
12819
12820 2011-01-20  Jim Meyering  <meyering@redhat.com>
12821
12822         maint.mk: improve the public-submodule-commit rule
12823         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
12824         to suppress printing of its commands... unless V=1.
12825         Add git submodule's --quiet option to suppress printing of e.g.,
12826         "Entering gnulib" output.
12827         "cd" into $(srcdir) before running git submodule.
12828
12829 2011-01-20  Bruno Haible  <bruno@clisp.org>
12830
12831         include_next: Fix bug introduced on 2011-01-18.
12832         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
12833         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
12834         ac_cv_header_... variable if the second argument is not 'check'.
12835         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
12836         gl_NEXT_HEADERS_INTERNAL.
12837
12838 2011-01-20  Bruno Haible  <bruno@clisp.org>
12839
12840         Allow the user to avoid the GNULIB_TEST_* macros.
12841         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
12842         Suggested by Paul Eggert.
12843
12844 2011-01-14  Jim Meyering  <meyering@redhat.com>
12845
12846         bootstrap: avoid failure when there is no .gitmodules file
12847         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
12848         has been assigned to, even when its value is the empty string.
12849         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
12850         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
12851         Reported by John W. Eaton <jwe@gnu.org>.
12852
12853 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12854
12855         assume <ctype.h>, ..., <time.h> exist
12856         For years gnulib has been assuming the existence of the headers
12857         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
12858         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
12859         them, since they don't appear to be needed.
12860         * README (Portability guidelines): Document this.
12861         * lib/flock.c: Assume <fcntl.h> exists.
12862         * lib/regex_internal.h: Assume <locale.h> exists.
12863         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
12864         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
12865         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
12866         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
12867         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
12868         * m4/regex.m4 (gl_REGEX): Likewise.
12869         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
12870         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
12871         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
12872         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
12873         * tests/test-argp.c: Likewise.
12874         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
12875
12876         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
12877         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
12878         AA_APPLE_UNIVERSAL_BUILD.  See
12879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
12880         * NEWS: Document this.
12881
12882 2011-01-19  Eric Blake  <eblake@redhat.com>
12883
12884         c-stack: assume stack overflow if SA_SIGINFO unsupported
12885         * lib/c-stack.c (SIGACTION_WORKS): Rename...
12886         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
12887         sigaction will work.
12888         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
12889         behavior match Linux.
12890         * tests/test-c-stack.c (main): Prefer NULL for pointers.
12891
12892         stdbool-tests: accomodate Haiku
12893         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
12894
12895         binary-io: fix O_TEXT on Haiku
12896         * modules/binary-io (Depends-on): Add fcntl-h.
12897         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
12898         than blindly undefining O_TEXT.
12899         Reported by Scott McCreary.
12900
12901 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12902
12903         include_next: do not check for standard headers like stddef.h
12904
12905         I found this problem when modifying Emacs to use gnulib.
12906         I noticed that it added HAVE_STDDEF_H to config.h, even though
12907         gnulib always assumes <stddef.h> exists as per README and this
12908         symbol is unnecessary.
12909         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
12910         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
12911         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
12912         faster for headers like stddef.h that are known to exist.
12913         (gl_CHECK_NEXT_HEADERS): Use it.
12914         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
12915         rather than gl_CHECK_NEXT_HEADERS.
12916         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
12917         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
12918
12919 2011-01-18  Eric Blake  <eblake@redhat.com>
12920
12921         ansi-c++-opt: skip C++ dependency style if C++ is unused
12922         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
12923         tests when we know C++ compilation is not desired.
12924         Reported by Scott McCreary.
12925
12926 2011-01-18  Bruno Haible  <bruno@clisp.org>
12927
12928         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
12929         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
12930         (main): Perform test also when getrlimit and setrlimit don't exist or
12931         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
12932         limiting the address space size using setrlimit, compare the address
12933         space size before and after the the test.
12934         * tests/test-dprintf-posix2.c: Likewise.
12935         * tests/test-fprintf-posix3.sh: Update skip messages.
12936         * tests/test-dprintf-posix2.sh: Likewise.
12937         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
12938         * modules/dprintf-posix-tests (Depends-on): Likewise.
12939         Reported by Bruce Korb <bkorb@gnu.org> and
12940         Gary V. Vaughan <gary@gnu.org>.
12941
12942 2011-01-18  Bruno Haible  <bruno@clisp.org>
12943
12944         get-rusage-as: Improvement for Cygwin.
12945         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
12946         areas that are merely reserved.
12947
12948 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12949
12950         strftime: remove dependencies on multibyte modules
12951
12952         strftime depended on mbrlen, mbsinit, and wchar, but these modules
12953         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
12954         only if __osf__ is defined, and I suspect OSF doesn't need these
12955         other modules.  If my guess is wrong, we'll need to come up with a
12956         variant of strftime that doesn't need the multibyte modules.
12957
12958         I discovered this problem when attempting modify Emacs to use the
12959         strftime module.  With the previous gnulib, this caused Emacs to
12960         need 31 new files, ranging from lib/config.charset to
12961         m4/wint_t.m4.  This was overkill and I expect would be offputting
12962         to the Emacs maintainers.  After this change, only 6 new files are
12963         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
12964         stdbool.m4, and tm_gmtoff.m4.
12965
12966         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
12967         Suggested by Bruno Haible in
12968         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
12969         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
12970         and do not check for wchar.h.
12971         * modules/strftime (Files): Remove m4/mbstate_t.m4.
12972         (Depends-on): Remove mbrlen, mbsinit, wchar.
12973
12974 2011-01-18  Bruno Haible  <bruno@clisp.org>
12975
12976         Tests for module 'get-rusage-as'.
12977         * modules/get-rusage-as-tests: New file.
12978         * tests/test-get-rusage-as.c: New file.
12979
12980         New module 'get-rusage-as'.
12981         * modules/get-rusage-as: New file.
12982         * lib/resource-ext.h: New file.
12983         * lib/get-rusage-as.c: New file.
12984
12985 2011-01-17  Eric Blake  <eblake@redhat.com>
12986
12987         sigaction: relax license from LGPLv3+ to LGPLv2+
12988         * modules/sigaction (License): Relax to LGPLv2+.
12989
12990 2011-01-14  Bruno Haible  <bruno@clisp.org>
12991
12992         filemode: Make function declarations usable in C++ mode.
12993         * lib/filemode.h: Enclose function declarations in extern "C" block.
12994         Reported by John W. Eaton <jwe@gnu.org>.
12995
12996 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
12997
12998         save-cwd: no longer include "xgetcwd.h"
12999         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
13000         This avoids a compilation failure in projects that use save-cwd
13001         without also using the xgetcwd module.
13002
13003 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
13004
13005         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
13006         This is so that a program like Emacs, which needs only dtoastr,
13007         does not have to bother with distributing and compiling ftoastr
13008         and ldtoastr.
13009         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
13010         * modules/dtoastr, modules/ldtoastr: New files.
13011         * modules/ftoastr: Now works just for 'float'.
13012         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
13013         (Makefile.am): Remove ftoastr.h (not needed and no effect),
13014         dtoastr.c, ldtoastr.c.
13015
13016 2011-01-11  Jim Meyering  <meyering@redhat.com>
13017
13018         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
13019         There is no need to work around the lack of the fchdir function,
13020         since gnulib can now provide a replacement when required.
13021         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
13022         * modules/save-cwd (Depends-on): Add fchdir.
13023
13024 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
13025
13026         openat, save-cwd: avoid xmalloc
13027
13028         This removes a direct (but undocumented) dependency of openat on
13029         xalloc, along with an indirect dependency via save-cwd.  It also
13030         removes a dependency of save-cwd on xgetcwd, and thereby
13031         indirectly on xalloc.  This change causes the openat substitute
13032         to fall back on save_cwd when memory is tight, and for save_cwd to
13033         fail instead of dying when memory is tight, but that's good enough.
13034         Problem and initial idea for fix reported by Bastien Roucaries in
13035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
13036
13037         * lib/openat-proc.c: Include stdlib.h (for malloc), not
13038         xalloc.h (for xmalloc).
13039         (openat_proc_name): Use malloc, not xmalloc.
13040         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
13041         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
13042
13043         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
13044         This avoids heap allocation for file names whose lengths are in
13045         the range 512..1023, with the upper bound increasing to at most
13046         4031 depending on the platform's PATH_MAX.  (We do not want
13047         pathmax.h here as it might supply a non-constant PATH_MAX.)
13048         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
13049         Perhaps they should be moved to malloca.h?
13050         (OPENAT_BUFFER_SIZE): Use them.
13051
13052 2011-01-10  Bruno Haible  <bruno@clisp.org>
13053
13054         doc: Update users.txt.
13055         * users.txt: Add recutils.
13056
13057 2011-01-09  Karl Berry  <karl@gnu.org>
13058
13059         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
13060
13061         * doc/configmake.texi: New file.
13062         * doc/gnulib.texi: Include it.
13063         * modules/configmake: Move documentation from here.
13064
13065 2011-01-09  Bruno Haible  <bruno@clisp.org>
13066
13067         Update to Unicode 6.0.0.
13068         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
13069         (get_lbp): Update for Unicode 6.0.0.
13070         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
13071         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
13072         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
13073         U+11001, U+11038..U+11046. Remove U+06DE.
13074         (uc_width): Fix bounds of planes.
13075         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13076         lib/uniwidth/width.c.
13077         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
13078         trailing whitespace removed.
13079         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
13080         without comments, but with the original copyright notice.
13081         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
13082         * lib/unicase/ignorable.h: Likewise.
13083         * lib/unicase/tocasefold.h: Likewise.
13084         * lib/unicase/tolower.h: Likewise.
13085         * lib/unicase/totitle.h: Likewise.
13086         * lib/unicase/toupper.h: Likewise.
13087         * lib/unictype/bidi_of.h: Likewise.
13088         * lib/unictype/blocks.h: Likewise.
13089         * lib/unictype/categ_C.h: Likewise.
13090         * lib/unictype/categ_Cn.h: Likewise.
13091         * lib/unictype/categ_L.h: Likewise.
13092         * lib/unictype/categ_Ll.h: Likewise.
13093         * lib/unictype/categ_Lm.h: Likewise.
13094         * lib/unictype/categ_Lo.h: Likewise.
13095         * lib/unictype/categ_Lu.h: Likewise.
13096         * lib/unictype/categ_M.h: Likewise.
13097         * lib/unictype/categ_Mc.h: Likewise.
13098         * lib/unictype/categ_Me.h: Likewise.
13099         * lib/unictype/categ_Mn.h: Likewise.
13100         * lib/unictype/categ_N.h: Likewise.
13101         * lib/unictype/categ_Nd.h: Likewise.
13102         * lib/unictype/categ_No.h: Likewise.
13103         * lib/unictype/categ_P.h: Likewise.
13104         * lib/unictype/categ_Po.h: Likewise.
13105         * lib/unictype/categ_S.h: Likewise.
13106         * lib/unictype/categ_Sc.h: Likewise.
13107         * lib/unictype/categ_Sk.h: Likewise.
13108         * lib/unictype/categ_Sm.h: Likewise.
13109         * lib/unictype/categ_So.h: Likewise.
13110         * lib/unictype/categ_of.h: Likewise.
13111         * lib/unictype/combining.h: Likewise.
13112         * lib/unictype/ctype_alnum.h: Likewise.
13113         * lib/unictype/ctype_alpha.h: Likewise.
13114         * lib/unictype/ctype_graph.h: Likewise.
13115         * lib/unictype/ctype_lower.h: Likewise.
13116         * lib/unictype/ctype_print.h: Likewise.
13117         * lib/unictype/ctype_punct.h: Likewise.
13118         * lib/unictype/ctype_upper.h: Likewise.
13119         * lib/unictype/decdigit.h: Likewise.
13120         * lib/unictype/digit.h: Likewise.
13121         * lib/unictype/numeric.h: Likewise.
13122         * lib/unictype/pr_alphabetic.h: Likewise.
13123         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
13124         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
13125         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
13126         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
13127         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
13128         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
13129         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
13130         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
13131         * lib/unictype/pr_case_ignorable.h: Likewise.
13132         * lib/unictype/pr_cased.h: Likewise.
13133         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
13134         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
13135         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
13136         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
13137         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
13138         * lib/unictype/pr_combining.h: Likewise.
13139         * lib/unictype/pr_composite.h: Likewise.
13140         * lib/unictype/pr_currency_symbol.h: Likewise.
13141         * lib/unictype/pr_decimal_digit.h: Likewise.
13142         * lib/unictype/pr_deprecated.h: Likewise.
13143         * lib/unictype/pr_format_control.h: Likewise.
13144         * lib/unictype/pr_grapheme_base.h: Likewise.
13145         * lib/unictype/pr_grapheme_extend.h: Likewise.
13146         * lib/unictype/pr_grapheme_link.h: Likewise.
13147         * lib/unictype/pr_id_continue.h: Likewise.
13148         * lib/unictype/pr_id_start.h: Likewise.
13149         * lib/unictype/pr_ideographic.h: Likewise.
13150         * lib/unictype/pr_lowercase.h: Likewise.
13151         * lib/unictype/pr_math.h: Likewise.
13152         * lib/unictype/pr_numeric.h: Likewise.
13153         * lib/unictype/pr_other_alphabetic.h: Likewise.
13154         * lib/unictype/pr_other_id_continue.h: Likewise.
13155         * lib/unictype/pr_other_math.h: Likewise.
13156         * lib/unictype/pr_punctuation.h: Likewise.
13157         * lib/unictype/pr_sentence_terminal.h: Likewise.
13158         * lib/unictype/pr_terminal_punctuation.h: Likewise.
13159         * lib/unictype/pr_unassigned_code_value.h: Likewise.
13160         * lib/unictype/pr_unified_ideograph.h: Likewise.
13161         * lib/unictype/pr_uppercase.h: Likewise.
13162         * lib/unictype/pr_xid_continue.h: Likewise.
13163         * lib/unictype/pr_xid_start.h: Likewise.
13164         * lib/unictype/scripts.h: Likewise.
13165         * lib/unictype/scripts_byname.gperf: Likewise.
13166         * lib/unictype/sy_java_ident.h: Likewise.
13167         * lib/unigbrk/gbrkprop.h: Likewise.
13168         * lib/unilbrk/lbrkprop1.h: Likewise.
13169         * lib/unilbrk/lbrkprop2.h: Likewise.
13170         * lib/uninorm/decomposition-table2.h: Likewise.
13171         * lib/uniwbrk/wbrkprop.h: Likewise.
13172         * tests/unicase/test-cased.c: Likewise.
13173         * tests/unicase/test-ignorable.c: Likewise.
13174         * tests/unicase/test-uc_tolower.c: Likewise.
13175         * tests/unicase/test-uc_totitle.c: Likewise.
13176         * tests/unicase/test-uc_toupper.c: Likewise.
13177         * tests/unictype/test-categ_C.c: Likewise.
13178         * tests/unictype/test-categ_Cn.c: Likewise.
13179         * tests/unictype/test-categ_L.c: Likewise.
13180         * tests/unictype/test-categ_Ll.c: Likewise.
13181         * tests/unictype/test-categ_Lm.c: Likewise.
13182         * tests/unictype/test-categ_Lo.c: Likewise.
13183         * tests/unictype/test-categ_Lu.c: Likewise.
13184         * tests/unictype/test-categ_M.c: Likewise.
13185         * tests/unictype/test-categ_Mc.c: Likewise.
13186         * tests/unictype/test-categ_Me.c: Likewise.
13187         * tests/unictype/test-categ_Mn.c: Likewise.
13188         * tests/unictype/test-categ_N.c: Likewise.
13189         * tests/unictype/test-categ_Nd.c: Likewise.
13190         * tests/unictype/test-categ_No.c: Likewise.
13191         * tests/unictype/test-categ_P.c: Likewise.
13192         * tests/unictype/test-categ_Po.c: Likewise.
13193         * tests/unictype/test-categ_S.c: Likewise.
13194         * tests/unictype/test-categ_Sc.c: Likewise.
13195         * tests/unictype/test-categ_Sk.c: Likewise.
13196         * tests/unictype/test-categ_Sm.c: Likewise.
13197         * tests/unictype/test-categ_So.c: Likewise.
13198         * tests/unictype/test-ctype_alnum.c: Likewise.
13199         * tests/unictype/test-ctype_alpha.c: Likewise.
13200         * tests/unictype/test-ctype_graph.c: Likewise.
13201         * tests/unictype/test-ctype_lower.c: Likewise.
13202         * tests/unictype/test-ctype_print.c: Likewise.
13203         * tests/unictype/test-ctype_punct.c: Likewise.
13204         * tests/unictype/test-ctype_upper.c: Likewise.
13205         * tests/unictype/test-decdigit.h: Likewise.
13206         * tests/unictype/test-digit.h: Likewise.
13207         * tests/unictype/test-numeric.h: Likewise.
13208         * tests/unictype/test-pr_alphabetic.c: Likewise.
13209         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
13210         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
13211         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
13212         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
13213         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
13214         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
13215         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
13216         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
13217         * tests/unictype/test-pr_case_ignorable.c: Likewise.
13218         * tests/unictype/test-pr_cased.c: Likewise.
13219         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
13220         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
13221         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
13222         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
13223         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
13224         * tests/unictype/test-pr_combining.c: Likewise.
13225         * tests/unictype/test-pr_composite.c: Likewise.
13226         * tests/unictype/test-pr_currency_symbol.c: Likewise.
13227         * tests/unictype/test-pr_decimal_digit.c: Likewise.
13228         * tests/unictype/test-pr_deprecated.c: Likewise.
13229         * tests/unictype/test-pr_format_control.c: Likewise.
13230         * tests/unictype/test-pr_grapheme_base.c: Likewise.
13231         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
13232         * tests/unictype/test-pr_grapheme_link.c: Likewise.
13233         * tests/unictype/test-pr_id_continue.c: Likewise.
13234         * tests/unictype/test-pr_id_start.c: Likewise.
13235         * tests/unictype/test-pr_ideographic.c: Likewise.
13236         * tests/unictype/test-pr_lowercase.c: Likewise.
13237         * tests/unictype/test-pr_math.c: Likewise.
13238         * tests/unictype/test-pr_numeric.c: Likewise.
13239         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
13240         * tests/unictype/test-pr_other_id_continue.c: Likewise.
13241         * tests/unictype/test-pr_other_math.c: Likewise.
13242         * tests/unictype/test-pr_punctuation.c: Likewise.
13243         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
13244         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
13245         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
13246         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
13247         * tests/unictype/test-pr_uppercase.c: Likewise.
13248         * tests/unictype/test-pr_xid_continue.c: Likewise.
13249         * tests/unictype/test-pr_xid_start.c: Likewise.
13250         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
13251         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
13252         changes.
13253         * lib/unictype/categ_Cc.h: Likewise.
13254         * lib/unictype/categ_Cf.h: Likewise.
13255         * lib/unictype/categ_Co.h: Likewise.
13256         * lib/unictype/categ_Cs.h: Likewise.
13257         * lib/unictype/categ_Lt.h: Likewise.
13258         * lib/unictype/categ_Nl.h: Likewise.
13259         * lib/unictype/categ_Pc.h: Likewise.
13260         * lib/unictype/categ_Pd.h: Likewise.
13261         * lib/unictype/categ_Pe.h: Likewise.
13262         * lib/unictype/categ_Pf.h: Likewise.
13263         * lib/unictype/categ_Pi.h: Likewise.
13264         * lib/unictype/categ_Ps.h: Likewise.
13265         * lib/unictype/categ_Z.h: Likewise.
13266         * lib/unictype/categ_Zl.h: Likewise.
13267         * lib/unictype/categ_Zp.h: Likewise.
13268         * lib/unictype/categ_Zs.h: Likewise.
13269         * lib/unictype/ctype_blank.h: Likewise.
13270         * lib/unictype/ctype_cntrl.h: Likewise.
13271         * lib/unictype/ctype_digit.h: Likewise.
13272         * lib/unictype/ctype_space.h: Likewise.
13273         * lib/unictype/ctype_xdigit.h: Likewise.
13274         * lib/unictype/mirror.h: Likewise.
13275         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
13276         * lib/unictype/pr_bidi_block_separator.h: Likewise.
13277         * lib/unictype/pr_bidi_common_separator.h: Likewise.
13278         * lib/unictype/pr_bidi_control.h: Likewise.
13279         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
13280         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
13281         * lib/unictype/pr_bidi_european_digit.h: Likewise.
13282         * lib/unictype/pr_bidi_pdf.h: Likewise.
13283         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
13284         * lib/unictype/pr_bidi_whitespace.h: Likewise.
13285         * lib/unictype/pr_dash.h: Likewise.
13286         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
13287         * lib/unictype/pr_diacritic.h: Likewise.
13288         * lib/unictype/pr_extender.h: Likewise.
13289         * lib/unictype/pr_hex_digit.h: Likewise.
13290         * lib/unictype/pr_hyphen.h: Likewise.
13291         * lib/unictype/pr_ids_binary_operator.h: Likewise.
13292         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
13293         * lib/unictype/pr_ignorable_control.h: Likewise.
13294         * lib/unictype/pr_iso_control.h: Likewise.
13295         * lib/unictype/pr_join_control.h: Likewise.
13296         * lib/unictype/pr_left_of_pair.h: Likewise.
13297         * lib/unictype/pr_line_separator.h: Likewise.
13298         * lib/unictype/pr_logical_order_exception.h: Likewise.
13299         * lib/unictype/pr_non_break.h: Likewise.
13300         * lib/unictype/pr_not_a_character.h: Likewise.
13301         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
13302         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
13303         * lib/unictype/pr_other_id_start.h: Likewise.
13304         * lib/unictype/pr_other_lowercase.h: Likewise.
13305         * lib/unictype/pr_other_uppercase.h: Likewise.
13306         * lib/unictype/pr_paired_punctuation.h: Likewise.
13307         * lib/unictype/pr_paragraph_separator.h: Likewise.
13308         * lib/unictype/pr_pattern_syntax.h: Likewise.
13309         * lib/unictype/pr_pattern_white_space.h: Likewise.
13310         * lib/unictype/pr_private_use.h: Likewise.
13311         * lib/unictype/pr_quotation_mark.h: Likewise.
13312         * lib/unictype/pr_radical.h: Likewise.
13313         * lib/unictype/pr_soft_dotted.h: Likewise.
13314         * lib/unictype/pr_space.h: Likewise.
13315         * lib/unictype/pr_titlecase.h: Likewise.
13316         * lib/unictype/pr_variation_selector.h: Likewise.
13317         * lib/unictype/pr_white_space.h: Likewise.
13318         * lib/unictype/pr_zero_width.h: Likewise.
13319         * lib/unictype/sy_c_ident.h: Likewise.
13320         * lib/unictype/sy_c_whitespace.h: Likewise.
13321         * lib/unictype/sy_java_whitespace.h: Likewise.
13322         * lib/uninorm/composition-table.gperf: Likewise.
13323         * lib/uninorm/decomposition-table1.h: Likewise.
13324         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
13325         LB8.
13326         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
13327         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
13328         * modules/unictype/*: Bump version number of expected libunistring
13329         version.
13330
13331 2011-01-09  Bruno Haible  <bruno@clisp.org>
13332
13333         Update to Unicode 5.2.0.
13334         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
13335         trailing whitespace removed.
13336
13337 2011-01-09  Bruno Haible  <bruno@clisp.org>
13338
13339         New Unicode character properties, from Unicode 5.2.0.
13340         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
13341         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
13342         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
13343         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
13344         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
13345         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
13346         uc_is_property_cased, uc_is_property_case_ignorable,
13347         uc_is_property_changes_when_lowercased,
13348         uc_is_property_changes_when_uppercased,
13349         uc_is_property_changes_when_titlecased,
13350         uc_is_property_changes_when_casefolded,
13351         uc_is_property_changes_when_casemapped): New declarations.
13352         * lib/unictype/pr_byname.gperf: Add the new properties.
13353         * modules/unictype/property-byname (Depends-on): Depend on the new
13354         properties modules.
13355         * modules/unictype/property-all (Depends-on): Likewise.
13356         * MODULES.html.sh (Unicode string functions): Add
13357         unictype/property-case-ignorable, unictype/property-cased,
13358         unictype/property-changes-when-casefolded,
13359         unictype/property-changes-when-casemapped,
13360         unictype/property-changes-when-lowercased,
13361         unictype/property-changes-when-titlecased,
13362         unictype/property-changes-when-uppercased.
13363
13364         New module 'unictype/property-changes-when-casemapped'.
13365         * modules/unictype/property-changes-when-casemapped: New file.
13366         * lib/unictype/pr_changes_when_casemapped.c: New file.
13367         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
13368         generated by gen-uni-tables.
13369         * modules/unictype/property-changes-when-casemapped-tests: New file.
13370         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
13371         automatically generated by gen-uni-tables.
13372
13373         New module 'unictype/property-changes-when-casefolded'.
13374         * modules/unictype/property-changes-when-casefolded: New file.
13375         * lib/unictype/pr_changes_when_casefolded.c: New file.
13376         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
13377         generated by gen-uni-tables.
13378         * modules/unictype/property-changes-when-casefolded-tests: New file.
13379         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
13380         automatically generated by gen-uni-tables.
13381
13382         New module 'unictype/property-changes-when-titlecased'.
13383         * modules/unictype/property-changes-when-titlecased: New file.
13384         * lib/unictype/pr_changes_when_titlecased.c: New file.
13385         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
13386         generated by gen-uni-tables.
13387         * modules/unictype/property-changes-when-titlecased-tests: New file.
13388         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
13389         automatically generated by gen-uni-tables.
13390
13391         New module 'unictype/property-changes-when-uppercased'.
13392         * modules/unictype/property-changes-when-uppercased: New file.
13393         * lib/unictype/pr_changes_when_uppercased.c: New file.
13394         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
13395         generated by gen-uni-tables.
13396         * modules/unictype/property-changes-when-uppercased-tests: New file.
13397         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
13398         automatically generated by gen-uni-tables.
13399
13400         New module 'unictype/property-changes-when-lowercased'.
13401         * modules/unictype/property-changes-when-lowercased: New file.
13402         * lib/unictype/pr_changes_when_lowercased.c: New file.
13403         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
13404         generated by gen-uni-tables.
13405         * modules/unictype/property-changes-when-lowercased-tests: New file.
13406         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
13407         automatically generated by gen-uni-tables.
13408
13409         New module 'unictype/property-case-ignorable'.
13410         * modules/unictype/property-case-ignorable: New file.
13411         * lib/unictype/pr_case_ignorable.c: New file.
13412         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
13413         by gen-uni-tables.
13414         * modules/unictype/property-case-ignorable-tests: New file.
13415         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
13416         generated by gen-uni-tables.
13417
13418         New module 'unictype/property-cased'.
13419         * modules/unictype/property-cased: New file.
13420         * lib/unictype/pr_cased.c: New file.
13421         * lib/unictype/pr_cased.h: New file, automatically generated by
13422         gen-uni-tables.
13423         * modules/unictype/property-cased-tests: New file.
13424         * tests/unictype/test-pr_cased.c: New file, automatically generated by
13425         gen-uni-tables.
13426
13427 2011-01-09  Bruno Haible  <bruno@clisp.org>
13428
13429         Update to Unicode 5.2.0.
13430         * lib/gen-uni-tables.c (output_predicate, output_category,
13431         output_combclass, output_bidi_category, output_decimal_digit_test,
13432         output_decimal_digit, output_digit_test, output_digit,
13433         output_numeric_test, output_numeric, output_mirror, output_scripts,
13434         output_scripts_byname, output_blocks, output_ident_category): Fix
13435         comment header.
13436         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
13437         get_wbp.
13438         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
13439         items.
13440         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
13441         Changes_When_Lowercased, Changes_When_Uppercased,
13442         Changes_When_Titlecased, Changes_When_Casefolded,
13443         Changes_When_Casemapped.
13444         (is_property_alphabetic, is_property_default_ignorable_code_point):
13445         Update for Unicode 5.2.0.
13446         (is_property_cased, is_property_case_ignorable,
13447         is_property_changes_when_lowercased,
13448         is_property_changes_when_uppercased,
13449         is_property_changes_when_titlecased,
13450         is_property_changes_when_casefolded,
13451         is_property_changes_when_casemapped): New functions.
13452         (output_properties): Output also the properties cased, case_ignorable,
13453         changes_when_lowercased, changes_when_uppercased,
13454         changes_when_titlecased, changes_when_casefolded,
13455         changes_when_casemapped.
13456         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
13457         Unicode TR#11 revision 17 -> 19.
13458         (LBP_CP): New enumeration value.
13459         (LBP_*): Adjust values accordingly.
13460         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
13461         TR#14 revision 22 -> 24.
13462         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
13463         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
13464         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
13465         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
13466         is_WBP_MIDLETTER.
13467         (output_composition_tables): Allow for 24 bits instead of 16 bits in
13468         the code1 and code2 of each composition rule.
13469         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
13470         * lib/unicase/ignorable.h: Likewise.
13471         * lib/unicase/tocasefold.h: Likewise.
13472         * lib/unicase/tolower.h: Likewise.
13473         * lib/unicase/totitle.h: Likewise.
13474         * lib/unicase/toupper.h: Likewise.
13475         * lib/unictype/bidi_of.h: Likewise.
13476         * lib/unictype/blocks.h: Likewise.
13477         * lib/unictype/categ_C.h: Likewise.
13478         * lib/unictype/categ_Cf.h: Likewise.
13479         * lib/unictype/categ_Cn.h: Likewise.
13480         * lib/unictype/categ_L.h: Likewise.
13481         * lib/unictype/categ_Ll.h: Likewise.
13482         * lib/unictype/categ_Lm.h: Likewise.
13483         * lib/unictype/categ_Lo.h: Likewise.
13484         * lib/unictype/categ_Lu.h: Likewise.
13485         * lib/unictype/categ_M.h: Likewise.
13486         * lib/unictype/categ_Mc.h: Likewise.
13487         * lib/unictype/categ_Mn.h: Likewise.
13488         * lib/unictype/categ_N.h: Likewise.
13489         * lib/unictype/categ_Nd.h: Likewise.
13490         * lib/unictype/categ_Nl.h: Likewise.
13491         * lib/unictype/categ_No.h: Likewise.
13492         * lib/unictype/categ_P.h: Likewise.
13493         * lib/unictype/categ_Pd.h: Likewise.
13494         * lib/unictype/categ_Po.h: Likewise.
13495         * lib/unictype/categ_S.h: Likewise.
13496         * lib/unictype/categ_Sc.h: Likewise.
13497         * lib/unictype/categ_So.h: Likewise.
13498         * lib/unictype/categ_of.h: Likewise.
13499         * lib/unictype/combining.h: Likewise.
13500         * lib/unictype/ctype_alnum.h: Likewise.
13501         * lib/unictype/ctype_alpha.h: Likewise.
13502         * lib/unictype/ctype_graph.h: Likewise.
13503         * lib/unictype/ctype_lower.h: Likewise.
13504         * lib/unictype/ctype_print.h: Likewise.
13505         * lib/unictype/ctype_punct.h: Likewise.
13506         * lib/unictype/ctype_upper.h: Likewise.
13507         * lib/unictype/decdigit.h: Likewise.
13508         * lib/unictype/digit.h: Likewise.
13509         * lib/unictype/numeric.h: Likewise.
13510         * lib/unictype/pr_alphabetic.h: Likewise.
13511         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
13512         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
13513         * lib/unictype/pr_bidi_european_digit.h: Likewise.
13514         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
13515         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
13516         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
13517         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
13518         * lib/unictype/pr_combining.h: Likewise.
13519         * lib/unictype/pr_composite.h: Likewise.
13520         * lib/unictype/pr_currency_symbol.h: Likewise.
13521         * lib/unictype/pr_dash.h: Likewise.
13522         * lib/unictype/pr_decimal_digit.h: Likewise.
13523         * lib/unictype/pr_deprecated.h: Likewise.
13524         * lib/unictype/pr_diacritic.h: Likewise.
13525         * lib/unictype/pr_extender.h: Likewise.
13526         * lib/unictype/pr_grapheme_base.h: Likewise.
13527         * lib/unictype/pr_grapheme_extend.h: Likewise.
13528         * lib/unictype/pr_grapheme_link.h: Likewise.
13529         * lib/unictype/pr_id_continue.h: Likewise.
13530         * lib/unictype/pr_id_start.h: Likewise.
13531         * lib/unictype/pr_ideographic.h: Likewise.
13532         * lib/unictype/pr_ignorable_control.h: Likewise.
13533         * lib/unictype/pr_logical_order_exception.h: Likewise.
13534         * lib/unictype/pr_lowercase.h: Likewise.
13535         * lib/unictype/pr_numeric.h: Likewise.
13536         * lib/unictype/pr_other_alphabetic.h: Likewise.
13537         * lib/unictype/pr_punctuation.h: Likewise.
13538         * lib/unictype/pr_sentence_terminal.h: Likewise.
13539         * lib/unictype/pr_terminal_punctuation.h: Likewise.
13540         * lib/unictype/pr_unassigned_code_value.h: Likewise.
13541         * lib/unictype/pr_unified_ideograph.h: Likewise.
13542         * lib/unictype/pr_uppercase.h: Likewise.
13543         * lib/unictype/pr_xid_continue.h: Likewise.
13544         * lib/unictype/pr_xid_start.h: Likewise.
13545         * lib/unictype/pr_zero_width.h: Likewise.
13546         * lib/unictype/scripts.h: Likewise.
13547         * lib/unictype/scripts_byname.gperf: Likewise.
13548         * lib/unictype/sy_java_ident.h: Likewise.
13549         * lib/unigbrk/gbrkprop.h: Likewise.
13550         * lib/unilbrk/lbrkprop1.h: Likewise.
13551         * lib/unilbrk/lbrkprop2.h: Likewise.
13552         * lib/unilbrk/lbrktables.h: Likewise.
13553         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
13554         LBP_CP. Implement rule LB30.
13555         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
13556         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
13557         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
13558         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
13559         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
13560         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
13561         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
13562         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
13563         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
13564         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
13565         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
13566         bits instead of 16 bits in the code1 and code2 of each composition
13567         rule.
13568         (uc_composition): Update for Unicode 5.2.0.
13569         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
13570         * lib/uninorm/decomposition-table2.h: Likewise.
13571         * lib/uniwbrk/wbrkprop.h: Likewise.
13572         * tests/unicase/test-cased.c: Likewise.
13573         * tests/unicase/test-ignorable.c: Likewise.
13574         * tests/unicase/test-uc_tolower.c: Likewise.
13575         * tests/unicase/test-uc_totitle.c: Likewise.
13576         * tests/unicase/test-uc_toupper.c: Likewise.
13577         * tests/unictype/test-categ_C.c: Likewise.
13578         * tests/unictype/test-categ_Cf.c: Likewise.
13579         * tests/unictype/test-categ_Cn.c: Likewise.
13580         * tests/unictype/test-categ_L.c: Likewise.
13581         * tests/unictype/test-categ_Ll.c: Likewise.
13582         * tests/unictype/test-categ_Lm.c: Likewise.
13583         * tests/unictype/test-categ_Lo.c: Likewise.
13584         * tests/unictype/test-categ_Lu.c: Likewise.
13585         * tests/unictype/test-categ_M.c: Likewise.
13586         * tests/unictype/test-categ_Mc.c: Likewise.
13587         * tests/unictype/test-categ_Mn.c: Likewise.
13588         * tests/unictype/test-categ_N.c: Likewise.
13589         * tests/unictype/test-categ_Nd.c: Likewise.
13590         * tests/unictype/test-categ_Nl.c: Likewise.
13591         * tests/unictype/test-categ_No.c: Likewise.
13592         * tests/unictype/test-categ_P.c: Likewise.
13593         * tests/unictype/test-categ_Pd.c: Likewise.
13594         * tests/unictype/test-categ_Po.c: Likewise.
13595         * tests/unictype/test-categ_S.c: Likewise.
13596         * tests/unictype/test-categ_Sc.c: Likewise.
13597         * tests/unictype/test-categ_So.c: Likewise.
13598         * tests/unictype/test-ctype_alnum.c: Likewise.
13599         * tests/unictype/test-ctype_alpha.c: Likewise.
13600         * tests/unictype/test-ctype_graph.c: Likewise.
13601         * tests/unictype/test-ctype_lower.c: Likewise.
13602         * tests/unictype/test-ctype_print.c: Likewise.
13603         * tests/unictype/test-ctype_punct.c: Likewise.
13604         * tests/unictype/test-ctype_upper.c: Likewise.
13605         * tests/unictype/test-decdigit.h: Likewise.
13606         * tests/unictype/test-digit.h: Likewise.
13607         * tests/unictype/test-numeric.h: Likewise.
13608         * tests/unictype/test-pr_alphabetic.c: Likewise.
13609         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
13610         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
13611         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
13612         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
13613         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
13614         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
13615         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
13616         * tests/unictype/test-pr_combining.c: Likewise.
13617         * tests/unictype/test-pr_composite.c: Likewise.
13618         * tests/unictype/test-pr_currency_symbol.c: Likewise.
13619         * tests/unictype/test-pr_dash.c: Likewise.
13620         * tests/unictype/test-pr_decimal_digit.c: Likewise.
13621         * tests/unictype/test-pr_deprecated.c: Likewise.
13622         * tests/unictype/test-pr_diacritic.c: Likewise.
13623         * tests/unictype/test-pr_extender.c: Likewise.
13624         * tests/unictype/test-pr_grapheme_base.c: Likewise.
13625         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
13626         * tests/unictype/test-pr_grapheme_link.c: Likewise.
13627         * tests/unictype/test-pr_id_continue.c: Likewise.
13628         * tests/unictype/test-pr_id_start.c: Likewise.
13629         * tests/unictype/test-pr_ideographic.c: Likewise.
13630         * tests/unictype/test-pr_ignorable_control.c: Likewise.
13631         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
13632         * tests/unictype/test-pr_lowercase.c: Likewise.
13633         * tests/unictype/test-pr_numeric.c: Likewise.
13634         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
13635         * tests/unictype/test-pr_punctuation.c: Likewise.
13636         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
13637         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
13638         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
13639         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
13640         * tests/unictype/test-pr_uppercase.c: Likewise.
13641         * tests/unictype/test-pr_xid_continue.c: Likewise.
13642         * tests/unictype/test-pr_xid_start.c: Likewise.
13643         * tests/unictype/test-pr_zero_width.c: Likewise.
13644         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
13645         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
13646         changed behaviour: line breaking is now disallowed between a letter
13647         or '=' and '('.
13648         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
13649         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
13650         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
13651         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
13652         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13653         lib/uniwidth/width.c.
13654         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
13655         without comments, but with the original copyright notice.
13656         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
13657         changes.
13658         * lib/unictype/categ_Cc.h: Likewise.
13659         * lib/unictype/categ_Co.h: Likewise.
13660         * lib/unictype/categ_Cs.h: Likewise.
13661         * lib/unictype/categ_Lt.h: Likewise.
13662         * lib/unictype/categ_Me.h: Likewise.
13663         * lib/unictype/categ_Pc.h: Likewise.
13664         * lib/unictype/categ_Pe.h: Likewise.
13665         * lib/unictype/categ_Pf.h: Likewise.
13666         * lib/unictype/categ_Pi.h: Likewise.
13667         * lib/unictype/categ_Ps.h: Likewise.
13668         * lib/unictype/categ_Sk.h: Likewise.
13669         * lib/unictype/categ_Sm.h: Likewise.
13670         * lib/unictype/categ_Z.h: Likewise.
13671         * lib/unictype/categ_Zl.h: Likewise.
13672         * lib/unictype/categ_Zp.h: Likewise.
13673         * lib/unictype/categ_Zs.h: Likewise.
13674         * lib/unictype/ctype_blank.h: Likewise.
13675         * lib/unictype/ctype_cntrl.h: Likewise.
13676         * lib/unictype/ctype_digit.h: Likewise.
13677         * lib/unictype/ctype_space.h: Likewise.
13678         * lib/unictype/ctype_xdigit.h: Likewise.
13679         * lib/unictype/mirror.h: Likewise.
13680         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
13681         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
13682         * lib/unictype/pr_bidi_block_separator.h: Likewise.
13683         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
13684         * lib/unictype/pr_bidi_common_separator.h: Likewise.
13685         * lib/unictype/pr_bidi_control.h: Likewise.
13686         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
13687         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
13688         * lib/unictype/pr_bidi_pdf.h: Likewise.
13689         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
13690         * lib/unictype/pr_bidi_whitespace.h: Likewise.
13691         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
13692         * lib/unictype/pr_format_control.h: Likewise.
13693         * lib/unictype/pr_hex_digit.h: Likewise.
13694         * lib/unictype/pr_hyphen.h: Likewise.
13695         * lib/unictype/pr_ids_binary_operator.h: Likewise.
13696         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
13697         * lib/unictype/pr_iso_control.h: Likewise.
13698         * lib/unictype/pr_join_control.h: Likewise.
13699         * lib/unictype/pr_left_of_pair.h: Likewise.
13700         * lib/unictype/pr_line_separator.h: Likewise.
13701         * lib/unictype/pr_math.h: Likewise.
13702         * lib/unictype/pr_non_break.h: Likewise.
13703         * lib/unictype/pr_not_a_character.h: Likewise.
13704         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
13705         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
13706         * lib/unictype/pr_other_id_continue.h: Likewise.
13707         * lib/unictype/pr_other_id_start.h: Likewise.
13708         * lib/unictype/pr_other_lowercase.h: Likewise.
13709         * lib/unictype/pr_other_math.h: Likewise.
13710         * lib/unictype/pr_other_uppercase.h: Likewise.
13711         * lib/unictype/pr_paired_punctuation.h: Likewise.
13712         * lib/unictype/pr_paragraph_separator.h: Likewise.
13713         * lib/unictype/pr_pattern_syntax.h: Likewise.
13714         * lib/unictype/pr_pattern_white_space.h: Likewise.
13715         * lib/unictype/pr_private_use.h: Likewise.
13716         * lib/unictype/pr_quotation_mark.h: Likewise.
13717         * lib/unictype/pr_radical.h: Likewise.
13718         * lib/unictype/pr_soft_dotted.h: Likewise.
13719         * lib/unictype/pr_space.h: Likewise.
13720         * lib/unictype/pr_titlecase.h: Likewise.
13721         * lib/unictype/pr_variation_selector.h: Likewise.
13722         * lib/unictype/pr_white_space.h: Likewise.
13723         * lib/unictype/sy_c_ident.h: Likewise.
13724         * lib/unictype/sy_c_whitespace.h: Likewise.
13725         * lib/unictype/sy_java_whitespace.h: Likewise.
13726         * modules/uni*/*: Bump version number of expected libunistring version.
13727         Reported by Simon Josefsson.
13728
13729 2011-01-09  Karl Heuer  <kwzh@gnu.org>
13730
13731         useless-if-before-free: fix typo in --help and make the internal,
13732         automatic version date update process work once again.
13733         --help output contained a NUL character instead of the
13734         backslash-zero that was intended.  Also, the "must lie within
13735         the first 8 lines" line is on line 9, and hence not getting
13736         automatically updated.
13737         * build-aux/useless-if-before-free: Fix the former by adding a
13738         backslash, and the latter by condensing the three lines of what-it-does
13739         to a single line, leaving one line of slack for the future.
13740
13741 2011-01-09  Bruno Haible  <bruno@clisp.org>
13742
13743         uniwidth/width: Fix width of U+1D173..U+1D17A.
13744         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
13745         symbolic_width, output_width_property_test): New functions.
13746         (main): Invoke output_nonspacing_property, output_width_property_test.
13747         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
13748         U+1D173..U+1D17A.
13749         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
13750         1.
13751         * modules/uniwidth/*: Bump version number of expected libunistring
13752         version.
13753         * modules/unilbrk/*: Likewise.
13754
13755 2011-01-08  Bruno Haible  <bruno@clisp.org>
13756
13757         uninorm tests: Preserve copyright of Unicode data file.
13758         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
13759         Mention modifications.
13760
13761 2011-01-08  Bruno Haible  <bruno@clisp.org>
13762
13763         gen-uni-tables: Prepare for Unicode 5.2.0.
13764         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
13765         (debug_output_lbp, output_lbp): Update.
13766
13767 2011-01-08  Bruno Haible  <bruno@clisp.org>
13768
13769         unilbrk: Clarify gen-uni-tables.c code.
13770         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
13771         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
13772         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
13773
13774 2011-01-07  Bruno Haible  <bruno@clisp.org>
13775
13776         strtod: Restore errno when successfully parsing Infinity or NaN.
13777         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
13778         restore the original errno.
13779
13780 2011-01-07  Bruno Haible  <bruno@clisp.org>
13781
13782         remove test: Avoid failure on HP-UX 11.
13783         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
13784
13785 2011-01-07  Bruno Haible  <bruno@clisp.org>
13786
13787         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
13788         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
13789         error code.
13790
13791 2011-01-07  Pádraig Brady <P@draigBrady.com>
13792
13793         ignore-value: fixup comments, and add Eric Blake
13794         as an author since he rewrote the macros.
13795         * lib/ignore-value.h (ignore_value):  State that
13796         we now support aggregates.  Also specify exactly
13797         when the GCC warn_unused_result feature was added.
13798
13799 2011-01-06  Eric Blake  <eblake@redhat.com>
13800
13801         ignore-value: support aggregate types
13802         * lib/ignore-value.h (ignore_value): Provide separate gcc
13803         definition.
13804         * modules/ignore-value-tests: New test module.
13805         * tests/test-ignore-value.c: New test.
13806
13807         maint.mk: improve sc_prohibit_strcmp regex
13808         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
13809         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
13810         definition of STRNEQ.
13811
13812         signal: work around Haiku issue with SIGBUS
13813         * lib/siglist.h: Add comment.
13814         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
13815         strsignal's favoring of SIGSEGV.
13816         * tests/test-signal.c (main): Avoid test failure.
13817         * doc/posix-headers/signal.texi (signal.h): Document the issue.
13818         Reported by Scott McCreary.
13819
13820         maint.mk: add pre-release check to ensure submodule commits are public
13821         * top/maint.mk (public-submodule-commit): New rule.
13822         (submodule-checks): New variable.
13823         (alpha beta stable): Depend on the variable.
13824
13825 2011-01-05  Pádraig Brady <P@draigBrady.com>
13826         and Jim Meyering  <meyering@redhat.com>
13827
13828         ignore-value: make ignore_value more generic; deprecate ignore_ptr
13829         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
13830         (ATTRIBUTE_DEPRECATED): Define.
13831         (_ignore_case): New function.
13832         (ignore_value): New macro, to replace the old function.
13833         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
13834         * modules/ignore-value (Depends-on): Add stdint.
13835
13836 2011-01-04  Eric Blake  <eblake@redhat.com>
13837
13838         doc: regenerate INSTALL
13839         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
13840         @firstparagraphindent support, now that autoconf dropped it.
13841         (INSTALL_PRELUDE): Reinstate old macro.
13842         * doc/install.texi: Resync from autoconf.
13843         * doc/INSTALL: Reflect recent autoconf update.
13844         * doc/INSTALL.ISO: Likewise.
13845         * doc/INSTALL.UTF-8: Likewise.
13846         Reported by Karl Berry.
13847
13848 2011-01-04  Bruce Korb  <address@hidden>
13849
13850         git-version-gen: avoid a sub-shell
13851         * build-aux/git-version-gen: Redirect stderr in `...` via
13852         "exec 2>...", rather than via an added sub-shell.
13853
13854 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
13855
13856         git-version-gen: use (...) rather than sh -c '...'
13857         * build-aux/git-version-gen: Rather than hard-coding a shell's name
13858         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
13859
13860 2011-01-03  Jim Meyering  <meyering@redhat.com>
13861
13862         git-version-gen: convert leading TABs to spaces
13863         * build-aux/git-version-gen: Expand leading TABs.
13864
13865         git-version-gen: handle failed "git rev-list"
13866         * build-aux/git-version-gen: Rather than leaking a "fatal" error
13867         from git and proceeding as if it had succeeded but printed no SHA1
13868         checksums, suppress the diagnostic and handle the failure.
13869         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
13870
13871         git-version-gen: include command name in one more diagnostic
13872         * build-aux/git-version-gen: When the required .tarball-version file
13873         was missing or unreadable, you might see the diagnostic from "cat",
13874         but no trace of the name of the invoking script.  Now, you still see
13875         the diagnostic from cat, but also get one from "git-version-gen: ".
13876         Inspired by a patch from Bruce Korb.
13877
13878         update-copyright: adjust test to match changed code
13879         * tests/test-update-copyright.sh: Change test's expected output
13880         to match new actual output.
13881
13882 2011-01-02  Bruno Haible  <bruno@clisp.org>
13883
13884         getlogin_r: Avoid test failure on HP-UX 11.
13885         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
13886         ERANGE when the second argument is zero.
13887         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
13888         portability problem.
13889
13890 2011-01-02  Bruce Korb  <bkorb@gnu.org>
13891
13892         * build-aux/update-copyright: doc Simon's changes
13893
13894 2011-01-02  Simon Josefsson  <simon@josefsson.org>
13895
13896         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
13897         environment variable.
13898
13899 2011-01-02  Bruno Haible  <bruno@clisp.org>
13900
13901         unigbrk: Avoid gcc warnings.
13902         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
13903         unused variable.
13904         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
13905         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
13906         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
13907         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
13908         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
13909         Change type of first argument to 'const char *'.
13910         (main): Remove unused variable.
13911         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
13912         type of first argument to 'const char *'.
13913         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
13914         Likewise.
13915         (main): Change type of variable 's'.
13916         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
13917         to 'int'.
13918
13919 2011-01-02  Bruno Haible  <bruno@clisp.org>
13920
13921         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
13922         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
13923         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
13924         bug.
13925         * lib/pwrite.c: Undo 2010-12-31 patch.
13926         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
13927
13928 2011-01-02  Bruno Haible  <bruno@clisp.org>
13929
13930         pread: Fix test whether it works.
13931         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
13932
13933 2011-01-02  Bruno Haible  <bruno@clisp.org>
13934
13935         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
13936         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
13937         ends in "6". Don't require a specific month name. Try also the locale
13938         names found on HP-UX 11 and Solaris 7.
13939
13940 2011-01-02  Bruno Haible  <bruno@clisp.org>
13941
13942         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
13943         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
13944         C linkage.
13945         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
13946
13947 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13948
13949         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
13950         for consistency, since the "cluster" term is not used elsewhere.
13951         * lib/unigbrk.in.h: Update name.
13952         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
13953         * lib/unigbrk/u16-grapheme-next.c: Update name.
13954         * lib/unigbrk/u16-grapheme-prev.c: Update name.
13955         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
13956         * lib/unigbrk/u32-grapheme-next.c: Update name.
13957         * lib/unigbrk/u32-grapheme-prev.c: Update name.
13958         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
13959         * lib/unigbrk/u8-grapheme-next.c: Update name.
13960         * lib/unigbrk/u8-grapheme-prev.c: Update name.
13961         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
13962         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
13963         Suggested by Bruno Haible.
13964
13965 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13966
13967         Remove module 'u8-grapheme-len' as too redundant with
13968         'u8-grapheme-next'.
13969         * modules/unigbrk/u8-grapheme-len: Delete file.
13970         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
13971         * lib/unigbrk.in.h: Remove prototype for deleted function.
13972         * lib/unigbrk/u8-grapheme-len.c: Delete file.
13973         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
13974
13975         Remove module 'u16-grapheme-len' as too redundant with
13976         'u16-grapheme-next'.
13977         * modules/unigbrk/u16-grapheme-len: Delete file.
13978         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
13979         * lib/unigbrk.in.h: Remove prototype for deleted function.
13980         * lib/unigbrk/u16-grapheme-len.c: Delete file.
13981         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
13982
13983         Remove module 'u32-grapheme-len' as too redundant with
13984         'u32-grapheme-next'.
13985         * modules/unigbrk/u32-grapheme-len: Delete file.
13986         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
13987         * lib/unigbrk.in.h: Remove prototype for deleted function.
13988         * lib/unigbrk/u32-grapheme-len.c: Delete file.
13989         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
13990
13991         Suggested by Bruno Haible.
13992
13993 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13994
13995         * unigbrk.in.h: Fix typo: "ben" => "been".
13996         Reported by Bruno Haible.
13997
13998 2011-01-01  Jim Meyering  <meyering@redhat.com>
13999
14000         maint: update almost all copyright ranges to include 2011
14001         Run the new "make update-copyright" rule.
14002
14003 2011-01-01  Jim Meyering  <meyering@redhat.com>
14004
14005         maint: update-copyright: exempt doc/INSTALL*
14006         * Makefile (update-copyright): Also exclude doc/INSTALL*,
14007         since they are generated.  Suggested by Bruno Haible.
14008
14009 2011-01-01  Jim Meyering  <meyering@redhat.com>
14010
14011         maint: refine the update-copyright rule
14012         * Makefile (update-copyright): Also exclude any file that includes
14013         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
14014         code that merely generates the comment.
14015
14016 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
14017
14018         New module 'u8-grapheme-len'.
14019         * modules/unigbrk/u8-grapheme-len: New file.
14020         * modules/unigbrk/u8-grapheme-len-tests: New file.
14021         * lib/unigbrk.in.h: Add prototype for new function.
14022         * lib/unigbrk/u8-grapheme-len.c: New file.
14023         * tests/unigbrk/test-u8-grapheme-len.c: New file.
14024
14025         New module 'u16-grapheme-len'.
14026         * modules/unigbrk/u16-grapheme-len: New file.
14027         * modules/unigbrk/u16-grapheme-len-tests: New file.
14028         * lib/unigbrk.in.h: Add prototype for new function.
14029         * lib/unigbrk/u16-grapheme-len.c: New file.
14030         * tests/unigbrk/test-u16-grapheme-len.c: New file.
14031
14032         New module 'u32-grapheme-len'.
14033         * modules/unigbrk/u32-grapheme-len: New file.
14034         * modules/unigbrk/u32-grapheme-len-tests: New file.
14035         * lib/unigbrk.in.h: Add prototype for new function.
14036         * lib/unigbrk/u32-grapheme-len.c: New file.
14037         * tests/unigbrk/test-u32-grapheme-len.c: New file.
14038
14039         New module 'u8-grapheme-next'.
14040         * modules/unigbrk/u8-grapheme-next: New file.
14041         * modules/unigbrk/u8-grapheme-next-tests: New file.
14042         * lib/unigbrk.in.h: Add prototype for new function.
14043         * lib/unigbrk/u8-grapheme-next.c: New file.
14044         * tests/unigbrk/test-u8-grapheme-next.c: New file.
14045
14046         New module 'u16-grapheme-next'.
14047         * modules/unigbrk/u16-grapheme-next: New file.
14048         * modules/unigbrk/u16-grapheme-next-tests: New file.
14049         * lib/unigbrk.in.h: Add prototype for new function.
14050         * lib/unigbrk/u16-grapheme-next.c: New file.
14051         * tests/unigbrk/test-u16-grapheme-next.c: New file.
14052
14053         New module 'u32-grapheme-next'.
14054         * modules/unigbrk/u32-grapheme-next: New file.
14055         * modules/unigbrk/u32-grapheme-next-tests: New file.
14056         * lib/unigbrk.in.h: Add prototype for new function.
14057         * lib/unigbrk/u32-grapheme-next.c: New file.
14058         * tests/unigbrk/test-u32-grapheme-next.c: New file.
14059
14060         New module 'u8-grapheme-prev'.
14061         * modules/unigbrk/u8-grapheme-prev: New file.
14062         * modules/unigbrk/u8-grapheme-prev-tests: New file.
14063         * lib/unigbrk.in.h: Add prototype for new function.
14064         * lib/unigbrk/u8-grapheme-prev.c: New file.
14065         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
14066
14067         New module 'u16-grapheme-prev'.
14068         * modules/unigbrk/u16-grapheme-prev: New file.
14069         * modules/unigbrk/u16-grapheme-prev-tests: New file.
14070         * lib/unigbrk.in.h: Add prototype for new function.
14071         * lib/unigbrk/u16-grapheme-prev.c: New file.
14072         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
14073
14074         New module 'u32-grapheme-prev'.
14075         * modules/unigbrk/u32-grapheme-prev: New file.
14076         * modules/unigbrk/u32-grapheme-prev-tests: New file.
14077         * lib/unigbrk.in.h: Add prototype for new function.
14078         * lib/unigbrk/u32-grapheme-prev.c: New file.
14079         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
14080
14081         New module 'u8-grapheme-breaks'.
14082         * modules/unigbrk/u8-grapheme-breaks: New file.
14083         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
14084         * lib/unigbrk.in.h: Add prototype for new function.
14085         * lib/unigbrk/u8-grapheme-breaks.c: New file.
14086         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
14087
14088         New module 'u16-grapheme-breaks'.
14089         * modules/unigbrk/u16-grapheme-breaks: New file.
14090         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
14091         * lib/unigbrk.in.h: Add prototype for new function.
14092         * lib/unigbrk/u16-grapheme-breaks.c: New file.
14093         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
14094
14095         New module 'u32-grapheme-breaks'.
14096         * modules/unigbrk/u32-grapheme-breaks: New file.
14097         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
14098         * lib/unigbrk.in.h: Add prototype for new function.
14099         * lib/unigbrk/u32-grapheme-breaks.c: New file.
14100         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
14101
14102         New module 'ulc-grapheme-breaks'.
14103         * modules/unigbrk/ulc-grapheme-breaks: New file.
14104         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
14105         * m4/locale-ar.m4: New file.
14106         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
14107         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
14108         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
14109
14110 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
14111
14112         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
14113         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
14114         modified how this file was generated before I initially submitted
14115         the module, but failed to regenerate it.  This meant that several
14116         of the level2 entries were wrong.
14117         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
14118         Remove the division-by-2 that is folded into the table now that
14119         gbrkprop.h has been regenerated properly.  Now -1 entries are
14120         handled correctly.
14121
14122         New module 'unigbrk/uc-gbrk-prop-tests'.
14123         * modules/unigbrk/uc-gbrk-prop-tests: New file.
14124         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
14125         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
14126         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
14127
14128 2011-01-01  Bruno Haible  <bruno@clisp.org>
14129
14130         Avoid use of hexadecimal escapes.
14131         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
14132         instead of hexadecimal escapes.
14133
14134 2011-01-01  Jim Meyering  <meyering@redhat.com>
14135
14136         maint: new rule to update copyright year ranges
14137         * Makefile (update-copyright): New rule.
14138
14139         maint: indent with TABs in Makefile
14140         * Makefile: Expand leading sequences of spaces to TABs
14141
14142         version-etc: update the copyright year it reports
14143         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
14144
14145 2010-12-31  Bruno Haible  <bruno@clisp.org>
14146
14147         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
14148         * lib/isfinite.c (zerof, zerod, zerol): New variables.
14149         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
14150         zero.
14151
14152 2010-12-31  Bruno Haible  <bruno@clisp.org>
14153
14154         pwrite: Work around HP-UX 11.11 bug.
14155         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
14156         works and set REPLACE_PWRITE if not.
14157         * lib/pwrite.c (pwrite): Add an implementation that uses the system
14158         function.
14159         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
14160
14161 2010-12-31  Bruno Haible  <bruno@clisp.org>
14162
14163         pread: Work around HP-UX 11 bugs.
14164         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
14165         and set REPLACE_PREAD if not.
14166         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
14167
14168 2010-12-31  Eric Blake  <eblake@redhat.com>
14169
14170         nl_langinfo: fix YESEXPR on Irix 6.5
14171         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
14172         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
14173         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
14174         it.
14175
14176 2010-12-31  Bruno Haible  <bruno@clisp.org>
14177
14178         iconv: Document HP-UX 11 bug.
14179         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
14180
14181 2010-12-31  Bruno Haible  <bruno@clisp.org>
14182
14183         ldexpl: Fix link error on HP-UX 11.
14184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
14185         LDEXPL_LIBM, using $ISNANL_LIBM.
14186
14187 2010-12-31  Eric Blake  <eblake@redhat.com>
14188
14189         ftello: avoid compilation failure with SunStudio c89
14190         * lib/ftello.c (ftello): Use lseek, not llseek.
14191
14192         tests: avoid failing coreutils tests on cygwin
14193         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
14194         (create_exe_shims_): Return 0 when skipping.
14195
14196 2010-12-31  Bruno Haible  <bruno@clisp.org>
14197
14198         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
14199         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
14200
14201 2010-12-31  Bruno Haible  <bruno@clisp.org>
14202
14203         waitpid: Fix link error in C++ mode.
14204         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
14205
14206 2010-12-31  Bruno Haible  <bruno@clisp.org>
14207
14208         isnan: Use GCC built-ins when possible.
14209         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
14210         __builtin_isnan.
14211         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
14212         (isnan): Define using GCC built-ins for GCC >= 4.0.
14213
14214 2010-12-31  Bruno Haible  <bruno@clisp.org>
14215
14216         isnand: Fix mistake.
14217         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
14218         __builtin_isnand.
14219
14220 2010-12-31  Bruno Haible  <bruno@clisp.org>
14221
14222         open: Avoid C++ error on HP-UX 11.
14223         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
14224
14225 2010-12-31  Bruno Haible  <bruno@clisp.org>
14226
14227         time_r: Add missing declarations on HP-UX 11.
14228         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
14229         instead of HAVE_LOCALTIME_R.
14230         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
14231         HAVE_LOCALTIME_R always.
14232         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
14233         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
14234         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
14235         HAVE_LOCALTIME_R.
14236         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
14237         * doc/posix-functions/localtime_r.texi: Likewise.
14238
14239 2010-12-29  Eric Blake  <eblake@redhat.com>
14240
14241         mountlist: tweak previous commit
14242         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
14243         Reported by Paul Eggert.
14244
14245         mountlist: fix local drive detection on cygwin
14246         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
14247         that works for cygwin.
14248
14249 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
14250
14251         ftoastr, snprintf: ftoastr + snprintf module
14252         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
14253         since the snprintf module now should be good enough here.
14254         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
14255         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
14256         and gl_MODULE_INDICATOR([snprintf]), but the former enables
14257         GNULIB_SNPRINTF only for the test directory, and the latter
14258         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
14259         seems to suffice by itself.
14260
14261 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14262
14263         alloca: one step towards thread-safety
14264         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
14265         need for a static variable.  All callers changed.  This does not
14266         make the alloca replacement thread-safe, but it's one step.
14267
14268         tests: minor indenting change
14269         * tests/init.sh: Sync from coreutils housekeeping patch
14270         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
14271         to keep lines within 80 columns.
14272
14273 2010-12-28  Jim Meyering  <meyering@redhat.com>
14274
14275         regex: don't infloop on persistent failing calloc
14276         * lib/regexec.c (build_trtable): Return failure indication upon
14277         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
14278         In glibc, this was fixed for version 2.13:
14279         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
14280
14281 2010-12-28  Bruno Haible  <bruno@clisp.org>
14282             Paul Eggert <eggert@cs.ucla.edu>
14283
14284         linkat: Make implementation robust against system behaviour variations.
14285         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
14286         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
14287         way, and to -2 if it needs a generic runtime test.
14288         * lib/linkat.c (solaris_optimized_link_immediate,
14289         solaris_optimized_link_follow): New functions.
14290         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
14291         (check_same_link): Use it.
14292
14293 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
14294
14295         New module 'unigbrk/base'.
14296         * modules/unigbrk/base: New file.
14297         * lib/unigbrk.in.h: New file.
14298
14299         New module 'unigbrk/uc-gbrk-prop'.
14300         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
14301         * modules/unigbrk/uc-gbrk-prop: New file.
14302         * lib/unigbrk/gbrkprop.h: New file.
14303         * lib/unigbrk/uc-gbrk-prop.c: New file.
14304
14305         New module 'unigbrk/uc-is-grapheme-break'.
14306         * modules/unigbrk/uc-is-grapheme-break: New file.
14307         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
14308         * lib/unigbrk/uc-is-grapheme-break.c: New file.
14309         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
14310         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
14311         * tests/unigbrk/GraphemeBreakTest.txt: New file.
14312
14313         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
14314
14315 2010-12-27  Bruno Haible  <bruno@clisp.org>
14316
14317         linkat test: Avoid failure on Solaris 11 2010-11.
14318         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
14319
14320 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14321
14322         utimens: work around glibc rounding bug on more platforms
14323         * lib/utimens.c (fdutimens): Work around rounding bug even if
14324         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
14325         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
14326
14327 2010-12-27  Bruno Haible  <bruno@clisp.org>
14328
14329         select tests: Improve comments.
14330         * tests/test-select.c (do_select): Add comments.
14331
14332 2010-12-27  Bruno Haible  <bruno@clisp.org>
14333
14334         select tests: Safer way of handling timeout.
14335         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
14336         at every invocation.
14337
14338 2010-12-27  Bruno Haible  <bruno@clisp.org>
14339
14340         select tests: Use 'bool' where appropriate.
14341         * tests/test-select.c (connect_to_socket): Change argument type to
14342         'bool'.
14343
14344 2010-12-27  Bruno Haible  <bruno@clisp.org>
14345
14346         select tests: Use existing modules.
14347         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
14348         (configure.ac): Don't test for unistd.h.
14349         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
14350         declared in <unistd.h>.
14351
14352 2010-12-27  Bruno Haible  <bruno@clisp.org>
14353
14354         mbrtowc: Work around a Solaris 7 bug.
14355         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
14356         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
14357         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
14358         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
14359         MBRTOWC_NULL_ARG1_BUG.
14360         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
14361         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
14362         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
14363         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
14364
14365 2010-12-27  Jim Meyering  <meyering@redhat.com>
14366
14367         read-file.c: tweak syntax
14368         * lib/read-file.c (fread_file): Remove space after "*" in function
14369         definitions.
14370
14371 2010-12-27  Bruno Haible  <bruno@clisp.org>
14372
14373         times test: Avoid gcc warnings on OSF/1.
14374         * tests/test-times.c (main): Cast printf arguments from clock_t to
14375         'long int'.
14376
14377 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14378
14379         utimens: work around glibc rounding bug on older Linux kernels
14380         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
14381         on Linux with a glibc whose utimes might not work, then work
14382         around a longstanding glibc bug involving rounding rather than
14383         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
14384         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
14385
14386 2010-12-26  Bruno Haible  <bruno@clisp.org>
14387
14388         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
14389         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
14390         _GL_CXXALIAS_SYS.
14391         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14392
14393 2010-12-26  Bruno Haible  <bruno@clisp.org>
14394
14395         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
14396         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
14397         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
14398         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
14399         looking for the declaration.
14400         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
14401         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
14402         problem.
14403         * doc/posix-functions/inet_pton.texi: Likewise.
14404
14405 2010-12-26  Bruno Haible  <bruno@clisp.org>
14406
14407         arpa_inet: Use the common idioms with C++ support.
14408         * lib/arpa_inet.in.h: Include c++defs.h.
14409         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
14410         support.
14411         * modules/arpa_inet (Depends-on): Add c++defs.
14412         (Makefile.am): Substitute the contents of c++defs.h.
14413         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
14414         * modules/arpa_inet-c++-tests: New file.
14415         * tests/test-arpa_inet-c++.cc: New file.
14416
14417 2010-12-25  Bruno Haible  <bruno@clisp.org>
14418
14419         Fix more C++ link errors on Solaris 8.
14420         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
14421         $(LIB_EACCESS).
14422         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
14423         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
14424         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
14425         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
14426         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
14427
14428 2010-12-25  Bruno Haible  <bruno@clisp.org>
14429
14430         printf-posix: Fix link error when a non-GCC compiler is used.
14431         * lib/stdio.in.h (printf): When not using GCC, override printf
14432         correctly.
14433         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14434
14435 2010-12-25  Bruno Haible  <bruno@clisp.org>
14436
14437         strerror_r-posix: Update doc.
14438         * doc/posix-functions/strerror_r.texi: Update doc about the return
14439         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
14440
14441 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
14442
14443         utimens: simplify the logic of the previous change
14444         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
14445         This should not affect whether the test succeeds or fails.
14446
14447         utimens: configure better on hosts with NFS clock skew
14448         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
14449         uses the clock of the local host.  It might use the clock of the
14450         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
14451         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
14452
14453 2010-12-25  Bruno Haible  <bruno@clisp.org>
14454
14455         ptsname test: Avoid failure on Solaris.
14456         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
14457         open a pseudo-terminal; don't use BSD-style ptys.
14458         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
14459
14460 2010-12-25  Bruno Haible  <bruno@clisp.org>
14461
14462         ptsname: Avoid ERANGE failure on some systems.
14463         * lib/ptsname.c (buffer): Increase size.
14464
14465 2010-12-25  Bruno Haible  <bruno@clisp.org>
14466
14467         rename, renameat: Avoid test failures at NFS mounted locations.
14468         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
14469         so that subsequent mkdir calls succeed.
14470
14471 2010-12-25  Bruno Haible  <bruno@clisp.org>
14472
14473         iswblank: Fix C++ link error on Solaris 8.
14474         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
14475         _GL_FUNCDECL_SYS.
14476
14477 2010-12-25  Bruno Haible  <bruno@clisp.org>
14478
14479         unistd: Fix C++ link error on Solaris 8.
14480         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
14481
14482 2010-12-25  Bruno Haible  <bruno@clisp.org>
14483
14484         readlink doc: Mention an old glibc bug.
14485         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
14486
14487 2010-12-25  Bruno Haible  <bruno@clisp.org>
14488
14489         fcntl-h: Fix for use of C++ on glibc systems.
14490         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
14491         also on glibc systems in C++ mode.
14492         Reported by Gary V. Vaughan <gary@gnu.org>.
14493
14494 2010-12-25  Bruno Haible  <bruno@clisp.org>
14495
14496         roundl-ieee: Make it work on OSF/1 5.1 with cc.
14497         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
14498
14499 2010-12-25  Bruno Haible  <bruno@clisp.org>
14500
14501         truncl-ieee: Make it work on OSF/1 5.1 with cc.
14502         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
14503         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
14504         test whether truncl works according to ISO C 99 with IEC 60559.
14505         * m4/truncl-ieee.m4: New file.
14506         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
14507         m4/signbit.m4.
14508         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
14509
14510 2010-12-25  Bruno Haible  <bruno@clisp.org>
14511
14512         ceill-ieee: Make it work on OSF/1 5.1 with cc.
14513         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
14514         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
14515         test whether ceill works according to ISO C 99 with IEC 60559.
14516         * m4/ceill-ieee.m4: New file.
14517         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
14518         m4/signbit.m4.
14519         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
14520
14521 2010-12-25  Bruno Haible  <bruno@clisp.org>
14522
14523         Ensure all prerequisites of <wchar.h> are included.
14524         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
14525         before <wchar.h>.
14526         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
14527         gl_MBRLEN_NUL_RETVAL): Likewise.
14528         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14529         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
14530         AC_FUNC_MBRTOWC): Likewise.
14531         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14532         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
14533         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14534         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
14535         Likewise.
14536         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14537         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
14538         (gl_WCHAR_H): Improve comments.
14539         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14540
14541 2010-12-25  Bruno Haible  <bruno@clisp.org>
14542
14543         strtok_r: Fix C syntax error in autoconf macro.
14544         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
14545         characters in test program.
14546
14547 2010-12-24  Bruno Haible  <bruno@clisp.org>
14548
14549         ceil, trunc, round: Fix gcc warnings.
14550         * lib/ceil.c (MIN): Undefine before redefining.
14551         * lib/trunc.c (MIN): Likewise.
14552         * lib/round.c (MIN): Likewise.
14553         Include <math.h> first.
14554
14555 2010-12-24  Bruno Haible  <bruno@clisp.org>
14556
14557         select tests: Avoid failures on OSF/1 5.1.
14558         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
14559         failure of closing the last socket; it may fail with ECONNRESET.
14560
14561 2010-12-24  Eric Blake  <eblake@redhat.com>
14562
14563         stdint: avoid HP-UX 10.20 preprocessor bug
14564         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
14565         than #if.
14566         * tests/test-floor2.c (main): Likewise.
14567         Reported by Peter O'Gorman.
14568
14569         pipe: make obsoletion transition easier
14570         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
14571         * modules/pipe (Files): Include revived file.
14572         (Include): Drop reference, to mirror getdate's behavior.
14573
14574 2010-12-24  Bruno Haible  <bruno@clisp.org>
14575
14576         sys_socket: Hide mismatch of declarations on NonStop Kernel.
14577         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
14578         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
14579         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14580
14581 2010-12-24  Bruno Haible  <bruno@clisp.org>
14582
14583         gethostname: Ensure declaration on NonStop Kernel.
14584         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
14585         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14586
14587 2010-12-24  Bruno Haible  <bruno@clisp.org>
14588
14589         sys_select: Ensure all necessary types on NonStop Kernel.
14590         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
14591         include <sys/time.h>.
14592         * doc/posix-headers/sys_select.texi: Mention that it's missing on
14593         NonStop Kernel.
14594         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14595
14596 2010-12-24  Bruno Haible  <bruno@clisp.org>
14597
14598         sys_select: Remove unneeded include.
14599         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
14600         have <sys/select.h>.
14601
14602 2010-12-24  Bruno Haible  <bruno@clisp.org>
14603
14604         gethostname: Provide a fallback for HOST_NAME_MAX.
14605         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
14606         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
14607         instead.
14608         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14609
14610 2010-12-24  Bruno Haible  <bruno@clisp.org>
14611
14612         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
14613         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
14614         (SA_RESTART): Likewise.
14615         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14616
14617 2010-12-24  Bruno Haible  <bruno@clisp.org>
14618
14619         signal: Define NSIG.
14620         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
14621         * tests/test-signal.c (nsig): New variable.
14622         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14623
14624 2010-12-24  Bruno Haible  <bruno@clisp.org>
14625
14626         rename, renameat: Avoid test failures on OSF/1 5.1.
14627         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
14628         alternative error codes.
14629         * tests/test-renameat.c (main): Likewise.
14630
14631 2010-12-24  Bruno Haible  <bruno@clisp.org>
14632
14633         *printf: Detect large precisions bug on Solaris 10/SPARC.
14634         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
14635         by Paul Eggert.
14636         * tests/test-snprintf-posix.h (test_function): Add this test code here
14637         too.
14638         * tests/test-sprintf-posix.h (test_function): Likewise.
14639         * tests/test-vasnprintf-posix.c (test_function): Likewise.
14640         * tests/test-vasprintf-posix.c (test_function): Likewise.
14641         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
14642         around by gnulib.
14643         * doc/posix-functions/printf.texi: Likewise.
14644         * doc/posix-functions/snprintf.texi: Likewise.
14645         * doc/posix-functions/sprintf.texi: Likewise.
14646         * doc/posix-functions/vfprintf.texi: Likewise.
14647         * doc/posix-functions/vprintf.texi: Likewise.
14648         * doc/posix-functions/vsnprintf.texi: Likewise.
14649         * doc/posix-functions/vsprintf.texi: Likewise.
14650         * doc/posix-functions/dprintf.texi: Undo last commit.
14651         * doc/posix-functions/vdprintf.texi: Likewise.
14652
14653 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14654
14655         tests: port test-fdutimensat.c to Solaris 8
14656         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
14657         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
14658         On Solaris 8, it fails with errno == ENOSYS, because there is no
14659         futimens (so it can't use the fd), and there is no lutimens (so it
14660         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
14661
14662         vsnprintf: make more consistent with snprintf; doc fixes
14663
14664         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
14665         the byte count return problem was promoted from the snprintf-posix
14666         to the snprintf module.
14667         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14668         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
14669         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
14670         * tests/test-snprintf.c (main): Check the byte count returned.
14671         * tests/test-vsnprintf.c (main): Likewise.
14672
14673 2010-12-23  Eric Blake  <eblake@redhat.com>
14674
14675         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
14676         * modules/sigpipe (License): Relax license.
14677
14678 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
14679
14680         doc: document Solaris printf bug with large float precisions
14681         * doc/posix-functions/dprintf.texi (dprintf):
14682         * doc/posix-functions/fprintf.texi (fprintf):
14683         * doc/posix-functions/printf.texi (printf):
14684         * doc/posix-functions/snprintf.texi (snprintf):
14685         * doc/posix-functions/sprintf.texi (sprintf):
14686         * doc/posix-functions/vdprintf.texi (vdprintf):
14687         * doc/posix-functions/vfprintf.texi (vfprintf):
14688         * doc/posix-functions/vprintf.texi (vprintf):
14689         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14690         * doc/posix-functions/vsprintf.texi (vsprintf):
14691         Mention that these functions mishandle large floating point
14692         precisions on Solaris 10.  The same bug is also present in Solaris
14693         8, and I assume earlier.  This causes "cd gnulib-tests; make
14694         check" to fail on Solaris 8 (and I assume, later) when building
14695         the latest coreutils, in test-vasprintf-posix's call to
14696         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
14697         the wide flavors (e.g., wprintf) so this patch just updates the
14698         documentation for the narrow ones.
14699
14700         test-posixtm.c: add two tests
14701         * tests/test-posixtm.c: Add two tests, to highlight the
14702         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
14703         around this bug; this is merely to document it.
14704
14705 2010-12-22  Bruno Haible  <bruno@clisp.org>
14706
14707         getlogin_r: Work around portability problem on OSF/1.
14708         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
14709         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
14710         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
14711         test for a truncated result.
14712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
14713         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
14714         * modules/getlogin_r (Depends-on): Add memchr.
14715         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
14716
14717 2010-12-22  Bruno Haible  <bruno@clisp.org>
14718
14719         ptsname: Avoid test failure on OSF/1 5.1.
14720         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
14721         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
14722         (same_slave): New function.
14723         (main): Use it to compare ptsname's result with the expected file name.
14724
14725 2010-12-22  Bruno Haible  <bruno@clisp.org>
14726
14727         Port extended stdio modules to HP NonStop Kernel.
14728         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
14729         macros.
14730         * lib/fbufmode.c: Update comments.
14731         * lib/fflush.c: Likewise.
14732         * lib/fpurge.c: Likewise.
14733         * lib/freadable.c: Likewise.
14734         * lib/freadahead.c: Likewise.
14735         * lib/freading.c: Likewise.
14736         * lib/freadptr.c: Likewise.
14737         * lib/freadseek.c: Likewise.
14738         * lib/fseeko.c: Likewise.
14739         * lib/fseterr.c: Likewise.
14740         * lib/fwritable.c: Likewise.
14741         * lib/fwriting.c: Likewise.
14742         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14743
14744 2010-12-22  Bruno Haible  <bruno@clisp.org>
14745
14746         ttyname_r: Work around bug on OSF/1 5.1.
14747         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
14748         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
14749         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
14750         present.
14751         * lib/ttyname_r.c (ttyname_r): Update comments.
14752
14753 2010-12-22  Bruno Haible  <bruno@clisp.org>
14754
14755         round: Implement result sign according to IEEE 754.
14756         * lib/round.c (MIN, MINUS_ZERO): New macros.
14757         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
14758         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
14759         * tests/test-round-ieee.c (main): Likewise.
14760         * tests/test-roundl-ieee.c (main): Likewise.
14761
14762         trunc: Implement result sign according to IEEE 754.
14763         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
14764         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
14765         * tests/test-trunc2.c: Include minus-zero.h.
14766         (MINUS_ZERO): New macro.
14767         (trunc_reference): Keep in sync with lib/trunc.c.
14768         * tests/test-truncf2.c: Include minus-zero.h.
14769         (MINUS_ZERO): New macro.
14770         (truncf_reference): Keep in sync with lib/trunc.c.
14771         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
14772         * tests/test-trunc-ieee.c (main): Likewise.
14773         * tests/test-truncl-ieee.c (main): Likewise.
14774
14775         ceil: Implement result sign according to IEEE 754.
14776         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
14777         (FUNC): Return -0.0 for -1 < x < 0.
14778         * tests/test-ceil2.c: Include minus-zero.h.
14779         (MINUS_ZERO): New macro.
14780         (ceil_reference): Keep in sync with lib/ceil.c.
14781         * tests/test-ceilf2.c: Include minus-zero.h.
14782         (MINUS_ZERO): New macro.
14783         (ceilf_reference): Keep in sync with lib/ceil.c.
14784         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
14785         * tests/test-ceil-ieee.c (main): Likewise.
14786         * tests/test-ceill-ieee.c (main): Likewise.
14787
14788         floor: Implement result sign according to IEEE 754.
14789         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
14790         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
14791         * tests/test-floorf2.c (floorf_reference): Likewise.
14792         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
14793         * tests/test-floor-ieee.c (main): Likewise.
14794         * tests/test-floorl-ieee.c (main): Likewise.
14795
14796 2010-12-22  Bruno Haible  <bruno@clisp.org>
14797
14798         getaddrinfo: Update doc.
14799         * doc/posix-functions/gai_strerror.texi: Return type is also different
14800         on AIX and HP-UX.
14801
14802 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
14803
14804         getaddrinfo, inet_ntop: Update doc for Solaris.
14805         * doc/posix-functions/gai_strerror.texi: Return type is also an
14806         issue on Solaris 9 and earlier.
14807         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
14808         on Solaris 10 and earlier.
14809
14810 2010-12-21  Bruno Haible  <bruno@clisp.org>
14811
14812         New module 'roundl-ieee'.
14813         * modules/roundl-ieee: New file.
14814         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
14815         test whether roundl works according to ISO C 99 with IEC 60559.
14816         * m4/roundl-ieee.m4: New file.
14817         * modules/roundl-ieee-tests: New file.
14818         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
14819         * tests/test-roundl.c (main): Remove signbit tests.
14820         * modules/roundl-tests (Depends-on): Remove signbit.
14821         * doc/posix-functions/roundl.texi: Mention the new module.
14822
14823 2010-12-21  Bruno Haible  <bruno@clisp.org>
14824
14825         New module 'truncl-ieee'.
14826         * modules/truncl-ieee: New file.
14827         * modules/truncl-ieee-tests: New file.
14828         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
14829         * tests/test-truncl.c (main): Remove signbit tests.
14830         * modules/truncl-tests (Depends-on): Remove signbit.
14831         * doc/posix-functions/truncl.texi: Mention the new module.
14832
14833 2010-12-21  Bruno Haible  <bruno@clisp.org>
14834
14835         New module 'ceill-ieee'.
14836         * modules/ceill-ieee: New file.
14837         * modules/ceill-ieee-tests: New file.
14838         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
14839         * tests/test-ceill.c (main): Remove signbit tests.
14840         * modules/ceill-tests (Depends-on): Remove signbit.
14841         * doc/posix-functions/ceill.texi: Mention the new module.
14842
14843 2010-12-21  Bruno Haible  <bruno@clisp.org>
14844
14845         New module 'floorl-ieee'.
14846         * modules/floorl-ieee: New file.
14847         * modules/floorl-ieee-tests: New file.
14848         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
14849         * tests/test-floorl.c (main): Remove signbit tests.
14850         * modules/floorl-tests (Depends-on): Remove signbit.
14851         * doc/posix-functions/floorl.texi: Mention the new module.
14852
14853 2010-12-21  Bruno Haible  <bruno@clisp.org>
14854
14855         New module 'round-ieee'.
14856         * modules/round-ieee: New file.
14857         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
14858         whether round works according to ISO C 99 with IEC 60559.
14859         * m4/round-ieee.m4: New file.
14860         * modules/round-ieee-tests: New file.
14861         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
14862         * tests/test-round1.c (main): Remove signbit tests.
14863         * modules/round-tests (Depends-on): Remove 'signbit'.
14864         * doc/posix-functions/round.texi: Mention the new module.
14865
14866 2010-12-21  Bruno Haible  <bruno@clisp.org>
14867
14868         New module 'trunc-ieee'.
14869         * modules/trunc-ieee: New file.
14870         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
14871         whether trunc works according to ISO C 99 with IEC 60559.
14872         * m4/trunc-ieee.m4: New file.
14873         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
14874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
14875         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
14876         * modules/trunc-ieee-tests: New file.
14877         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
14878         * tests/test-trunc1.c (main): Remove signbit tests.
14879         * modules/trunc-tests (Depends-on): Remove 'signbit'.
14880         * doc/posix-functions/trunc.texi: Mention the new module.
14881
14882 2010-12-21  Bruno Haible  <bruno@clisp.org>
14883
14884         New module 'ceil-ieee'.
14885         * modules/ceil-ieee: New file.
14886         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
14887         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
14888         ISO C 99 with IEC 60559.
14889         * m4/ceil-ieee.m4: New file.
14890         * modules/ceil (Files): Add lib/ceil.c.
14891         (Depends-on): Add 'float'.
14892         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
14893         * lib/math.in.h (ceil): New declaration.
14894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
14895         REPLACE_CEIL.
14896         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
14897         * modules/ceil-ieee-tests: New file.
14898         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
14899         * tests/test-math-c++.cc: Check the signature of 'ceil'.
14900         * doc/posix-functions/ceil.texi: Mention the new module.
14901
14902 2010-12-21  Bruno Haible  <bruno@clisp.org>
14903
14904         New module 'floor-ieee'.
14905         * modules/floor-ieee: New file.
14906         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
14907         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
14908         ISO C 99 with IEC 60559.
14909         * m4/floor-ieee.m4: New file.
14910         * modules/floor (Files): Add lib/floor.c.
14911         (Depends-on): Add 'float'.
14912         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
14913         * lib/math.in.h (floor): New declaration.
14914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
14915         REPLACE_FLOOR.
14916         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
14917         * modules/floor-ieee-tests: New file.
14918         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
14919         * tests/test-math-c++.cc: Check the signature of 'floor'.
14920         * doc/posix-functions/floor.texi: Mention the new module.
14921
14922 2010-12-21  Bruno Haible  <bruno@clisp.org>
14923
14924         New module 'roundf-ieee'.
14925         * modules/roundf-ieee: New file.
14926         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
14927         test whether roundf works according to ISO C 99 with IEC 60559.
14928         * m4/roundf-ieee.m4: New file.
14929         * modules/roundf-ieee-tests: New file.
14930         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
14931         * tests/test-roundf1.c (main): Remove signbit tests.
14932         * modules/roundf-tests (Depends-on): Remove 'signbit'.
14933         * doc/posix-functions/roundf.texi: Mention the new module.
14934
14935 2010-12-21  Bruno Haible  <bruno@clisp.org>
14936
14937         New module 'truncf-ieee'.
14938         * modules/truncf-ieee: New file.
14939         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
14940         test whether truncf works according to ISO C 99 with IEC 60559.
14941         * m4/truncf-ieee.m4: New file.
14942         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
14943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
14944         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
14945         * modules/truncf-ieee-tests: New file.
14946         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
14947         * tests/test-truncf1.c (main): Remove signbit tests.
14948         * modules/truncf-tests (Depends-on): Remove 'signbit'.
14949         * doc/posix-functions/truncf.texi: Mention the new module.
14950
14951 2010-12-21  Bruno Haible  <bruno@clisp.org>
14952
14953         New module 'ceilf-ieee'.
14954         * modules/ceilf-ieee: New file.
14955         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
14956         test whether ceilf works according to ISO C 99 with IEC 60559.
14957         * m4/ceilf-ieee.m4: New file.
14958         * modules/ceilf-ieee-tests: New file.
14959         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
14960         * tests/test-ceilf1.c (main): Remove signbit tests.
14961         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
14962         * doc/posix-functions/ceilf.texi: Mention the new module.
14963
14964 2010-12-21  Bruno Haible  <bruno@clisp.org>
14965
14966         New module 'floorf-ieee'.
14967         * modules/floorf-ieee: New file.
14968         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
14969         test whether floorf works according to ISO C 99 with IEC 60559.
14970         * m4/floorf-ieee.m4: New file.
14971         * modules/floorf-ieee-tests: New file.
14972         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
14973         * tests/test-floorf1.c (main): Remove signbit tests.
14974         * modules/floorf-tests (Depends-on): Remove 'signbit'.
14975         * doc/posix-functions/floorf.texi: Mention the new module.
14976
14977 2010-12-21  Bruno Haible  <bruno@clisp.org>
14978
14979         Support for minus zero in autoconf macros.
14980         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
14981         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
14982         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
14983         * tests/minus-zero.h: Update comments.
14984
14985 2010-12-21  Bruno Haible  <bruno@clisp.org>
14986
14987         Tests for module 'ceil'.
14988         * modules/ceil-tests: New file.
14989         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
14990         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
14991
14992 2010-12-21  Bruno Haible  <bruno@clisp.org>
14993
14994         Tests for module 'floor'.
14995         * modules/floor-tests: New file.
14996         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
14997         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
14998
14999 2010-12-21  Bruno Haible  <bruno@clisp.org>
15000
15001         math: Fix indentation.
15002         * lib/math.in.h (floorf): Fix indentation.
15003
15004 2010-12-21  Bruno Haible  <bruno@clisp.org>
15005
15006         Fix cross-compilation guesses on Solaris.
15007         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
15008         not match "solaris2.10".
15009         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15010         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
15011         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15012
15013 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
15014
15015         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
15016         This fixes a problem observed with the latest coreutils snapshot
15017         that caused a test to fail on Solaris 8.  src/csplit.c's call
15018         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
15019         earlier, instead of returning the number of bytes that would have
15020         been generated; this causes csplit to incorrectly report memory
15021         exhaustion.
15022         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
15023         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
15024         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
15025         comments to match.
15026         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
15027         Fix typo in matching older versions of Solaris: "solaris2.10"
15028         is matched by the shell pattern "solaris2.[0-9]*".  This matters
15029         only for guessing while cross-compiling.
15030         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
15031
15032 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
15033
15034         ftoastr: fix comment again
15035         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
15036         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
15037         Also, simplify example a bit by using flags = 0.
15038
15039 2010-12-20  Bruno Haible  <bruno@clisp.org>
15040
15041         round*, trunc*: Update documentation regarding glibc.
15042         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
15043         * doc/posix-functions/round.texi: Likewise.
15044         * doc/posix-functions/roundl.texi: Likewise.
15045         * doc/posix-functions/truncf.texi: Likewise.
15046         * doc/posix-functions/trunc.texi: Likewise.
15047         * doc/posix-functions/truncl.texi: Likewise.
15048
15049 2010-12-20  Bruno Haible  <bruno@clisp.org>
15050
15051         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
15052         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
15053         * doc/posix-functions/round.texi: Likewise.
15054         * doc/posix-functions/roundl.texi: Likewise.
15055
15056 2010-12-20  Bruno Haible  <bruno@clisp.org>
15057
15058         ttyname_r: Add missing declaration on HP-UX 11.
15059         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
15060         HAVE_TTYNAME_R.
15061         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
15062         declared. Set HAVE_TTYNAME_R always.
15063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15064         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
15065         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
15066         HAVE_TTYNAME_R.
15067         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
15068
15069 2010-12-20  Bruno Haible  <bruno@clisp.org>
15070
15071         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
15072         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
15073         * doc/posix-functions/getlogin_r.texi: Likewise.
15074         * tests/test-getlogin.c: Include <errno.h>.
15075         (main): Avoid test failure on HP-UX 11.11.
15076         * tests/test-getlogin_r.c (main): Likewise.
15077
15078 2010-12-20  Bruno Haible  <bruno@clisp.org>
15079
15080         getlogin_r: Add missing declaration on HP-UX 11.
15081         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
15082         declared also when it exists as a function.
15083         * doc/posix-functions/getlogin_r.texi: Document this workaround.
15084
15085 2010-12-20  Bruno Haible  <bruno@clisp.org>
15086
15087         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
15088         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
15089         through wcrtomb.
15090
15091 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15092
15093         ftoastr: fix comment
15094         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
15095         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
15096
15097 2010-12-19  Bruno Haible  <bruno@clisp.org>
15098
15099         isnan: Ensure it is a macro.
15100         * lib/math.in.h (isnan): Define as a macro if not already a macro.
15101         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
15102         Solaris.
15103
15104 2010-12-19  Bruno Haible  <bruno@clisp.org>
15105
15106         ldexpl test: Fix link error on OSF/1 5.1.
15107         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
15108
15109 2010-12-19  Bruno Haible  <bruno@clisp.org>
15110
15111         wctype: Make it work in C++ mode on OSF/1 5.1.
15112         * lib/wctype.in.h (iswblank): Declare but not define here.
15113         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
15114         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
15115         * modules/wctype (Files): Add lib/iswblank.c.
15116
15117 2010-12-19  Bruno Haible  <bruno@clisp.org>
15118
15119         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
15120         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
15121         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
15122
15123 2010-12-19  Bruno Haible  <bruno@clisp.org>
15124
15125         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
15126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
15127         _POSIX_PII_SOCKET.
15128         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
15129         * doc/posix-functions/recvfrom.texi: Likewise.
15130         * doc/posix-functions/send.texi: Likewise.
15131         * doc/posix-functions/sendto.texi: Likewise.
15132
15133 2010-12-19  Bruno Haible  <bruno@clisp.org>
15134
15135         tcgetsid: Add missing declaration on OSF/1 5.1.
15136         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
15137         HAVE_TCGETSID.
15138         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
15139         Don't set HAVE_TCGETSID.
15140         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
15141         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
15142         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
15143         HAVE_TCGETSID.
15144         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
15145
15146 2010-12-19  Bruno Haible  <bruno@clisp.org>
15147
15148         stdio: Fix problem with popen() declaration on OSF/1 5.1.
15149         * lib/stdio.in.h: During the include_next statement, let recursive
15150         includes of this file include only the system header file.
15151
15152 2010-12-19  Bruno Haible  <bruno@clisp.org>
15153
15154         iconv_open: Fix regression from 2010-12-04.
15155         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
15156         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
15157
15158 2010-12-19  Bruno Haible  <bruno@clisp.org>
15159
15160         stdbool test: Avoid a gcc warning.
15161         * tests/test-stdbool.c (main): Fail if e1 is false.
15162         Reported by Jim Meyering.
15163
15164 2010-12-19  Jim Meyering  <meyering@redhat.com>
15165
15166         setenv: restore to working order
15167         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
15168         mistakenly removed.
15169         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
15170         HAVE_SETENV.
15171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
15172         HAVE_SETENV.
15173
15174 2010-12-19  Bruno Haible  <bruno@clisp.org>
15175
15176         Document some different function declarations on OSF/1 5.1.
15177         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
15178         * doc/posix-functions/inet_ntop.texi: Likewise.
15179         * doc/posix-functions/gethostname.texi: Likewise.
15180         * lib/unistd.in.h (gethostname): Update comment.
15181
15182 2010-12-19  Bruno Haible  <bruno@clisp.org>
15183
15184         doc: Mention vasprintf-posix module.
15185         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
15186         the 'vasprintf-posix' module.
15187         * doc/glibc-functions/vasprintf.texi: Likewise.
15188
15189 2010-12-19  Bruno Haible  <bruno@clisp.org>
15190
15191         unsetenv: Add missing declaration on OSF/1 5.1.
15192         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
15193         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
15194         Don't set HAVE_UNSETENV. In the test program, set _BSD.
15195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
15196         not HAVE_UNSETENV.
15197         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
15198         HAVE_UNSETENV.
15199         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
15200
15201 2010-12-19  Bruno Haible  <bruno@clisp.org>
15202
15203         setenv: Add missing declaration on OSF/1 5.1.
15204         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
15205         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
15206         declared. Don't set HAVE_SETENV.
15207         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
15208         not HAVE_SETENV.
15209         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
15210         HAVE_SETENV.
15211         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
15212
15213 2010-12-19  Bruno Haible  <bruno@clisp.org>
15214
15215         nl_langinfo tests: Avoid gcc warning.
15216         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
15217
15218 2010-12-19  Bruno Haible  <bruno@clisp.org>
15219
15220         mknod: Avoid error in C++ mode on OSF/1 with GCC.
15221         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
15222         _GL_CXXALIAS_SYS.
15223
15224 2010-12-19  Bruno Haible  <bruno@clisp.org>
15225
15226         stdbool: Relax test.
15227         * tests/test-stdbool.c (e): Don't require that casts from a variable's
15228         address to 'bool' work in static initializer, for compilers other than
15229         GCC.
15230
15231 2010-12-19  Bruno Haible  <bruno@clisp.org>
15232
15233         ftello: Add missing declaration on OSF/1 5.1.
15234         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
15235         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
15236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
15237         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
15238         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
15239
15240 2010-12-19  Bruno Haible  <bruno@clisp.org>
15241
15242         fseeko: Add missing declaration on OSF/1 5.1.
15243         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
15244         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
15245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
15246         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
15247         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
15248
15249 2010-12-19  Bruno Haible  <bruno@clisp.org>
15250
15251         fchdir: Add missing declaration on OSF/1 5.1.
15252         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
15253         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
15254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
15255         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
15256         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
15257
15258 2010-12-19  Bruno Haible  <bruno@clisp.org>
15259
15260         relocatable-prog-wrapper: Separate from relocatable-prog.
15261         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
15262         uninstall-relocwrapper rule here.
15263         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
15264         Reported by Ian Beckwith <ianb@erislabs.net>.
15265
15266 2010-12-19  Bruno Haible  <bruno@clisp.org>
15267
15268         unistr/u8-mbsnlen: Add missing dependency.
15269         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
15270         Reported by Ian Beckwith <ianb@erislabs.net>.
15271
15272 2010-12-19  Bruno Haible  <bruno@clisp.org>
15273
15274         iconv: Make it possible again to use this module without 'iconv-h'.
15275         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
15276         if it is not defined.
15277         Reported by Ian Beckwith <ianb@erislabs.net>.
15278
15279 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15280
15281         acl: port to Solaris 8 when copying from tmpfs to ufs
15282         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
15283         error number.  Problem observed on Solaris 8 with latest
15284         coreutils, with "mv A B", where A is on a tmpfs file system and B
15285         is on a ufs file system.  This caused coreutils' mv/part-symlink
15286         test to fail.
15287
15288         tests: set fail=0 at start
15289         * tests/init.sh (setup_): Move fail=0 initialization here ...
15290         (mktempd_): ... from here, so that tests can rely on fail being
15291         set to 0 initially.  This fixes a problem in coreutils; see:
15292         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
15293
15294 2010-12-18  Bruno Haible  <bruno@clisp.org>
15295
15296         memmem-simple: Stylistic changes.
15297         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
15298         Fix preprocessor directive indentation.
15299
15300 2010-12-15  Pádraig Brady <P@draigBrady.com>
15301
15302         memmem, memmem-simple: reorganize and expand empty needle check
15303         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
15304         functional checks to memmem-simple so that one has a fully functional
15305         memmem by using just this module.
15306         Restrict the performance only check to the memmem module.
15307         Also expand the empty needle check to ensure the correct
15308         pointer is returned, not just a non NULL pointer.
15309         * doc/glibc-functions/memmem.texi: Rearrange the portability
15310         documentation to correlate with the rearranged checks.
15311         Clarify exactly how the memmem and memmem-simple modules
15312         relate to each other.
15313
15314 2010-12-15  Pádraig Brady <P@draigBrady.com>
15315             Bruno Haible  <bruno@clisp.org>
15316
15317         Improve cross-compilation guesses for uClibc.
15318         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
15319         that uClibc does not have the glibc bug.
15320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
15321         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
15322
15323 2010-12-14  Eric Blake  <eblake@redhat.com>
15324
15325         configmake: provide fallbacks for oldest supported autotools
15326         * m4/configmake.m4: New file.
15327         * modules/configmake (Files): Ship it.
15328         (configure.ac): Use it to guarantee fallbacks.
15329
15330 2010-12-13  Pádraig Brady <P@draigBrady.com>
15331
15332         read-file: Improve handling of large files
15333         * lib/read-file.c (fread_file): Minimize realloc()s
15334         for regular files, and better manage sizes around SIZE_MAX.
15335
15336 2010-12-13  Eric Blake  <eblake@redhat.com>
15337
15338         cloexec, fcntl: relax license
15339         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
15340         consent from all contributors.
15341         * modules/fcntl (License): Likewise.
15342
15343 2010-12-10  Bruno Haible  <bruno@clisp.org>
15344
15345         Tests for module 'pipe-posix'.
15346         * modules/pipe-posix-tests: New file.
15347         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
15348
15349 2010-12-10  Bruno Haible  <bruno@clisp.org>
15350
15351         pipe-posix: Make it work in C++ mode.
15352         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
15353         (pipe): Use common idiom, not a macro definition.
15354         * lib/pipe.c: New file.
15355         * m4/pipe.m4: New file.
15356         * modules/pipe-posix (Description): Enhance.
15357         (Files): Add lib/pipe.c, m4/pipe.m4.
15358         (configure.ac): Invoke gl_FUNC_PIPE.
15359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
15360         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
15361         * tests/test-unistd-c++.cc: Check the signature of pipe.
15362
15363 2010-12-10  Bruno Haible  <bruno@clisp.org>
15364
15365         Rename module 'pipe' to 'spawn-pipe'.
15366         * modules/spawn-pipe: New file, renamed from modules/pipe.
15367         (Files, configure.ac, Makefile.am): Update.
15368         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
15369         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
15370         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
15371         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
15372         "spawn-pipe.h" instead of "pipe.h".
15373         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
15374         to gl_SPAWN_PIPE.
15375         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
15376         (Files, Makefile.am): Update.
15377         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
15378         Update.
15379         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
15380         Include "spawn-pipe.h" instead of "pipe.h".
15381         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
15382         * lib/javacomp.c: Likewise.
15383         * lib/javaversion.c: Likewise.
15384         * lib/pipe-filter-gi.c: Likewise.
15385         * lib/pipe-filter-ii.c: Likewise.
15386         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
15387         * modules/javacomp (Depends-on): Likewise.
15388         * modules/javaversion (Depends-on): Likewise.
15389         * modules/pipe-filter-gi (Depends-on): Likewise.
15390         * modules/pipe-filter-ii (Depends-on): Likewise.
15391         * MODULES.html.sh (Executing programs): Update.
15392         * NEWS: Mention the change.
15393
15394 2010-12-10  Eric Blake  <eblake@redhat.com>
15395
15396         pipe-posix: new module
15397         * modules/pipe-posix: New file.
15398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
15399         (gl_UNISTD_H): Check for declaration.
15400         * modules/unistd (Makefile.am): Substitute it.
15401         * lib/unistd.in.h (pipe): Provide it for mingw.
15402         * doc/posix-functions/pipe.texi (pipe): Update documentation.
15403         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
15404
15405 2010-12-07  Bruno Haible  <bruno@clisp.org>
15406
15407         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
15408         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
15409         u8_strcmp_gnu.
15410         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
15411
15412 2010-12-06  Bruno Haible  <bruno@clisp.org>
15413
15414         Update internal documentation.
15415         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
15416
15417 2010-12-04  Bruno Haible  <bruno@clisp.org>
15418
15419         Put more information about failed tests into the test return codes.
15420         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
15421         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
15422         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15423         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
15424         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15425         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15426         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15427         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15428         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
15429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15430         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
15431         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15432         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15433         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15434         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
15435         returns a bit mask.
15436         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15437         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
15438         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
15439         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
15440         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15441         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
15442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
15443         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
15444         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15445         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
15446         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15447         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
15448         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15449         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
15450         * m4/link.m4 (gl_FUNC_LINK): Likewise.
15451         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
15452         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
15453         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
15454         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15455         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
15456         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15457         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
15458         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15459         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
15460         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15461         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
15462         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
15463         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
15464         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
15465         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
15466         gl_PRINTF_PRECISION): Likewise.
15467         * m4/regex.m4 (gl_REGEX): Likewise.
15468         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
15469         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15470         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
15471         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15472         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15474         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
15475         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
15476         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
15477         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15478         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
15479         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
15480         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
15481         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
15482         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15483         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15484         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15485         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
15486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15487         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
15488         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
15489         enumerated value.
15490         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
15491
15492 2010-12-04  Bruno Haible  <bruno@clisp.org>
15493
15494         Update for Solaris 11 2010-11.
15495         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
15496         Express, released in November 2010.
15497
15498 2010-12-04  Bruno Haible  <bruno@clisp.org>
15499
15500         nproc: Relax license.
15501         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
15502         and Paul Eggert.
15503         Requested by Ludovic Courtès <ludo@gnu.org>.
15504
15505 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
15506
15507         utimecmp: fine-grained src to nearby coarse-grained dest
15508
15509         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
15510         and the source is on a file system with higher-resolution time
15511         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
15512         not work, and the time stamps are close together, the algorithm to
15513         determine the exact resolution from the read-back mtime was buggy:
15514         it had a "!=" where it should have had an "==".  This bug has been
15515         in the code ever since it was introduced to gnulib.
15516         Problem reported by Dan Jacobson in
15517         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
15518
15519 2010-11-30  Bruno Haible  <bruno@clisp.org>
15520
15521         strerror_r-posix: Fix autoconf test.
15522         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
15523
15524 2010-11-28  Bruno Haible  <bruno@clisp.org>
15525             Paul Eggert  <eggert@cs.ucla.edu>
15526
15527         Tests for module 'getdomainname'.
15528         * modules/getdomainname-tests: New file.
15529         * tests/test-getdomainname.c: New file, based on
15530         tests/test-gethostname.c.
15531
15532 2010-11-28  Bruno Haible  <bruno@clisp.org>
15533             Paul Eggert  <eggert@cs.ucla.edu>
15534
15535         getdomainname: Use the system function when possible.
15536         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
15537         (getdomainname): Replace if needed. Provide the declaration if it is
15538         missing. Don't use _GL_CXXALIAS_SYS_CAST.
15539         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
15540         (getdomainname): When the system has getdomainname, call the system
15541         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
15542         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
15543         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
15544         found in libnsl. Look for the declaration also in <netdb.h>. Replace
15545         the function if its second argument is of type 'int' or if it is found
15546         in libnsl.
15547         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
15548         <sys/systeminfo.h> and sysinfo().
15549         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
15550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15551         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
15552         HAVE_GETDOMAINNAME.
15553         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
15554         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
15555         * doc/glibc-functions/getdomainname.texi: Document the problems with
15556         the getdomainname declaration.
15557
15558 2010-11-28  Bruno Haible  <bruno@clisp.org>
15559
15560         sys_socket: Ensure ss_family field on AIX.
15561         * lib/sys_socket.in.h (ss_family): New macro definition.
15562         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
15563         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
15564         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15565         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
15566         * modules/sys_socket (Makefile.am): Substitute
15567         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
15568         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
15569
15570 2010-11-27  Bruno Haible  <bruno@clisp.org>
15571
15572         readline: Improve configure output.
15573         * m4/readline.m4 (gl_FUNC_READLINE): Make the
15574         "checking for readline..." result understandable.
15575
15576 2010-11-27  Bruno Haible  <bruno@clisp.org>
15577
15578         *printf-posix: Detect a bug on Solaris 10/x86.
15579         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
15580         for floating-point output.
15581         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
15582         directive.
15583         * tests/test-snprintf-posix.h (test_function): Likewise.
15584         * tests/test-sprintf-posix.h (test_function): Likewise.
15585         * tests/test-vasprintf-posix.c (test_function): Likewise.
15586         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
15587         * doc/posix-functions/printf.texi: Likewise.
15588         * doc/posix-functions/snprintf.texi: Likewise.
15589         * doc/posix-functions/sprintf.texi: Likewise.
15590         * doc/posix-functions/vfprintf.texi: Likewise.
15591         * doc/posix-functions/vprintf.texi: Likewise.
15592         * doc/posix-functions/vsnprintf.texi: Likewise.
15593         * doc/posix-functions/vsprintf.texi: Likewise.
15594         * doc/glibc-functions/obstack_printf.texi: Likewise.
15595         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
15596
15597 2010-11-27  Bruno Haible  <bruno@clisp.org>
15598
15599         Fix link error when module libunistring-optional is in use.
15600         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
15601         * modules/striconveha-tests (Makefile.am): Likewise.
15602
15603 2010-11-27  Bruno Haible  <bruno@clisp.org>
15604
15605         regex: Mention link dependencies.
15606         * modules/regex (Link): New section.
15607         * modules/rpmatch (Link): Likewise.
15608         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
15609
15610 2010-11-27  Bruno Haible  <bruno@clisp.org>
15611
15612         ftoastr: Fix compilation error on Solaris.
15613         * lib/ftoastr.c: Include <config.h>.
15614
15615 2010-11-27  Bruno Haible  <bruno@clisp.org>
15616
15617         getloadavg: Update documentation.
15618         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
15619
15620 2010-11-27  Bruno Haible  <bruno@clisp.org>
15621
15622         sys_socket: Fix test whether the functions are declared.
15623         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
15624         not <sys/select.h>.
15625
15626 2010-11-27  Bruno Haible  <bruno@clisp.org>
15627
15628         getpass: Make sure to get system declaration on some platforms.
15629         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
15630         gl_USE_SYSTEM_EXTENSIONS.
15631         * modules/getpass (Depends-on): Add extensions.
15632
15633 2010-11-26  Bruno Haible  <bruno@clisp.org>
15634
15635         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
15636         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
15637         'iconv' module is present.
15638         (ICONV_CONST): New macro.
15639         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
15640         ICONV_CONST.
15641         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
15642         set ICONV_CONST.
15643         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
15644         here.
15645         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
15646         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
15647         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
15648         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
15649         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
15650         present.
15651
15652 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15653
15654         ftoastr: comment fix
15655         * lib/ftoastr.c: "little" -> "little or no" in comment
15656
15657 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
15658
15659         stdint: port to GCC 4.3 + OSX + Octave
15660         On this platform, stdint.h is buggy and defines int64_t to long
15661         long int.  The replacement defined it to long int, causing
15662         problems with C++ style name mangling.  Instead, trust the system
15663         definition if INT64_MAX is defined, and likewise for the unsigned
15664         variant.   Problem reported by Jarno Rajahalme in
15665         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
15666         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
15667         and don't mess with int64_t and INT64_MAX in this case.
15668         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
15669
15670 2010-11-24  Bruno Haible  <bruno@clisp.org>
15671
15672         doc: Corrections regarding MacOS X 10.4 and 10.5.
15673         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
15674         MacOS X.
15675         Reported by Simon Josefsson.
15676
15677 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
15678
15679         Uninstall ".bin" files installed by relocwrapper.
15680         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
15681         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
15682         unless it is already there.
15683
15684 2010-11-21  Bruno Haible  <bruno@clisp.org>
15685
15686         Update for NetBSD 5.0.
15687         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
15688         NetBSD; the test fails on NetBSD 5.0.
15689         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
15690         about NetBSD.
15691
15692 2010-11-21  Bruno Haible  <bruno@clisp.org>
15693
15694         Update for HP-UX 11.23 and HP-UX 11.31.
15695         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
15696         HP-UX.
15697
15698 2010-11-21  Bruno Haible  <bruno@clisp.org>
15699
15700         Update for MacOS X 10.5.
15701         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
15702         MacOS X; the test fails on MacOS X 10.5.8.
15703         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
15704         about MacOS X.
15705
15706 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
15707
15708         bootstrap: add bootstrap_sync option.
15709         See discussion at
15710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
15711         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
15712         * build-aux/bootstrap: Accept --bootstrap-sync to update
15713         bootstrap if it is not identical to the local gnulib's
15714         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
15715         enable this by default.  Accept --no-bootstrap-sync to disable
15716         it.
15717
15718 2010-11-20  Bruno Haible  <bruno@clisp.org>
15719
15720         Ensure that <features.h> is included before __GLIBC__ is tested.
15721         * lib/printf-parse.h: Include <features.h>.
15722         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
15723         Reported by Mike Frysinger <vapier@gentoo.org>.
15724
15725         Ensure that <features.h> is included before __GLIBC__ is tested.
15726         * lib/wchar.in.h: Include <features.h>.
15727         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
15728         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
15729         Reported by Mike Frysinger <vapier@gentoo.org>.
15730
15731         Ensure that <features.h> is included before __GLIBC__ is tested.
15732         * lib/arpa_inet.in.h: Include <features.h>.
15733         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
15734         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
15735         Reported by Mike Frysinger <vapier@gentoo.org>.
15736
15737         Ensure that <features.h> is included before __GLIBC__ is tested.
15738         * build-aux/link-warning.h: Include <features.h>.
15739         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
15740         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
15741         Reported by Mike Frysinger <vapier@gentoo.org>.
15742
15743         Ensure that <features.h> is included before __GLIBC__ is tested.
15744         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
15745         Reported by Mike Frysinger <vapier@gentoo.org>.
15746
15747 2010-11-20  Bruno Haible  <bruno@clisp.org>
15748
15749         memmem: Fix autoconf test.
15750         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
15751
15752 2010-11-20  Bruno Haible  <bruno@clisp.org>
15753
15754         Port to uClibc.
15755         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
15756         * lib/fcntl.in.h: Likewise.
15757         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
15758         * lib/mbrtowc.c (mbrtowc): Likewise.
15759         * lib/relocatable.c (find_shared_library_fullname): Likewise.
15760         * lib/strerror_r.c: Likewise.
15761         * lib/unistr/u8-strnlen.c: Likewise.
15762         * lib/vasnprintf.c (decimal_point_char): Likewise.
15763         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
15764         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
15765         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
15766         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15767         * tests/test-sigaction.c (handler, main): Likewise.
15768         * lib/freading.h: Treat uClibc like a non-glibc platform.
15769         * lib/freading.c: Likewise.
15770         * lib/gettext.h: Likewise.
15771         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
15772         Likewise.
15773         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
15774         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
15775         * lib/propername.c (proper_name_utf8): Likewise.
15776         * lib/spawn.in.h: Likewise.
15777         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
15778         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
15779         mem_cd_iconveh_internal): Likewise.
15780         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
15781         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15782         strstr, strcasestr): Likewise.
15783         * lib/unicodeio.c (unicode_to_mb): Likewise.
15784         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
15785         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
15786         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
15787         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
15788         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
15789         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
15790         * lib/unistr/u8-stpncpy.c: Likewise.
15791         * lib/vasnprintf.c (VASNPRINTF): Likewise.
15792         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
15793         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15794         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15795         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15796         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
15797         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
15798         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
15799         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15800         Likewise.
15801         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15802         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15803         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15805         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15806         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15807         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15808         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
15809         * tests/test-getopt.h (OPTIND_MIN): Likewise.
15810         * tests/test-striconveha.c (main): Likewise.
15811         * tests/test-vasnprintf-posix.c (test_function): Likewise.
15812         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
15813         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
15814         * doc/posix-functions/getline.texi: Likewise.
15815         Reported by Mike Frysinger <vapier@gentoo.org>.
15816
15817 2010-11-20  Bruno Haible  <bruno@clisp.org>
15818
15819         nproc: Fix condition.
15820         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
15821         HAVE_PTHREAD_AFFINITY_NP.
15822
15823 2010-11-20  Bruno Haible  <bruno@clisp.org>
15824
15825         Fix a comment.
15826         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
15827
15828 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
15829
15830         ftoastr: don't assume snprintf
15831         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
15832         Implement a subset of snprintf here, by using sprintf safely.
15833         * modules/ftoastr (Depends-on): Remove snprintf.
15834
15835 2010-11-19  Jim Meyering  <meyering@redhat.com>
15836
15837         test-rename.h: fix compilation failure
15838         * tests/test-rename.h (test_rename): Add omitted "}".
15839
15840 2010-11-17  Jim Meyering  <meyering@redhat.com>
15841
15842         maint.mk: add a URL discussing the no-@acronym policy
15843         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
15844
15845 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
15846
15847         ftoastr: depend on snprintf, improve comments
15848         * lib/ftoastr.c: Also mention Loitsch's draft.
15849         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
15850         needed in the current implementation, but it might simplify
15851         speeding up the code later.
15852         * modules/ftoastr: Depend on snprintf; this improves portability.
15853         Suggested by Bruno Haible in the same email.
15854
15855         ftoastr: port to hosts lacking strtof and strtold
15856         Problem reported by Bruno Haible in
15857         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
15858         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
15859         environment and strtold (and presumably strtof) are not available.
15860         * modules/ftoastr (Files): Add m4/c-strtod.m4.
15861         (configure.ac): Require gl_C99_STRTOLD.
15862
15863 2010-11-18  Bruno Haible  <bruno@clisp.org>
15864
15865         c-strtold: Avoid link error on AIX 7.
15866         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
15867         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
15868         (gl_C_STRTOLD): Test whether strtold_l exists.
15869         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15870
15871 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15872
15873         intprops: new macro INT_BITS_STRLEN_BOUND
15874         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
15875         ftoastr.h.  This exposes an internal of intprops.h that was formerly
15876         not exposed.  Also, it uses a slightly tighter bound than before;
15877         though this makes no practical difference, we might as well be as
15878         tight as we easily can.
15879
15880         ftoastr: new module, for lossless conversion of floats to short strings
15881         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
15882         * modules/ftoastr: New files.
15883
15884 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
15885
15886         bootstrap: port to Solaris sed
15887         * build-aux/bootstrap (get_version): Port to Solaris sed.
15888         See Ralf Wildenhues's note in
15889         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
15890
15891 2010-11-14  Jim Meyering  <meyering@redhat.com>
15892
15893         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
15894         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
15895         and move definition closer to sole use.
15896
15897 2010-11-13  Jim Meyering  <meyering@redhat.com>
15898
15899         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
15900         Now we require at least autoconf-2.59, which means the work-around
15901         is no longer needed.
15902         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
15903         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15904         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
15905         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
15906         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15907
15908 2010-11-13  Bruno Haible  <bruno@clisp.org>
15909
15910         rename, renameat: Avoid test failures at NFS mounted locations.
15911         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
15912         functions.
15913         (test_rename): Use assert_nonexistent.
15914         * tests/test-rename.c: Include <dirent.h>.
15915         * tests/test-renameat.c: Likewise.
15916         Reported by Gary V. Vaughan <gary@gnu.org>.
15917
15918         rename, renameat: Document Linux bug with NFS
15919         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
15920         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
15921         * doc/posix-functions/renameat.texi: Likewise.
15922         Suggested by Eric Blake.
15923
15924 2010-11-13  Bruno Haible  <bruno@clisp.org>
15925
15926         rename test: Add comments.
15927         * tests/test-rename.h (test_rename): Add structure and comments.
15928
15929 2010-11-13  Eric Blake  <eblake@redhat.com>
15930
15931         maintainer-makefile: cover a few more files
15932         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
15933         scripts generated within C files, for libvirt.
15934
15935 2010-11-13  Bruno Haible  <bruno@clisp.org>
15936
15937         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
15938         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
15939         character, return the number of bytes that belong together, not always
15940         1.
15941         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
15942         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
15943         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
15944         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
15945         number of bytes of an invalid character.
15946         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
15947         (main): Invoke it.
15948         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
15949         results.
15950         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
15951         malformed byte sequences.
15952         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
15953         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
15954         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
15955         Reported by Ben Pfaff and Paolo Bonzini.
15956
15957 2010-11-13  Bruno Haible  <bruno@clisp.org>
15958
15959         openat: Work around glibc bug with fchownat() and empty file names.
15960         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
15961         (gl_FUNC_FCHOWNAT): Invoke it.
15962         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
15963         * doc/posix-functions/fchownat.texi: Document the glibc bug.
15964         Reported by Gary V. Vaughan <gary@gnu.org>.
15965
15966 2010-11-13  Bruno Haible  <bruno@clisp.org>
15967
15968         openat: Ensure autoconf macro ordering.
15969         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
15970         gl_USE_SYSTEM_EXTENSIONS.
15971         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
15972
15973 2010-11-13  Bruno Haible  <bruno@clisp.org>
15974
15975         Update comments.
15976         * lib/unistr/u8-check.c: Update file name in comments.
15977         * lib/unistr/u8-mblen.c: Likewise.
15978         * lib/unistr/u8-prev.c: Likewise.
15979         * lib/unistr/u8-strmblen.c: Likewise.
15980         * lib/unistr/u8-strmbtouc.c: Likewise.
15981
15982 2010-11-13  Jim Meyering  <meyering@redhat.com>
15983
15984         tests: avoid test failure on Solaris 10 due to lack of PATH export
15985         * tests/test-update-copyright.sh: Don't forget to export PATH.
15986
15987         init.sh: ensure that IFS is defined, just in case...
15988         * tests/init.sh (setup_): Ensure that IFS is defined,
15989         so that saving and restoring it works as expected.  This
15990         appears to be useful at least for an old version of dash
15991         from a long time ago (RH 6).  See here for details:
15992         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
15993
15994         maint.mk: tighten "test a == b" check
15995         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
15996         test to files that contain something like #!/bin/sh.
15997         Without this, coreutils would get two false positives in
15998         the comments of C source files.
15999
16000 2010-11-12  Eric Blake  <eblake@redhat.com>
16001
16002         bootstrap: fix typo in previous attempt
16003         * build-aux/bootstrap (buildreq): Correct the grouping.
16004         Reported by Paul Eggert.
16005
16006         maintainer-makefile: prohibit test x == x
16007         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
16008         Based on a report by Matthias Bolte.
16009
16010         bootstrap: allow FreeBSD gzip
16011         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
16012         which has no '.' and goes to stderr.
16013         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
16014         Reported by Matthias Bolte.
16015
16016         maintainer-makefile: check for i18n setup
16017         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
16018         will likely work.
16019
16020 2010-11-12  Bruno Haible  <bruno@clisp.org>
16021
16022         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
16023         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
16024         * lib/nanosleep.c (nanosleep): Likewise.
16025
16026 2010-11-11  Bruno Haible  <bruno@clisp.org>
16027
16028         fcntl-h: Fix for use of C++ on glibc systems.
16029         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16030         also on glibc systems in C++ mode.
16031         Reported by Gary V. Vaughan <gary@gnu.org>.
16032
16033 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16034
16035         mknod: avoid false failure with dash
16036         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
16037
16038 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16039
16040         unlink: Fix "is it should" typo in diagnostic.
16041         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
16042         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
16043
16044 2010-11-11  Bruno Haible  <bruno@clisp.org>
16045
16046         Tests for module 'strerror_r-posix'.
16047         * modules/strerror_r-posix-tests: New file.
16048         * tests/test-strerror_r.c: New file.
16049         * tests/test-string-c++.cc: Check the signature of strerror_r.
16050
16051         New module 'strerror_r-posix'.
16052         * lib/string.in.h (strerror_r): New declaration.
16053         * lib/strerror_r.c: New file.
16054         * m4/strerror_r.m4: New file.
16055         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
16056         of strerror_r.
16057         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
16058         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
16059         * modules/strerror_r-posix: New file.
16060         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
16061         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
16062         * doc/posix-functions/strerror_r.texi: Mention the new module and the
16063         portability problems.
16064
16065 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
16066
16067         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
16068         line is also considered for output. Quoted function name in shell
16069         command, so temporary files for functions like MyClass::operator()
16070         are removed correctly without errors.
16071
16072 2010-11-09  Bruno Haible  <bruno@clisp.org>
16073
16074         * doc/posix-functions/strerror.texi: List more failing platforms.
16075
16076         * doc/posix-functions/strerror.texi: Add a comment.
16077
16078 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
16079
16080         fdopendir: fix bug on MacOS X when low on file descriptors
16081
16082         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
16083         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
16084         All callers changed.
16085         (fdopendir): Invoke save_cwd at the top level, not after using
16086         multiple dup() calls to use up file descriptors.  Then retry
16087         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
16088         less than the maximum number of open file descriptors, because
16089         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
16090         on Mac OS X 10.6.4 for tar 1.24
16091         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
16092         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
16093         and for tar 1.25
16094         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
16095
16096 2010-11-07  Bruno Haible  <bruno@clisp.org>
16097
16098         vasnprintf: Support I flag on glibc systems.
16099         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
16100         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
16101         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
16102         snprintf function.
16103         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
16104         glibc systems.
16105         * tests/test-vasnprintf-posix3.c: New file.
16106         * modules/vasnprintf-posix-tests (Files): Add it.
16107         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
16108
16109 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
16110
16111         [html] Fix copy/paste bug: Use unique name for compiler warnings.
16112         * MODULES.html.sh: For compiler warnings, use name
16113         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
16114
16115 2010-11-05  Eric Blake  <eblake@redhat.com>
16116
16117         ceil, floor: avoid spurious failure with icc
16118         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
16119         [denormals-as-zero] when optimizing without -mieee-fp option.
16120         * tests/test-floorf2.c (floorf_reference): Likewise.
16121         * tests/test-ceilf1.c (dummy): New function.
16122         (main): Use it to outsmart icc's optimization.
16123         * tests/test-floorf1.c (dummy, main): Likewise.
16124
16125         tests: require working signbit
16126         * modules/ceilf-tests (Depends-on): Add signbit.
16127         * modules/ceill-tests (Depends-on): Likewise.
16128         * modules/floorf-tests (Depends-on): Likewise.
16129         * modules/floorl-tests (Depends-on): Likewise.
16130         * modules/round-tests (Depends-on): Likewise.
16131         * modules/roundf-tests (Depends-on): Likewise.
16132         * modules/roundl-tests (Depends-on): Likewise.
16133         * modules/trunc-tests (Depends-on): Likewise.
16134         * modules/truncf-tests (Depends-on): Likewise.
16135         * modules/truncl-tests (Depends-on): Likewise.
16136
16137         strtod: work around icc bug
16138         * lib/strtod.c (minus_zero): Define to working value.
16139         (strtod): Use it to avoid icc bug.
16140
16141         copysign: enhance tests
16142         * modules/copysign-tests (Files): Add minus-zero.h.
16143         * tests/test-copysign.c (main): Also test zeros.
16144
16145 2010-11-04  Eric Blake  <eblake@redhat.com>
16146
16147         ceil, floor, round, trunc: enhance tests of -0
16148         * tests/test-ceilf1.c (main): Ensure correct sign of result.
16149         * tests/test-ceill.c (main): Likewise.
16150         * tests/test-floorf1.c (main): Likewise.
16151         * tests/test-floorl.c (main): Likewise.
16152         * tests/test-round1.c (main): Likewise.
16153         * tests/test-roundf1.c (main): Likewise.
16154         * tests/test-roundl.c (main): Likewise.
16155         * tests/test-trunc1.c (main): Likewise.
16156         * tests/test-truncf1.c (main): Likewise.
16157         * tests/test-truncl.c (main): Likewise.
16158
16159 2010-11-04  Eric Blake  <eblake@redhat.com>
16160
16161         frexp, tests: work around ICC bug with -zero
16162         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
16163         works with more compilers.
16164         * tests/minus-zero.h: New file.
16165         * modules/ceilf-tests (Files): Include it.
16166         * modules/ceill-tests (Files): Likewise.
16167         * modules/floorf-tests (Files): Likewise.
16168         * modules/floorl-tests (Files): Likewise.
16169         * modules/frexp-nolibm-tests (Files): Likewise.
16170         * modules/frexp-tests (Files): Likewise.
16171         * modules/frexpl-nolibm-tests (Files): Likewise.
16172         * modules/frexpl-tests (Files): Likewise.
16173         * modules/isnan-tests (Files): Likewise.
16174         * modules/isnand-nolibm-tests (Files): Likewise.
16175         * modules/isnand-tests (Files): Likewise.
16176         * modules/isnanf-nolibm-tests (Files): Likewise.
16177         * modules/isnanf-tests (Files): Likewise.
16178         * modules/isnanl-nolibm-tests (Files): Likewise.
16179         * modules/isnanl-tests (Files): Likewise.
16180         * modules/round-tests (Files): Likewise.
16181         * modules/roundf-tests (Files): Likewise.
16182         * modules/roundl-tests (Files): Likewise.
16183         * modules/ldexpl-tests (Files): Likewise.
16184         * modules/signbit-tests (Files): Likewise.
16185         * modules/snprintf-posix-tests (Files): Likewise.
16186         * modules/sprintf-posix-tests (Files): Likewise.
16187         * modules/strtod-tests (Files): Likewise.
16188         * modules/trunc-tests (Files): Likewise.
16189         * modules/truncf-tests (Files): Likewise.
16190         * modules/truncl-tests (Files): Likewise.
16191         * modules/vsnprintf-posix-tests (Files): Likewise.
16192         * modules/vsprintf-posix-tests (Files): Likewise.
16193         * modules/vasnprintf-posix-tests (Files): Likewise.
16194         * modules/vasprintf-posix-tests (Files): Likewise.
16195         * tests/test-ceilf1.c (main): Use it.
16196         * tests/test-ceill.c (main): Likewise.
16197         * tests/test-floorf1.c (main): Likewise.
16198         * tests/test-floorl.c (main): Likewise.
16199         * tests/test-frexp.c (main): Likewise.
16200         * tests/test-frexpl.c (main): Likewise.
16201         * tests/test-isnan.c (main): Likewise.
16202         * tests/test-isnand.h (main): Likewise.
16203         * tests/test-isnanf.h (main): Likewise.
16204         * tests/test-isnanl.h (main): Likewise.
16205         * tests/test-ldexpl.c (main): Likewise.
16206         * tests/test-round.c (main): Likewise.
16207         * tests/test-roundf.c (main): Likewise.
16208         * tests/test-roundl.c (main): Likewise.
16209         * tests/test-signbit.c (test_signbitf, test_signbitd)
16210         (test_signbitl): Likewise.
16211         * tests/test-snprintf-posix.h (test_function): Likewise.
16212         * tests/test-sprintf-posix.h (test_function): Likewise.
16213         * tests/test-strtod.c (main): Likewise.
16214         * tests/test-trunc1.c (main): Likewise.
16215         * tests/test-truncf1.c (main): Likewise.
16216         * tests/test-truncl.c (main): Likewise.
16217
16218         isnanl: work around icc bug
16219         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
16220
16221 2010-11-03  Eric Blake  <eblake@redhat.com>
16222
16223         tests: fix compiler warnings
16224         * tests/test-getopt.h (test_getopt): Fix condition.
16225         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16226         * tests/test-pipe2.c (main): Likewise.
16227         * tests/test-quotearg-simple.c (main): Avoid icc warning.
16228
16229         utimens: fix broken m4 test
16230         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
16231
16232 2010-10-28  Bruno Haible  <bruno@clisp.org>
16233
16234         posix_spawn*, getdtablesize: Relax license.
16235         * modules/posix_spawn (License): Change to LGPLv2+.
16236         * modules/posix_spawnp (License): Likewise.
16237         * modules/posix_spawn-internal (License): Likewise.
16238         * modules/posix_spawnattr_init (License): Likewise.
16239         * modules/posix_spawnattr_getflags (License): Likewise.
16240         * modules/posix_spawnattr_setflags (License): Likewise.
16241         * modules/posix_spawnattr_getpgroup (License): Likewise.
16242         * modules/posix_spawnattr_setpgroup (License): Likewise.
16243         * modules/posix_spawnattr_getschedparam (License): Likewise.
16244         * modules/posix_spawnattr_setschedparam (License): Likewise.
16245         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
16246         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
16247         * modules/posix_spawnattr_getsigdefault (License): Likewise.
16248         * modules/posix_spawnattr_setsigdefault (License): Likewise.
16249         * modules/posix_spawnattr_getsigmask (License): Likewise.
16250         * modules/posix_spawnattr_setsigmask (License): Likewise.
16251         * modules/posix_spawnattr_destroy (License): Likewise.
16252         * modules/posix_spawn_file_actions_init (License): Likewise.
16253         * modules/posix_spawn_file_actions_addclose (License): Likewise.
16254         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
16255         * modules/posix_spawn_file_actions_addopen (License): Likewise.
16256         * modules/posix_spawn_file_actions_destroy (License): Likewise.
16257         * modules/getdtablesize (License): Likewise.
16258         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
16259
16260 2010-10-26  Bruno Haible  <bruno@clisp.org>
16261
16262         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
16263         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
16264         Cygwin and mingw.
16265         Suggested by Eric Blake.
16266
16267 2010-10-26  Bruno Haible  <bruno@clisp.org>
16268
16269         stdio: Work around compilation error due to renameat() on Solaris 10.
16270         * lib/stdio.in.h: Include <unistd.h> on Solaris.
16271         * lib/renameat.c: Don't include <unistd.h> here.
16272         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
16273         Reported by Paul Eggert and Eric Blake.
16274
16275 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
16276
16277         renameat: port to Solaris 10, which declares renameat in unistd.h
16278
16279         * lib/renameat.c: Include unistd.h before stdio.h, because
16280         Solaris 10 declares renameat in unistd.h.  Problem encountered
16281         when building GNU tar 1.24 on Solaris 10.
16282
16283 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16284
16285         fdopendir: fix C89 compilation
16286         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
16287         compilers.
16288
16289 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16290
16291         inttostr: simplify by removing unnecessary redundancy
16292         * lib/anytostr.c: Don't include verify.h.
16293         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
16294         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
16295         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
16296         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
16297         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
16298         Likewise.
16299         * modules/inttostr (Depends-on): Remove 'verify'.
16300
16301 2010-10-23  Bruno Haible  <bruno@clisp.org>
16302
16303         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
16304         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
16305         Reported by Eric Blake.
16306
16307 2010-10-23  Bruno Haible  <bruno@clisp.org>
16308
16309         Tests: Fix LOCALE_JA on MirBSD 10.
16310         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
16311         to an UTF-8 locale.
16312         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
16313         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16314         Reported by Eric Blake.
16315
16316 2010-10-21  Bruno Haible  <bruno@clisp.org>
16317
16318         nl_langinfo test: Avoid test failure on NetBSD 5.
16319         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
16320         Reported by Eric Blake.
16321
16322 2010-10-21  Eric Blake  <eblake@redhat.com>
16323
16324         c-stack: work around libsigsegv 2.8 bug
16325         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
16326         overflow on at least PowerPC64.
16327
16328 2010-10-17  Bruno Haible  <bruno@clisp.org>
16329
16330         userspec: Drop redundant file.
16331         * modules/userspec (Files): Remove lib/inttostr.h.
16332
16333 2010-10-17  Bruno Haible  <bruno@clisp.org>
16334
16335         nl_langinfo tests: Silence some warnings.
16336         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
16337         Reported by Jim Meyering.
16338
16339 2010-10-17  Bruno Haible  <bruno@clisp.org>
16340
16341         Make use of GCC's attribute __alloc_size__.
16342         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
16343         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
16344         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
16345         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
16346         __alloc_size__.
16347         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16348         Suggested by Jim Meyering.
16349
16350 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
16351
16352         bootstrap: anchor .gitignore entries.
16353         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
16354         with...
16355         (insert_vc_ignore): ... this new function, which prepends `/' to
16356         all .gitignore entries before passing them to
16357         insert_sorted_if_absent.
16358
16359 2010-10-16  Bruno Haible  <bruno@clisp.org>
16360
16361         nextafter: Fix configure check.
16362         * modules/nextafter (configure.ac): Correct expected prototype.
16363
16364 2010-10-16  Bruno Haible  <bruno@clisp.org>
16365
16366         termios: Update documentation.
16367         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
16368
16369 2010-10-16  Bruno Haible  <bruno@clisp.org>
16370
16371         tests: Make them compile with TinyCC.
16372         * tests/test-strstr.c (main): Remove parentheses around array
16373         initializer.
16374
16375 2010-10-15  Eric Blake  <eblake@redhat.com>
16376
16377         ignore-value: make header idempotent
16378         * lib/ignore-value.h: Add double-inclusion guards.
16379         Reported by Stefan Berger.
16380
16381 2010-10-15  Jim Meyering  <meyering@redhat.com>
16382
16383         GNUmakefile: handle "stable" target, not "major"
16384         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
16385         lists in maint.mk and announce-gen.  Without this, "make stable"
16386         would fail to ensure that $(VERSION) is up to date.
16387
16388 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
16389
16390         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
16391         & co.
16392
16393 2010-10-14  Bruno Haible  <bruno@clisp.org>
16394
16395         vasnprintf: Don't set errno to 0.
16396         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
16397         block that sets it to 0.
16398         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
16399
16400 2010-10-14  Bruno Haible  <bruno@clisp.org>
16401
16402         socketlib: Fix.
16403         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
16404         gl_PREREQ_SYS_H_WINSOCK2.
16405         Reported by Ian Beckwith <ianb@erislabs.net>.
16406
16407 2010-10-13  Jim Meyering  <meyering@redhat.com>
16408
16409         test-select-stdin.c: avoid warn_unused_result warnings
16410         * tests/test-select-stdin.c: Include "macros.h".
16411         ASSERT that read and fflush succeed.
16412
16413 2010-10-13  Jim Meyering  <meyering@redhat.com>
16414
16415         git-version-gen: do require git-VC'd files in cwd
16416         * build-aux/git-version-gen: Reject a git version string
16417         if there are no commits associated with the current directory.
16418         This avoids an unlikely false-positive (unrelated dir whose parent
16419         repository also contains a tag matching v*), as pointed out
16420         by Giuseppe Scrivano in
16421         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
16422
16423 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16424
16425         argv-iter: omit nonconforming declaration
16426         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
16427         enum arg_iter_err declaration, which doesn't conform to C99.
16428         Solaris 10 cc warns about this.
16429
16430 2010-10-13  Eric Blake  <eblake@redhat.com>
16431
16432         termios: fix compilation on mingw
16433         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
16434         (gl_TERMIOS_H): Adjust it on mingw.
16435         * modules/termios (Makefile.am): Substitute new key.
16436         * lib/termios.in.h (includes): Make include_next conditional.
16437         * doc/posix-headers/termios.texi (termios.h): Update
16438         documentation.
16439         Reported by Daniel P. Berrange.
16440
16441 2010-10-13  Jim Meyering  <meyering@redhat.com>
16442
16443         git-version-gen: don't require that .git/ be in the current dir
16444         * build-aux/git-version-gen: Adjust this script so that it works
16445         when run from any working directory beneath the top-level .git/-
16446         containing directory.  Inspired by a patch from Giuseppe Scrivano,
16447         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
16448
16449         test-select: avoid warn_unused_result warnings
16450         * tests/test-select.c: Include "macros.h".
16451         ASSERT that each call to read, write, and pipe succeeds.
16452         While not technically required, also check each "close".
16453         * modules/select-tests (Files): Add tests/macros.h.
16454
16455         test-symlinkat: remove declaration of unused local
16456         * tests/test-symlinkat.c (main): Remove unused local, "buf".
16457
16458         test-inttostr: avoid shadowing warnings
16459         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
16460         and use malloc rather than the stack for the same reason as
16461         mentioned in the comment justifying the other allocation.
16462
16463 2010-10-11  Bruno Haible  <bruno@clisp.org>
16464
16465         stdlib: Allow multiple gnulib generated replacements to coexist.
16466         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
16467         Reported by Sam Steingold <sds@gnu.org>.
16468
16469 2010-10-11  Jim Meyering  <meyering@redhat.com>
16470
16471         fix a documentation typo
16472         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
16473
16474 2010-10-11  Eric Blake  <eblake@redhat.com>
16475
16476         futimens: work around Solaris 11 bug
16477         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
16478         * tests/test-futimens.h (test_futimens): Enhance, rather than
16479         weaken test.
16480         * doc/posix-functions/futimens.texi (futimens): Document the bug.
16481
16482 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
16483
16484         Indentation.
16485         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
16486         higher-level operators more to the left.
16487
16488 2010-10-11  Jim Meyering  <meyering@redhat.com>
16489
16490         test-futimens: avoid unwarranted test failure on Solaris 5.11
16491         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
16492         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
16493         because it tries to dereference the NULL name argument.
16494
16495 2010-10-11  Bruno Haible  <bruno@clisp.org>
16496
16497         Indentation.
16498         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
16499         indentation.
16500
16501 2010-10-11  Jim Meyering  <meyering@redhat.com>
16502
16503         spawn.in.h: make indentation consistent with parentheses
16504         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
16505         Make indentation consistent with parentheses.
16506
16507 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
16508
16509         Fix mismatched parens in previous commit
16510         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
16511         parens.
16512
16513 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16514
16515         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
16516
16517         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
16518         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
16519         * lib/malloca.c: Include "verify.h".
16520         (verify1): Remove, replacing with a verify call.
16521         * lib/relocwrapper.c (verify1): Likewise.
16522         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
16523         Likewise.
16524         * modules/malloca (Depends-on): Add 'verify'.
16525         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
16526         * modules/vasnprintf (Depends-on): Add 'verify'.
16527         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16528         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16529         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16530         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16531         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16532         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16533         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16534
16535         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
16536
16537         Formerly the style was sometimes 2*X - 1, because the C standard
16538         was wrongly thought to disallow ?: in integral constant expressions.
16539         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
16540         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
16541         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
16542         * lib/stdint.in.h (_verify_intmax_size): Likewise.
16543         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
16544         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
16545         verify that time_t cannot be floating.
16546
16547 2010-10-08  Eric Blake  <eblake@redhat.com>
16548
16549         time: enforce recent POSIX ruling that time_t is integral
16550         * lib/time.in.h (__time_t_must_be_integral): Detect any
16551         problematic systems, allowing the rest of gnulib to assume POSIX.
16552
16553 2010-10-08  Jim Meyering  <meyering@redhat.com>
16554
16555         fdopendir: fix a bug on systems lacking openat and /proc support
16556         OpenBSD 4.7 is one such system.  The most noticeable effect was
16557         failure of any application making nontrivial use of fts: rm, du,
16558         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
16559           ./rm: traversal failed: `a': Bad file descriptor
16560         Debugging that, you see that even though FD 6 was closed just
16561         prior to the opendir call in fd_clone_opendir, its resulting
16562         dir->dd_fd was 8, rather than the expected value of 6:
16563
16564         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
16565         93                close (fd);
16566         (gdb) n
16567         94                dir = fd_clone_opendir (dupfd);
16568         (gdb) n
16569         95                saved_errno = errno;
16570         (gdb) p dir->dd_fd
16571         $11 = 8
16572
16573         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
16574         The problem is that on OpenBSD, fd_clone_opendir has to resort
16575         to using the old-style save/restore CWD mechanism, due to its
16576         lack of openat/proc support, and *that* would steal the FD (6)
16577         that opendir was supposed to use.
16578
16579         The fix is to squirrel away the desired FD so that save_cwd uses a
16580         different one, and then free the dest FD right before calling opendir.
16581         That guarantees opendir will use the required file descriptor.
16582
16583         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
16584
16585 2010-10-08  Bruno Haible  <bruno@clisp.org>
16586
16587         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
16588         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
16589
16590 2010-10-08  Bruno Haible  <bruno@clisp.org>
16591
16592         nanosleep: Make replacement POSIX compliant.
16593         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
16594         is out of range.
16595         Reported by Jim Meyering.
16596
16597 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16598
16599         bootstrap: add hook for altering gnulib.mk, for Bison
16600         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
16601         the Bison bootstrapping process can rewrite file names and variables
16602         in this file before later parts of 'bootstrap' use the file.
16603         Bison wants to include lib/gnulib.mk from the top-level makefile,
16604         so it needs the file names in this file to be relative to the top
16605         level, not relative to lib; plus it needs variable names to be
16606         rewritten.
16607         (slurp): Use the new function.
16608
16609         bootstrap: reformat for readability
16610         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
16611
16612 2010-10-08  Eric Blake  <eblake@redhat.com>
16613
16614         docs: update cygwin progress
16615         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
16616         1.7.7.
16617         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
16618         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
16619         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
16620         * doc/posix-functions/carg.texi (carg): Likewise.
16621         * doc/posix-functions/cargf.texi (cargf): Likewise.
16622         * doc/posix-functions/casin.texi (casin): Likewise.
16623         * doc/posix-functions/casinf.texi (casinf): Likewise.
16624         * doc/posix-functions/casinh.texi (casinh): Likewise.
16625         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
16626         * doc/posix-functions/catan.texi (catan): Likewise.
16627         * doc/posix-functions/catanf.texi (catanf): Likewise.
16628         * doc/posix-functions/catanh.texi (catanh): Likewise.
16629         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
16630         * doc/posix-functions/ccos.texi (ccos): Likewise.
16631         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
16632         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
16633         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
16634         * doc/posix-functions/cexp.texi (cexp): Likewise.
16635         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
16636         * doc/posix-functions/cimag.texi (cimag): Likewise.
16637         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
16638         * doc/posix-functions/clog.texi (clog): Likewise.
16639         * doc/posix-functions/clogf.texi (clogf): Likewise.
16640         * doc/posix-functions/conj.texi (conj): Likewise.
16641         * doc/posix-functions/conjf.texi (conjf): Likewise.
16642         * doc/posix-functions/cpow.texi (cpow): Likewise.
16643         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
16644         * doc/posix-functions/cproj.texi (cproj): Likewise.
16645         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
16646         * doc/posix-functions/creal.texi (creal): Likewise.
16647         * doc/posix-functions/crealf.texi (crealf): Likewise.
16648         * doc/posix-functions/csin.texi (csin): Likewise.
16649         * doc/posix-functions/csinf.texi (csinf): Likewise.
16650         * doc/posix-functions/csinh.texi (csinh): Likewise.
16651         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
16652         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
16653         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
16654         * doc/posix-functions/ctan.texi (ctan): Likewise.
16655         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
16656         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
16657         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
16658         * doc/posix-headers/complex.texi (complex.h): Likewise.
16659
16660 2010-10-07  Jim Meyering  <meyering@redhat.com>
16661
16662         parse-datetime: avoid compilation failure on OpenBSD 4.7
16663         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
16664         This works around a compilation failure on OpenBSD 4.7:
16665         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
16666
16667 2010-10-07  Eric Blake  <eblake@redhat.com>
16668
16669         docs: update cygwin progress
16670         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
16671         1.7.6.
16672         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
16673         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
16674         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
16675         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
16676         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
16677         Likewise.
16678         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
16679         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
16680         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
16681         Likewise.
16682         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
16683         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
16684         Likewise.
16685         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
16686         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
16687         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
16688         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
16689         Likewise.
16690         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
16691         Likewise.
16692         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
16693
16694         docs: update parse-datetime history
16695         * doc/parse-datetime.texi (Authors of parse_datetime): Better
16696         documentation of this function's history and alternatives.
16697
16698         cygwin: use more robust version check
16699         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
16700         exclude an eventual cygwin 1.9.1.
16701         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
16702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
16703         (gl_FUNC_STRCASESTR): Likewise.
16704         Reported by Bruno Haible.
16705
16706 2010-10-06  Bruno Haible  <bruno@clisp.org>
16707
16708         string, sys_select: Avoid #including large headers unless necessary.
16709         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
16710         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
16711         OSF/1, BeOS, Haiku.
16712         Reported by Jim Meyering.
16713
16714 2010-10-05  Eric Blake  <eblake@redhat.com>
16715
16716         memmem, strstr, strcasestr: fix bug with long periodic needle
16717         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
16718         periodic needle having false positive.
16719         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
16720         and cygwin 1.7.7.
16721         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
16722         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
16723         (gl_FUNC_STRCASESTR): Likewise.
16724         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
16725         * tests/test-memmem.c (main): Expose the bug.
16726         * tests/test-strcasestr.c (main): Likewise.
16727         * tests/test-strstr.c (main): Likewise.
16728         * tests/test-c-strcasestr.c (main): Likewise.
16729         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
16730         * doc/posix-functions/strstr.texi (strstr): Likewise.
16731         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16732         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
16733
16734 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16735
16736         parse-datetime: do some more renaming
16737         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
16738         parse_datetime, not get_date.  Mention the renaming.
16739         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
16740         in comments.
16741         * m4/bison.m4: Likewise.
16742
16743 2010-10-05  Eric Blake  <eblake@redhat.com>
16744
16745         parse-datetime: better name than get_date
16746         * NEWS: Reword the deprecation notice.
16747         * modules/get_date: Rename to modules/parse-datetime.
16748         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
16749         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
16750         * lib/get_date.y: Rename to lib/parse-datetime.y.
16751         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
16752         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
16753         * doc/getdate.texi: Provide fallback wrapper.
16754         * lib/getdate.h: Move guts, and wrap...
16755         * lib/parse-datetime.h: ...new file.
16756         * lib/parse-datetime.y (get_date): Rename...
16757         (parse_datetime): ...to this.
16758         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
16759         (gl_PARSE_DATETIME): ...to this.
16760         * doc/posix-functions/getdate.texi (get_date): Provide fallback
16761         documentation.
16762         * modules/getdate (Files): Provide fallback docs and header.
16763         (Notice, Depends-on): Update references.
16764         * tests/test-parse-datetime.c: Likewise.
16765         * DEPENDENCIES: Likewise.
16766         * MODULES.html.sh (Date and time <time.h>): Likewise.
16767         * doc/parse-datetime.texi (Date input formats)
16768         (Authors of parse_datetime): Likewise.
16769         * modules/parse-datetime (Files, configure.ac, Makefile.am)
16770         (Include): Likewise.
16771         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
16772         * gnulib-tool: Likewise.
16773         * m4/bison.m4 (gl_BISON): Likewise.
16774         Suggested by Bruno Haible.
16775
16776 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16777
16778         more ports to Solaris tr, which needs [] around ranges
16779         * gnulib-tool: Solaris tr needs [] around ranges.
16780         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
16781         * tests/test-pipe-filter-gi1.c (main): Likewise.
16782         * tests/test-pipe-filter-ii1.c (main): Likewise.
16783
16784 2010-10-05  Eric Blake  <eblake@redhat.com>
16785
16786         bootstrap: fix Solaris regression
16787         * build-aux/bootstrap (check_versions): Solaris tr still needs []
16788         around ranges.
16789         Reported by Pádraig Brady.
16790
16791         bootstrap: work with pkg-config
16792         * build-aux/bootstrap (check_versions): Also transliterate - in
16793         prerequisite name.
16794         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
16795         prerequisites that were already found, to avoid confusion.
16796         Reported by Justin Clift.
16797
16798         faccessat: remove unused wrappers
16799         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
16800         presence of these wrappers dragged in -lgen on Solaris.
16801         Reported by Clemens Brogi; fix suggested by Paul Eggert.
16802
16803 2010-10-05  Jim Meyering  <meyering@redhat.com>
16804
16805         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
16806         * Makefile (sc_pragma_columns): New syntax-check rule.
16807
16808 2010-10-04  Bruno Haible  <bruno@clisp.org>
16809
16810         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
16811         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
16812         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
16813         Reported by Bruce Korb and Eric Blake.
16814
16815 2010-10-04  Bruno Haible  <bruno@clisp.org>
16816
16817         threadlib: Make option --with-libpth-prefix work.
16818         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
16819         use $LIBPTH, not just -lpth.
16820
16821 2010-10-04  Bruno Haible  <bruno@clisp.org>
16822
16823         Avoid line length limitation from HP NonStop system header files.
16824         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
16825         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
16826         * lib/ctype.in.h: Likewise.
16827         * lib/dirent.in.h: Likewise.
16828         * lib/errno.in.h: Likewise.
16829         * lib/fcntl.in.h: Likewise.
16830         * lib/float.in.h: Likewise.
16831         * lib/getopt.in.h: Likewise.
16832         * lib/iconv.in.h: Likewise.
16833         * lib/inttypes.in.h: Likewise.
16834         * lib/langinfo.in.h: Likewise.
16835         * lib/locale.in.h: Likewise.
16836         * lib/math.in.h: Likewise.
16837         * lib/netdb.in.h: Likewise.
16838         * lib/netinet_in.in.h: Likewise.
16839         * lib/poll.in.h: Likewise.
16840         * lib/pthread.in.h: Likewise.
16841         * lib/pty.in.h: Likewise.
16842         * lib/sched.in.h: Likewise.
16843         * lib/se-selinux.in.h: Likewise.
16844         * lib/search.in.h: Likewise.
16845         * lib/signal.in.h: Likewise.
16846         * lib/spawn.in.h: Likewise.
16847         * lib/stdarg.in.h: Likewise.
16848         * lib/stddef.in.h: Likewise.
16849         * lib/stdint.in.h: Likewise.
16850         * lib/stdio.in.h: Likewise.
16851         * lib/stdlib.in.h: Likewise.
16852         * lib/string.in.h: Likewise.
16853         * lib/strings.in.h: Likewise.
16854         * lib/sys_file.in.h: Likewise.
16855         * lib/sys_ioctl.in.h: Likewise.
16856         * lib/sys_select.in.h: Likewise.
16857         * lib/sys_socket.in.h: Likewise.
16858         * lib/sys_stat.in.h: Likewise.
16859         * lib/sys_time.in.h: Likewise.
16860         * lib/sys_times.in.h: Likewise.
16861         * lib/sys_utsname.in.h: Likewise.
16862         * lib/sys_wait.in.h: Likewise.
16863         * lib/sysexits.in.h: Likewise.
16864         * lib/termios.in.h: Likewise.
16865         * lib/time.in.h: Likewise.
16866         * lib/unistd.in.h: Likewise.
16867         * lib/wchar.in.h: Likewise.
16868         * lib/wctype.in.h: Likewise.
16869         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
16870         * modules/ctype (Makefile.am): Likewise.
16871         * modules/dirent (Makefile.am): Likewise.
16872         * modules/errno (Makefile.am): Likewise.
16873         * modules/fcntl-h (Makefile.am): Likewise.
16874         * modules/float (Makefile.am): Likewise.
16875         * modules/getopt-posix (Makefile.am): Likewise.
16876         * modules/iconv-h (Makefile.am): Likewise.
16877         * modules/inttypes (Makefile.am): Likewise.
16878         * modules/langinfo (Makefile.am): Likewise.
16879         * modules/locale (Makefile.am): Likewise.
16880         * modules/math (Makefile.am): Likewise.
16881         * modules/netdb (Makefile.am): Likewise.
16882         * modules/netinet_in (Makefile.am): Likewise.
16883         * modules/poll-h (Makefile.am): Likewise.
16884         * modules/pthread (Makefile.am): Likewise.
16885         * modules/pty (Makefile.am): Likewise.
16886         * modules/sched (Makefile.am): Likewise.
16887         * modules/search (Makefile.am): Likewise.
16888         * modules/selinux-h (Makefile.am): Likewise.
16889         * modules/signal (Makefile.am): Likewise.
16890         * modules/spawn (Makefile.am): Likewise.
16891         * modules/stdarg (Makefile.am): Likewise.
16892         * modules/stddef (Makefile.am): Likewise.
16893         * modules/stdint (Makefile.am): Likewise.
16894         * modules/stdio (Makefile.am): Likewise.
16895         * modules/stdlib (Makefile.am): Likewise.
16896         * modules/string (Makefile.am): Likewise.
16897         * modules/strings (Makefile.am): Likewise.
16898         * modules/sys_file (Makefile.am): Likewise.
16899         * modules/sys_ioctl (Makefile.am): Likewise.
16900         * modules/sys_select (Makefile.am): Likewise.
16901         * modules/sys_socket (Makefile.am): Likewise.
16902         * modules/sys_stat (Makefile.am): Likewise.
16903         * modules/sys_time (Makefile.am): Likewise.
16904         * modules/sys_times (Makefile.am): Likewise.
16905         * modules/sys_utsname (Makefile.am): Likewise.
16906         * modules/sys_wait (Makefile.am): Likewise.
16907         * modules/sysexits (Makefile.am): Likewise.
16908         * modules/termios (Makefile.am): Likewise.
16909         * modules/time (Makefile.am): Likewise.
16910         * modules/unistd (Makefile.am): Likewise.
16911         * modules/wchar (Makefile.am): Likewise.
16912         * modules/wctype (Makefile.am): Likewise.
16913
16914 2010-10-04  Bruno Haible  <bruno@clisp.org>
16915
16916         read-file tests: Avoid a test failure on NonStop Kernel.
16917         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
16918         a regular file.
16919         Reported by Joachim Schmitz <schmitz@hp.com>.
16920
16921 2010-10-03  Bruno Haible  <bruno@clisp.org>
16922
16923         gnulib-tool: Fixes for --create-testdir with --libtool.
16924         * gnulib-tool (func_get_automake_snippet): Don't augment
16925         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
16926         an executable.
16927         (func_create_testdir): Handle module 'alloca' like func_import.
16928         Reported by Bruce Korb <bruce.korb@gmail.com>.
16929
16930 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
16931
16932         Avoid some lines longer than 80 characters.
16933         * lib/stdint.in.h: Break long comment lines.
16934         * lib/math.in.h: Likewise.
16935         (_GL_NUM_UINT_WORDS): New macro, for readability.
16936         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
16937         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
16938         * lib/stdlib.in.h: Likewise.
16939         * lib/spawn.in.h: Likewise.
16940         * lib/sys_socket.in.h: Update an URL.
16941         * lib/sys_stat.in.h: Break long line.
16942
16943 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
16944
16945         Improve pmccabe2html.
16946         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
16947         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
16948         when the sources change. Remove the line in the HTML about "Used
16949         ranges" (which implied that there might be other unused ranges),
16950         rename "Resume" to "Summary" (easier to understand for more users).
16951         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
16952         styles, and some unnecessary blank lines.
16953
16954 2010-10-03  Bruno Haible  <bruno@clisp.org>
16955             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
16956
16957         acl: Add support for ACLs on NonStop Kernel.
16958         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
16959         Check whether the function aclsort() exists.
16960         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
16961         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
16962         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16963         (acl_nontrivial [HAVE_ACLSORT]: New function.
16964         (file_has_acl): Implement for NonStop Kernel.
16965         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16966         (qset_acl): Implement for NonStop Kernel.
16967         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
16968         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16969         (main): Implement for NonStop Kernel.
16970         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
16971         Kernel. Handle this flavor.
16972         * tests/test-set-mode-acl.sh: Likewise.
16973         * tests/test-copy-acl.sh: Likewise.
16974         * tests/test-copy-file.sh: Likewise.
16975
16976 2010-10-03  Bruno Haible  <bruno@clisp.org>
16977
16978         Info about ACLs on NonStop Kernel.
16979         * doc/acl-resources.txt: Add info about NonStop Kernel.
16980         References by Joachim Schmitz <schmitz@hp.com>.
16981
16982 2010-10-02  Bruno Haible  <bruno@clisp.org>
16983
16984         Define missing EDQUOT on NonStop Kernel.
16985         * lib/errno.in.h (EDQUOT): Assign a value if missing.
16986         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
16987         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
16988         missing.
16989         * doc/posix-headers/errno.texi: Mention the NSK bug.
16990         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
16991         Reported by Joachim Schmitz <schmitz@hp.com>.
16992
16993 2010-10-02  Bruno Haible  <bruno@clisp.org>
16994
16995         Update doc for POSIX:2008.
16996         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
16997         Update URL of POSIX specification.
16998
16999 2010-10-02  Bruno Haible  <bruno@clisp.org>
17000
17001         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
17002         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
17003         from gnulib, not from Automake.
17004
17005 2010-10-02  Bruno Haible  <bruno@clisp.org>
17006
17007         New module 'system-posix'.
17008         * modules/system-posix: New file.
17009         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
17010         module is present.
17011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
17012         GNULIB_SYSTEM_POSIX.
17013         * modules/stdlib (Depends-on): Remove sys_wait.
17014         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
17015         * doc/posix-functions/system.texi: Mention the new module.
17016         * doc/posix-headers/stdlib.texi: Likewise.
17017         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
17018         define test_sys_wait_macros to a no-op.
17019         Reported by Sam Steingold <sds@gnu.org>.
17020
17021 2010-09-30  Bruno Haible  <bruno@clisp.org>
17022
17023         More renaming from 'getdate' to 'get_date'.
17024         * doc/get_date.texi: Renamed from doc/getdate.texi.
17025         * modules/get_date (Files): Update.
17026         * MODULES.html.sh (Date and time <time.h>): Update.
17027         * DEPENDENCIES: Update.
17028         * gnulib-tool: Update comment.
17029         * m4/bison.m4 (gl_BISON): Likewise.
17030         * m4/get_date.m4 (gl_GET_DATE): Likewise.
17031
17032 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
17033
17034         bootstrap: support ACLOCAL_FLAGS during aclocal
17035         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
17036         can add additional -I dir for third-party .m4 files.
17037
17038 2010-09-30  Eric Blake  <eblake@redhat.com>
17039
17040         bootstrap: use glibtoolize on MacOS
17041         * build-aux/bootstrap (check_versions): Convert libtool into
17042         libtoolize.
17043         (tool search): Move libtool check earlier, and look for
17044         glibtoolize for MacOS.
17045         (gnulib_tool_options): Auto-add --libtool when appropriate.
17046         Reported by Justin Clift.
17047
17048         poll: fix typo that broke test on MacOS
17049         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
17050         Reported by Justin Clift.
17051
17052         getdate: rename to get_date
17053         Note: getdate.h is not renamed, to minimize client impact.
17054         * modules/getdate: Mark obsolete.  Move old contents...
17055         * modules/get_date: ...to new module name.
17056         * modules/getdate-tests: Move...
17057         * modules/get_date-tests: ...here.
17058         * m4/getdate.m4: Move...
17059         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
17060         * lib/getdate.y: Move...
17061         * lib/get_date.y: ...here.
17062         * tests/test-getdate.c: Move...
17063         * tests/test-get_date.c: ...here.
17064         * doc/posix-functions/getdate.texi (getdate): Update name.
17065         * NEWS: Mention the change.
17066
17067 2010-09-29  Bruno Haible  <bruno@clisp.org>
17068
17069         Separate the module 'waitpid' from the module 'sys_wait'.
17070         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
17071         present.
17072         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
17073         gl_MODULE_INDICATOR_FOR_TESTS.
17074         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
17075         * modules/sys_wait (Depends-on): Remove waitpid.
17076         (Makefile.am): Substitute GNULIB_WAITPID.
17077         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
17078         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
17079         signature only if the 'waitpid' module is present.
17080         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
17081         * NEWS: Mention the change.
17082         * modules/grantpt (Depends-on): Add waitpid.
17083         * modules/wait-process (Depends-on): Likewise.
17084
17085 2010-09-29  Bruno Haible  <bruno@clisp.org>
17086
17087         More tests for module 'sys_wait'.
17088         * modules/sys_wait-c++-tests: New file.
17089         * tests/test-sys_wait-c++.cc: New file.
17090         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
17091         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
17092
17093 2010-09-29  Bruno Haible  <bruno@clisp.org>
17094
17095         New module 'waitpid'.
17096         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
17097         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
17098         Don't include <process.h>.
17099         (waitpid): Declare only, using modern idiom.
17100         * m4/waitpid.m4: New file.
17101         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
17102         * modules/waitpid: New file.
17103         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
17104         (Makefile.am): Update.
17105         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
17106
17107 2010-09-28  Bruno Haible  <bruno@clisp.org>
17108
17109         poll: Assume ANSI C.
17110         * lib/poll.c (poll): Use an ANSI C declaration.
17111
17112 2010-09-28  Bruno Haible  <bruno@clisp.org>
17113
17114         poll-h: Create poll.h on all platforms.
17115         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
17116         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
17117         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
17118         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
17119         (gl_REPLACE_POLL_H): Don't set POLL_H.
17120         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
17121         * modules/poll-h (Depends-on): Add include_next.
17122         (Makefile.am): Create poll.h unconditionally. Substitute also
17123         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
17124
17125 2010-09-28  Bruno Haible  <bruno@clisp.org>
17126
17127         Tests for module 'poll-h'.
17128         * modules/poll-h-c++-tests: New file.
17129         * tests/test-poll-h-c++.cc: New file.
17130
17131         Tests for module 'poll-h'.
17132         * modules/poll-h-tests: New file.
17133         * tests/test-poll-h.c: New file.
17134
17135 2010-09-28  Bruno Haible  <bruno@clisp.org>
17136
17137         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
17138         * modules/poll-h (Depends-on): Add 'extensions'.
17139
17140 2010-09-28  Bruno Haible  <bruno@clisp.org>
17141
17142         New module 'poll-h'.
17143         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
17144         (poll): Use modern idiom.
17145         * modules/poll-h: New file.
17146         * modules/poll (Files): Remove lib/poll.in.h.
17147         (Depends-on): Add poll-h.
17148         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
17149         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
17150         * m4/poll_h.m4: New file.
17151         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
17152         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
17153         and invoke gl_REPLACE_POLL_H.
17154         * lib/poll.c: Use common idiom.
17155         * tests/test-poll.c: Likewise.
17156         * doc/posix-headers/poll.texi: Mention the poll-h module.
17157         Suggested by Eric Blake.
17158
17159 2010-09-26  Bruno Haible  <bruno@clisp.org>
17160
17161         sys_wait: Implement WSTOPSIG.
17162         * lib/sys_wait.in.h (WSTOPSIG): New macro.
17163         Reported by Simon Josefsson.
17164
17165 2010-09-26  Simon Josefsson  <simon@josefsson.org>
17166
17167         stdlib, sys_wait: Avoid compilation error on mingw.
17168         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
17169
17170 2010-09-26  Bruno Haible  <bruno@clisp.org>
17171
17172         stdlib tests: Avoid code duplication.
17173         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
17174         * modules/sys_wait-tests (Files): Likewise.
17175         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
17176         * tests/test-stdlib.c: Include test-sys_wait.h.
17177         (main): Invoke test_sys_wait_macros.
17178         * tests/test-sys_wait.c: Include test-sys_wait.h.
17179         (main): Invoke test_sys_wait_macros.
17180
17181 2010-09-25  Simon Josefsson  <simon@josefsson.org>
17182
17183         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
17184         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
17185         sure Windows sockets are working before calling getaddrinfo.
17186         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
17187         * doc/gnulib.texi (Windows sockets): Fix typo.
17188
17189 2010-09-25  Bruno Haible  <bruno@clisp.org>
17190
17191         Tests for module 'regex-quote'.
17192         * modules/regex-quote-tests: New file.
17193         * tests/test-regex-quote.c: New file.
17194
17195         New module 'regex-quote'.
17196         * lib/regex-quote.h: New file.
17197         * lib/regex-quote.c: New file.
17198         * modules/regex-quote: New file.
17199         Suggested by Reuben Thomas <rrt@sc3d.org>.
17200
17201 2010-09-24  Bruno Haible  <bruno@clisp.org>
17202
17203         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
17204         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
17205
17206 2010-09-23  Bruno Haible  <bruno@clisp.org>
17207
17208         setenv: Relax license.
17209         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
17210         Blake.
17211         Requested by Eric Blake.
17212
17213 2010-09-22  Bruno Haible  <bruno@clisp.org>
17214
17215         termios: Relax license.
17216         * modules/termios (License): Change to LGPLv2+.
17217         Requested by Eric Blake.
17218
17219 2010-09-22  Bruno Haible  <bruno@clisp.org>
17220
17221         threadlib: Allow the package to change the default to 'no'.
17222         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
17223         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
17224         Reported by Paul Eggert.
17225
17226 2010-09-22  Pádraig Brady  <P@draigbrady.com>
17227             Bruno Haible  <bruno@clisp.org>
17228
17229         Fix endless loop in mbmemcasecoll.
17230         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
17231         byte.
17232         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
17233
17234 2010-09-22  Bruno Haible  <bruno@clisp.org>
17235
17236         Tests for module 'memcoll'.
17237         * modules/memcoll-tests: New file.
17238         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
17239
17240         memcoll, xmemcoll: Clarify size vs. length.
17241         * modules/memcoll.c (memcoll0): Clarify specification.
17242         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
17243         passed to collate_error.
17244
17245 2010-09-22  Bruno Haible  <bruno@clisp.org>
17246
17247         Tests for module 'memcasecmp'.
17248         * modules/memcasecmp-tests: New file.
17249         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
17250
17251 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17252
17253         * lib/pthread.in.h: Add split double-inclusion guard, and include
17254         system <pthread.h> if there is one.  Use @@-style as in other
17255         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
17256         pthread.h doesn't.
17257         (pthread_mutexattr_destroy, pthread_mutexattr_init):
17258         (pthread_mutexattr_settype, pthread_mutex_trylock):
17259         New static inline functions, if there's no system <pthread.h>.
17260         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
17261         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
17262         Approximate with mutexes if the system lacks spinlocks, as in
17263         MacOS.
17264         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
17265         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
17266         @@-style.  Check for spinlocks separately.
17267         (gl_PTHREAD_DEFAULTS): New macro.
17268         * modules/pthread: Redo to use a more typical style for in.h files.
17269
17270 2010-09-21  Eric Blake  <eblake@redhat.com>
17271
17272         net_if: enhance tests
17273         * tests/test-net_if.c (main): Move signature checks earlier.
17274         Print failures to stderr.
17275         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
17276         Document the bug that we do not yet fix.
17277
17278 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
17279
17280         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
17281         about gnulib, not GSS.
17282
17283 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
17284
17285         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
17286         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
17287         for Emacs.
17288         * build-aux/pmccabe2html: Make Makefile.am example code more
17289         cut-and-paste friendly.
17290
17291 2010-09-21  Simon Josefsson  <simon@josefsson.org>
17292
17293         * tests/test-net_if.c: New file.
17294         * modules/net_if-tests: New file.
17295
17296 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17297
17298         pthread: add pthread_spin_destroy
17299         * lib/pthread.in.h (pthread_spin_destroy): New function.
17300
17301 2010-09-19  Bruno Haible  <bruno@clisp.org>
17302
17303         gnulib-tool: Fix --help output.
17304         * gnulib-tool (func_usage): Fix help message.
17305         Reported by Reuben Thomas <rrt@sc3d.org>.
17306
17307 2010-09-18  Jim Meyering  <meyering@redhat.com>
17308
17309         maint.mk: avoid unexpanded \n in two diagnostics
17310         * top/maint.mk (sc_prohibit_always_true_header_tests):
17311         Don't use a literal \n in a halt=... assignment.  It would not be
17312         expanded, and the two \n bytes would appear in the diagnostic output
17313         rather than the desired newline.  Use halt=$$(printf ... instead.
17314         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
17315
17316 2010-09-18  Bruno Haible  <bruno@clisp.org>
17317
17318         netinet_in: Doc tweak.
17319         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
17320         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17321
17322 2010-09-18  Jim Meyering  <meyering@redhat.com>
17323
17324         init.sh: correct an outdated comment
17325         * tests/init.sh (create_exe_shims_):  s/function/alias/
17326
17327         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
17328         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
17329         a file named "*.exe" is removed between the glob expansion and the
17330         processing of that oddly named file.
17331
17332 2010-09-17  Eric Blake  <eblake@redhat.com>
17333
17334         mirbsd: add some more support
17335         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
17336         in BSD family.
17337         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
17338         devices as OpenBSD.
17339         * m4/host-os.m4 (mirbsd): Add MirBSD.
17340
17341         tests: fix unportable assumption on sys/wait.h
17342         * tests/test-sys_wait.c (main): Relax test.
17343         * tests/test-stdlib.c (main): Likewise.
17344
17345         init.sh: accomodate directory with no .exes
17346         * tests/init.sh: Accomodate directory containing only scripts.
17347
17348         tests: avoid compiler warning
17349         * tests/test-stdlib.c (main): Use the variable.
17350
17351         fdutimens, fdutimensat: update signature, again
17352         * lib/utimens.h (gl_futimens): Delete, and move signature...
17353         (fdutimens): ...here.
17354         (fdutimensat): Rearrange signature.
17355         (lutimensat): Rename variable for clarity.
17356         * lib/fdutimensat.c (fdutimensat): Update signature.
17357         * lib/utimens.c (fdutimens): Likewise.
17358         (gl_futimens): Delete.
17359         (utimens, lutimens): Update callers.
17360         * lib/futimens.c (futimens): Likewise.
17361         * tests/test-fdutimensat.c: Likewise.
17362         * tests/test-utimens.c: Likewise.
17363         * tests/test-futimens.h: Update comment.
17364         * NEWS: Mention this.
17365         Suggested by Paul Eggert.
17366
17367 2010-09-17  Bruno Haible  <bruno@clisp.org>
17368
17369         Take over the maintenance of some older macros from Autoconf.
17370         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
17371         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
17372         GNU Autoconf.
17373         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
17374         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
17375
17376 2010-09-17  Eric Blake  <eblake@redhat.com>
17377
17378         fdutimensat: drop atflag validation
17379         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
17380         with valid fd, to close a race scenario where futimens is
17381         unsupported and FILE was replaced by a symlink.
17382         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
17383         accordingly.
17384         Suggested by Paul Eggert.
17385
17386 2010-09-16  Bruno Haible  <bruno@clisp.org>
17387
17388         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
17389         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
17390
17391 2010-09-16  Bruno Haible  <bruno@clisp.org>
17392
17393         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
17394         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
17395         login_tty exists.
17396         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17397
17398 2010-09-16  Bruno Haible  <bruno@clisp.org>
17399
17400         login_tty: Make the replacement code work on BSD systems.
17401         * lib/login_tty.c: Include <sys/ioctl.h>.
17402         (login_tty): Use ioctl TIOCSCTTY when available.
17403         * modules/login_tty (Depends-on): Add sys_ioctl.
17404         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17405
17406 2010-09-16  Bruno Haible  <bruno@clisp.org>
17407
17408         login_tty: Stricter unit test.
17409         * modules/login_tty-tests (Depends-on): Add tcgetsid.
17410         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
17411         and tcgetsid() after login_tty.
17412         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17413
17414 2010-09-16  Bruno Haible  <bruno@clisp.org>
17415
17416         New module 'tcgetsid'.
17417         * lib/tcgetsid.c: New file.
17418         * m4/tcgetsid.m4: New file.
17419         * modules/tcgetsid: New file.
17420         * modules/termios (Depends-on): Add c++defs, warn-on-use.
17421         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
17422         GNULIB_TCGETSID, HAVE_TCGETSID.
17423         * lib/termios.in.h: Include <sys/types.h>.
17424         (tcgetsid): New declaration.
17425         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
17426         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
17427         * doc/posix-functions/tcgetsid.texi: Mention the new module.
17428         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
17429
17430 2010-09-16  Bruno Haible  <bruno@clisp.org>
17431
17432         Tests for module 'termios'.
17433         * modules/termios-c++-tests: New file.
17434         * modules/termios-tests: New file.
17435         * tests/test-termios-c++.cc: New file.
17436         * tests/test-termios.c: New file.
17437
17438         New module 'termios'.
17439         * modules/termios: New file.
17440         * lib/termios.in.h: New file.
17441         * m4/termios_h.m4: New file.
17442         * doc/posix-headers/termios.texi: Mention the new module.
17443
17444 2010-09-16  Eric Blake  <eblake@redhat.com>
17445
17446         fdutimensat: add an atflag parameter
17447         * lib/fdutimensat.c (fdutimensat): Add new parameter.
17448         * lib/utimens.h (fdutimensat): Update prototype.
17449         * tests/test-fdutimensat.c: Adjust test to match.
17450         * NEWS: Document the change.
17451         Suggested by Paul Eggert.
17452
17453 2010-09-16  Bruno Haible  <bruno@clisp.org>
17454
17455         Fix typos in comments.
17456         * lib/striconveh.h: Fix typo in comment.
17457         * lib/login_tty.c (login_tty): Likewise.
17458
17459 2010-09-15  Bruno Haible  <bruno@clisp.org>
17460
17461         stdlib: clarify MirBSD WEXITSTATUS bug
17462         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
17463         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17464
17465 2010-09-15  Eric Blake  <eblake@redhat.com>
17466
17467         stdlib: work around MirBSD WEXITSTATUS bug
17468         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
17469         * modules/stdlib (Depends-on): Add sys_wait.
17470         * tests/test-sys_wait.c (main): Enhance test.
17471         * tests/test-stdlib.c (main): Likewise.
17472         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
17473
17474         docs: mention MacOS issue with WEXITSTATUS(constant)
17475         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
17476         issue.
17477         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17478
17479         strnlen: add tests
17480         * modules/strnlen-tests: New file.
17481         * tests/test-strnlen.c: Likewise.
17482
17483 2010-09-14  Bruno Haible  <bruno@clisp.org>
17484
17485         unistr/base: Avoid link errors when module 'libunistring' is also used.
17486         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
17487         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
17488         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
17489         Declare also when HAVE_LIBUNISTRING is set.
17490         Reported by Pádraig Brady <P@draigbrady.com>.
17491
17492 2010-09-14  Eric Blake  <eblake@redhat.com>
17493
17494         test-rawmemchr: make more robust
17495         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
17496         (Depends-on, configure.ac): Add needed prerequisites to use it.
17497         * modules/memchr-tests (Files, Depends-on, configure.ac):
17498         Likewise, to avoid implicit reliance on memchr module prereqs.
17499         * tests/test-memchr.c (main): Ensure proper masking.
17500         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
17501         reads.
17502
17503         memchr: detect glibc Alpha bug
17504         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
17505         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
17506         Alpha.
17507         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
17508         * tests/test-memchr.c (main): Enhance test.
17509         Reported by Nelson H. F. Beebe.
17510
17511 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17512
17513         fts, getcwd, glob: audit for dirfd returning -1
17514         * lib/fts.c (opendir): Remove #define; no longer used.
17515         (opendirat): New arg PDIR_FD.  All callers changed.
17516         (fts_build, _opendir2): Use new opendirat to avoid the need for
17517         dirfd, or for checking whether dirfd returns a negative value.
17518         Don't use opendir; always use openat followed by fdopendir.
17519         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
17520         it.
17521         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
17522         returns -1 here.
17523         * modules/fts (Depends-on): Remove dirfd.
17524         * modules/getcwd (Depends-on): Likewise.
17525
17526 2010-09-13  Eric Blake  <eblake@redhat.com>
17527
17528         float: fix broken MirBSD header
17529         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
17530         * doc/posix-headers/float.texi (float.h): Document it.
17531
17532 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17533
17534         fts: use O_NOFOLLOW to avoid race condition when opening a directory
17535         * lib/fts.c (opendirat): New arg extra_flags.
17536         (__opendir2): Use it to avoid following symlinks when opening
17537         a directory, if symlinks are not supposed to be followed.  See
17538         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
17539
17540         fdopendir: preserve argument fd before returning
17541         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
17542         (fdopendir_with_dup, fd_clone_opendir): New static functions.
17543         (fdopendir): Use them, arranging for FD to be open to the same
17544         directory that it was when it started.  (It might be temporarily
17545         closed while fdopendir is running, so this not thread- or
17546         signal-safe.)  Be careful to do the right thing even when file
17547         descriptors are scarce and dup fails with errno == EMFILE.  See
17548         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
17549
17550 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
17551
17552         regex: Pass the system regex if its only problem is 32-bit regoff_t.
17553         * NEWS: Document change.
17554         * m4/regex.m4: Disable test for regoff_t size.
17555
17556 2010-09-13  Jim Meyering  <meyering@redhat.com>
17557
17558         fts: don't operate on an invalid file descriptor after failed dup
17559         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
17560         negative file descriptor.
17561
17562 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17563
17564         savedir: add streamsavedir, deprecate fdsavedir
17565         * NEWS: Mention deprecation of fdsavedir.
17566         * lib/savedir.c (streamsavedir): New extern function, whose name
17567         ends in "savedir" to be consistent with the others.  This differs
17568         from savedirstream in that it doesn't close its argument.  The
17569         next version of GNU tar will use this instead of fdsavedir, to
17570         avoid some race conditions and conserve file descriptors.
17571         (savedirstream): Reimplement as a wrapper around streamsavedir.
17572         (fdsavedir): Add a comment deprecating this function.  As far as
17573         I know, only GNU tar used it, and GNU tar doesn't need it any more.
17574         * lib/savedir.h (streamsavedir): New decl.
17575         (fdsavedir): Add a comment deprecating this.
17576
17577 2010-09-10  Bruno Haible  <bruno@clisp.org>
17578
17579         langinfo: Fix last commit.
17580         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
17581         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
17582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17583
17584 2010-09-10  Bruno Haible  <bruno@clisp.org>
17585
17586         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
17587         * lib/progreloc.c (O_EXEC): Define fallback.
17588
17589 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17590
17591         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
17592         * NEWS: Document recent changes to fcntl-h.
17593         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
17594         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
17595         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
17596         Similarly for O_SEARCH; this last was already true, but not documented.
17597         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
17598         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
17599         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
17600         Likewise.
17601         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
17602         is zero, not whether it is defined.
17603         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
17604         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
17605         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
17606
17607 2010-09-10  Bruno Haible  <bruno@clisp.org>
17608
17609         langinfo, nl_langinfo: Fix for IRIX 5.3.
17610         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
17611         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
17612         HAVE_LANGINFO_YESEXPR.
17613         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
17614         HAVE_LANGINFO_YESEXPR.
17615         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
17616         HAVE_LANGINFO_T_FMT_AMPM is 0.
17617         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
17618         HAVE_LANGINFO_YESEXPR is 0.
17619         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
17620         NOEXPR.
17621         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
17622         * doc/posix-functions/nl_langinfo.texi: Likewise.
17623         Reported by Eric Blake.
17624
17625 2010-09-10  Bruno Haible  <bruno@clisp.org>
17626
17627         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
17628         * doc/glibc-functions/login_tty.texi: Mention the include file problem
17629         on FreeBSD 8.0 and OpenBSD 4.6.
17630         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
17631         * m4/pty_h.m4 (gl_PTY_H): Likewise.
17632         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
17633         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
17634         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
17635         ac_includes_default.
17636         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17637
17638 2010-09-09  Eric Blake  <eblake@redhat.com>
17639
17640         strsignal: work around NetBSD bug
17641         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
17642         * lib/string.in.h (includes): Likewise.
17643         * doc/posix-functions/strsignal.texi (strsignal): Document the
17644         bug.
17645         Reported by Nelson H. F. Beebe.
17646
17647         gnulib-tool: work with NetBSD /bin/sh
17648         * gnulib-tool (func_cache_var, func_cache_lookup_module)
17649         (func_get_description, func_get_comment, func_get_status)
17650         (func_get_notice, func_get_applicability, func_get_filelist)
17651         (func_get_dependencies, func_get_autoconf_early_snippet)
17652         (func_get_autoconf_snippet, func_get_automake_snippet)
17653         (func_get_include_directive, func_get_link_directive)
17654         (func_get_license, func_get_maintainer, func_import): Avoid
17655         shell syntax errors from parsing syntax extensions.
17656
17657 2010-09-09  Bruno Haible  <bruno@clisp.org>
17658
17659         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
17660         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
17661         a reliable way to determine whether the 'alias' command works.
17662
17663 2010-09-08  Jim Meyering  <meyering@redhat.com>
17664
17665         init.sh: penalize a set-x-impaired shell; don't disqualify it
17666         * tests/init.sh: Too many shells corrupt application stderr when
17667         you set -x, so we can't afford to disqualify them, since at least
17668         on Irix-6.5, that would disqualify all bourne shells.
17669         Instead, use a two-pass approach.
17670         On the first pass, try to find a shell that meets the stricter
17671         condition that set -x does not corrupt stderr.
17672         If no shell meets the stricter condition, retest each candidate
17673         shell, but without that extra condition.  Finally, when
17674         VERBOSE=yes is requested and set -x might cause trouble, simply
17675         issue a warning and refrain from enabling debug output.
17676
17677 2010-09-08  Eric Blake  <eblake@redhat.com>
17678
17679         unsetenv: fix OpenBSD bug
17680         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
17681         * doc/posix-functions/unsetenv.texi (unsetenv): Update
17682         documentation.
17683         Reported by Jim Meyering.
17684
17685         strtod: work around IRIX 6.5 bug
17686         * lib/strtod.c (strtod): Reparse number on shorter string if
17687         exponent parse was invalid.
17688         * tests/test-strtod.c (main): Add check for "0x1p 2".
17689         Reported by Tom G. Christensen.
17690
17691         getopt: optimize previous patch
17692         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
17693         empty variable.  Speed up awk script.
17694         Reported by Paolo Bonzini.
17695
17696 2010-09-08  Jim Meyering  <meyering@redhat.com>
17697
17698         test.sh: disqualify shells for which set -x corrupts stderr
17699         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
17700         and OpenBSD 4.7.  They make it so with "set -x", environment settings
17701         appear in stderr output.  For example, this command:
17702             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
17703         prints "P=1" on those two systems:
17704
17705 2010-09-08  Bruno Haible  <bruno@clisp.org>
17706
17707         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
17708         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
17709         commands, because some shells ignore redirections when there is an
17710         error in the command lookup.
17711         Reported by Eric Blake.
17712
17713 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
17714
17715         * lib/regex.h: Fix a mention of `regex_compile' (should be
17716         `re_compile_pattern').
17717         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
17718         (re_set_registers): Correct name of parameter in comment.
17719
17720         * doc/regex.texi: Add documentation for missing syntax flags.
17721         Remove commented-out documentation of defunct syntax option
17722         RE_NO_EMPTY_ALTS.
17723         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
17724         Add documentation of re_set_registers.
17725         Document trick to re-use a pattern buffer by setting fastmap manually.
17726         Update documentation of struct re_pattern_buffer per public members.
17727         Uncomment documentation of equivalence class operators and
17728         collating symbol operators, since they are now implemented,
17729         Explain leftmost-longest matching in relation to alternatives.
17730         Tidy documentation of substring matching.
17731         Remove POSIX documentation, which is done better in
17732         glibc, and refer the reader there. Keep BSD API documentation, as
17733         that is not readily available elsewhere.
17734
17735 2010-09-07  Eric Blake  <eblake@redhat.com>
17736
17737         getopt: handle POSIXLY_CORRECT set but not exported
17738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
17739         export state of POSIXLY_CORRECT, due to bash set -o posix.
17740         Reported by Dustin J. Mitchell.
17741
17742 2010-09-05  Bruno Haible  <bruno@clisp.org>
17743
17744         gnulib-tool: Highlight the changed options.
17745         * gnulib-tool (func_usage): Display the --import, --add-import,
17746         --remove-import explanations in bold font.
17747
17748 2010-09-06  Karl Berry  <karl@gnu.org>
17749
17750         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
17751
17752 2010-09-05  Bruno Haible  <bruno@clisp.org>
17753
17754         uniwidth/width: Update comment.
17755         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
17756         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
17757
17758 2010-09-05  Bruno Haible  <bruno@clisp.org>
17759
17760         isinf, isnan: Relax license.
17761         * modules/isinf (License): Change from GPL to LGPL, with consent from
17762         Ben Pfaff.
17763         * modules/isnan (License): Likewise.
17764         Requested by Ludovic Courtès.
17765
17766 2010-09-04  Bruno Haible  <bruno@clisp.org>
17767
17768         gnulib-tool: Help migration from --import to --add-import or --update.
17769         * gnulib-tool: Emit a verbose error message when --import is used
17770         without any module name.
17771
17772 2010-09-04  Bruno Haible  <bruno@clisp.org>
17773
17774         Update doc about gnulib-tool.
17775         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
17776         'gnulib-tool --update' in more detail.
17777         Reported by Eric Blake.
17778
17779 2010-09-04  Bruno Haible  <bruno@clisp.org>
17780
17781         gnulib-tool: Change --import. New options --add/remove-import.
17782         * gnulib-tool: New options --add-import, --remove-import.
17783         (func_usage): Document them.
17784         (have_associative): Define always.
17785         (func_import): In import mode, don't merge the specified settings with
17786         the cached settings. Implement remove-import mode.
17787         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
17788         Explain when to use them versus --import.
17789         (Simple update): Use --add-import instead of --import.
17790         * NEWS: Mention the change.
17791
17792 2010-09-04  Bruno Haible  <bruno@clisp.org>
17793
17794         * doc/gnulib-tool.texi (Initial import): Update paragraph about
17795         separate gnulib.mk.
17796
17797 2010-09-04  Bruno Haible  <bruno@clisp.org>
17798
17799         gnulib-tool: Don't talk about CVS any more.
17800         * gnulib-tool (func_usage, func_import): Write "version control"
17801         instead of CVS.
17802
17803 2010-09-04  Jim Meyering  <meyering@redhat.com>
17804
17805         maint.mk: avoid obscure sc_copyright_check failure in coreutils
17806         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
17807         false positives (whose names may be ill-chosen) when searching
17808         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
17809         would cause a false-positive.
17810
17811         avoid coreutils "make distcheck" failure
17812         Coreutils tests with an absolute build directory name that contains
17813         a space.  Not quoting this directory name caused a failure.
17814         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
17815         * tests/test-vc-list-files-cvs.sh: Likewise.
17816
17817 2010-09-04  Bruno Haible  <bruno@clisp.org>
17818
17819         gnulib-tool: Avoid error when run in a package without Makefile.am.
17820         * gnulib-tool: When collecting the m4dirs in a package that does not
17821         have a Makefile.am, eliminate those directories that contain no
17822         gnulib-cache.m4. Fix expression that counts these directories.
17823
17824 2010-09-04  Bruno Haible  <bruno@clisp.org>
17825
17826         update-copyright test: Improve output when perl is missing or too old.
17827         * tests/test-update-copyright.sh: Move test of Perl version down after
17828         the test whether Perl exists. Provide an explanation relating Perl's
17829         error message to Automake's SKIP: message.
17830
17831 2010-09-04  Bruno Haible  <bruno@clisp.org>
17832
17833         Don't augment PATH in TESTS_ENVIRONMENT.
17834         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
17835         set abs_aux_dir instead of augmenting PATH.
17836         * modules/vc-list-files-tests (Makefile.am): Likewise.
17837         * tests/test-update-copyright.sh: Augment PATH here.
17838         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
17839         path_prepend_.
17840         * tests/test-vc-list-files-git.sh: Likewise.
17841
17842 2010-09-04  Jim Meyering  <meyering@redhat.com>
17843
17844         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
17845         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
17846
17847 2010-09-04  Bruno Haible  <bruno@clisp.org>
17848
17849         strdup: Fix compilation error in C++ mode.
17850         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
17851         the macro.
17852
17853 2010-09-04  Bruno Haible  <bruno@clisp.org>
17854
17855         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
17856         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
17857         macro into a function.
17858         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17859
17860 2010-09-04  Bruno Haible  <bruno@clisp.org>
17861
17862         Set PATH_SEPARATOR the same way autoconf does.
17863         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
17864         the value of PATH_SEPARATOR the same way autoconf-generated configure
17865         scripts do.
17866         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
17867         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
17868
17869 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17870
17871         Set PATH_SEPARATOR the same way autoconf does.
17872         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
17873         the same way autoconf-generated configure scripts do.
17874         * posix-modules: Likewise.
17875
17876 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17877
17878         hash: fix safe_hasher const typo
17879         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
17880         const; otherwise, there is a type error later.
17881
17882 2010-09-02  Jim Meyering  <meyering@redhat.com>
17883
17884         test-update-copyright.sh: require perl 5.8.0
17885         * tests/test-update-copyright.sh: Require 5.8.0,
17886         which Tom G. Christensen has confirmed is adequate,
17887         while 5.6.1 is not.
17888
17889 2010-09-02  Eric Blake  <eblake@redhat.com>
17890
17891         tests: init.sh improvements for re-exec'ing with zsh
17892         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
17893         -vx through shell re-exec.
17894         Reported by Tom G. Christensen.
17895
17896         wctype: fix typo in previous commit
17897         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
17898         Reported by Ludovic Courtès.
17899
17900 2010-09-02  Jim Meyering  <meyering@redhat.com>
17901
17902         test-update-copyright.sh: skip test if Perl is too old
17903         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
17904         Reported by Tom G. Christensen.
17905
17906 2010-09-02  Bruno Haible  <bruno@clisp.org>
17907
17908         wctype: Avoid compilation error on IRIX 6.5.30.
17909         * lib/wctype.in.h (iswblank): Declare with a replacement if
17910         REPLACE_ISWBLANK is set.
17911         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
17912         declared. Set REPLACE_ISWBLANK.
17913         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
17914         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
17915         * doc/posix-headers/wctype.texi: Likewise.
17916         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17917
17918 2010-09-01  Bruno Haible  <bruno@clisp.org>
17919
17920         New module 'socketlib'.
17921         * modules/socketlib: New file.
17922         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
17923         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
17924         * modules/sockets (Depends-on): Add socketlib.
17925         Suggested by Sam Steingold <sds@gnu.org>.
17926
17927 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17928
17929         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
17930
17931         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
17932         when one needs search access to a directory but not read access.
17933         On systems where it is available, it works in some cases where
17934         O_RDONLY does not, namely on directories that are searchable but
17935         not readable, and which need only to be searchable.  If O_SEARCH
17936         is not available, fall back to the traditional method of using
17937         O_RDONLY.
17938
17939         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
17940         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
17941         when opening a directory that needs only to be searchable.
17942         * lib/chdir-safer.c (chdir_no_follow): Likewise.
17943         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
17944         * lib/openat-proc.c (openat_proc_name): Likewise.
17945         * lib/openat.c (openat_needs_fchdir): Likewise.
17946         * lib/save-cwd.c (save_cwd): Likewise.
17947         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
17948
17949 2010-08-28  Bruno Haible  <bruno@clisp.org>
17950
17951         New module 'host-cpu-c-abi'.
17952         * modules/host-cpu-c-abi: New file.
17953         * m4/host-cpu-c-abi.m4: New file, based on part of
17954         clisp/src/m4/general.m4.
17955         Requested by Sam Steingold <sds@gnu.org>.
17956
17957 2010-08-31  Eric Blake  <eblake@redhat.com>
17958         and Jim Meyering  <meyering@redhat.com>
17959
17960         hash: factor, and guard against misbehaving hasher function
17961         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
17962         of table->hasher's return value.  Also protect against a hash value
17963         so large that adding it to table->bucket results in a NULL pointer.
17964         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
17965         Use it in place of open-coded check-and-abort.
17966
17967 2010-08-30  Bruno Haible  <bruno@clisp.org>
17968
17969         hash: silence spurious clang warning
17970         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
17971         Reported by Eric Blake.
17972
17973 2010-08-30  Eric Blake  <eblake@redhat.com>
17974
17975         strstr, memmem, strcasestr: avoid leaked shell message
17976         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
17977         FreeBSD.
17978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17979         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17980
17981         tests: silence clang warning
17982         * tests/test-malloca.c (do_allocation): Avoid dead store.
17983
17984 2010-08-29  Bruno Haible  <bruno@clisp.org>
17985
17986         gettext: Fix recent mistake.
17987         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
17988
17989 2010-08-29  Bruno Haible  <bruno@clisp.org>
17990
17991         selinux-h: Offer a --without-selinux option.
17992         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
17993         --without-selinux was specified, skip all tests and define
17994         HAVE_SELINUX_SELINUX_H to 0.
17995         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
17996         set LIB_SELINUX to empty.
17997         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
17998         gl_LIBSELINUX. If --without-selinux was specified, replace
17999         selinux/context.h.
18000         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
18001
18002 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18003             Bruno Haible  <bruno@clisp.org>
18004
18005         Make the module 'realloc-gnu' work again on AIX and OSF/1.
18006         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
18007         of HAVE_REALLOC.
18008         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
18009         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
18010         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
18011         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
18012
18013 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18014             Bruno Haible  <bruno@clisp.org>
18015
18016         Make the module 'calloc-gnu' work again on AIX and OSF/1.
18017         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
18018         HAVE_CALLOC.
18019         * lib/xmalloc.c: Update accordingly.
18020         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
18021         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
18022         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18023
18024 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18025             Bruno Haible  <bruno@clisp.org>
18026
18027         Make the module 'malloc-gnu' work again on AIX and OSF/1.
18028         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
18029         HAVE_MALLOC.
18030         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
18031         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
18032         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
18033
18034 2010-08-29  Bruno Haible  <bruno@clisp.org>
18035
18036         Update modules list.
18037         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
18038         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
18039         (String handling <string.h>): Add astrxfrm.
18040         (File system functions): Add readlinkat.
18041
18042 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18043
18044         Tests for module 'realloc-gnu'.
18045         * modules/realloc-gnu-tests: New file.
18046         * tests/test-realloc-gnu.c: New file.
18047
18048         Tests for module 'calloc-gnu'.
18049         * modules/calloc-gnu-tests: New file.
18050         * tests/test-calloc-gnu.c: New file.
18051
18052         Tests for module 'malloc-gnu'.
18053         * modules/malloc-gnu-tests: New file.
18054         * tests/test-malloc-gnu.c: New file.
18055
18056 2010-08-28  Bruno Haible  <bruno@clisp.org>
18057
18058         Rename module 'realloc' -> 'realloc-gnu'.
18059         * modules/realloc-gnu: New file, copied from modules/realloc.
18060         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
18061         obsolete.
18062         * modules/mgetgroups (Depends-on): Update.
18063         * doc/posix-functions/realloc.texi: Update.
18064         * NEWS: Mention the change.
18065
18066         Rename module 'calloc' -> 'calloc-gnu'.
18067         * modules/calloc-gnu: New file, copied from modules/calloc.
18068         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
18069         obsolete.
18070         * doc/posix-functions/calloc.texi: Update.
18071         * NEWS: Mention the change.
18072
18073         Rename module 'malloc' -> 'malloc-gnu'.
18074         * modules/malloc-gnu: New file, copied from modules/malloc.
18075         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
18076         obsolete.
18077         * modules/argp (Depends-on): Update.
18078         * modules/regex (Depends-on): Update.
18079         * doc/posix-functions/malloc.texi: Update.
18080         * NEWS: Mention the change.
18081
18082 2010-08-28  Eric Blake  <eblake@redhat.com>
18083
18084         pread, pwrite: add missing dependency
18085         * modules/pread (Depends-on): Add extensions.
18086         * modules/pwrite (Depends-on): Likewise.
18087
18088 2010-08-28  Bruno Haible  <bruno@clisp.org>
18089
18090         unistr/u*-strchr: Fix tests dependencies.
18091         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
18092         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
18093         Reported by Ian Beckwith <ianb@erislabs.net>.
18094
18095 2010-08-28  Bruno Haible  <bruno@clisp.org>
18096
18097         read-file: Don't occupy too much unused memory.
18098         * lib/read-file.c (fread_file): Shrink the buffer at the end.
18099
18100 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
18101             Eric Blake  <eblake@redhat.com>
18102             Bruno Haible  <bruno@clisp.org>
18103
18104         read-file: Avoid memory reallocations with regular files.
18105         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
18106         (fread_file): With regular files, use the remaining length as the
18107         initial buffer size.  Check against overflow.
18108         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
18109         sys_stat.
18110
18111 2010-08-28  Bruno Haible  <bruno@clisp.org>
18112
18113         ftello: Relax license.
18114         * modules/ftello (License): Relax to LGPLv2+.
18115         Reported by Eric Blake.
18116
18117 2010-08-28  Bruno Haible  <bruno@clisp.org>
18118
18119         Avoid relocwrapper link errors due to gnulib replacement functions.
18120         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
18121         function.
18122         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18123
18124 2010-08-28  Bruno Haible  <bruno@clisp.org>
18125
18126         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
18127         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
18128         defined.
18129         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
18130         Suggested by Eric Blake.
18131
18132 2010-08-28  Bruno Haible  <bruno@clisp.org>
18133
18134         sys_socket, netdb: Ensure socklen_t gets defined.
18135         * modules/sys_socket (Depends-on): Add socklen.
18136         * modules/netdb (Depends-on): Likewise.
18137         * modules/getaddrinfo (Depends-on): Remove socklen.
18138         * modules/getsockopt (Depends-on): Likewise.
18139         * modules/setsockopt (Depends-on): Likewise.
18140         * tests/test-sys_socket.c: Check that socklen_t is defined.
18141         * tests/test-netdb.c: Likewise.
18142         * m4/socklen.m4: Update comments.
18143         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18144
18145 2010-08-27  Eric Blake  <eblake@redhat.com>
18146
18147         login_tty: add missing dependency
18148         * modules/login_tty (Depends-on): Add pty.
18149
18150 2010-08-26  Eric Blake  <eblake@redhat.com>
18151
18152         lib-symbol-versions: fix m4 quoting
18153         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
18154         format for AC_LINK_IFELSE.
18155
18156         glob: fix compile test
18157         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
18158
18159         btowc: fix missing file
18160         * modules/btowc (Files): Also ship locale-fr.m4.
18161
18162         lseek: fix link test
18163         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
18164         AC_LINK_IFELSE.
18165
18166         include_next: silence autoconf 2.68 warning
18167         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
18168         AC_COMPILE_IFELSE as special.
18169         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
18170         autoconf < 2.68.
18171
18172         acl: fix compilation test
18173         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
18174         AC_COMPILE_IFELSE.
18175
18176 2010-08-26  Bruno Haible  <bruno@clisp.org>
18177
18178         Modernize AC_TRY_RUN invocations.
18179         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
18180         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18181         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
18182         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
18183         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
18184         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
18185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
18186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
18187         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18188         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18189         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
18190         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18191         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
18192         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18193         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
18194         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
18195         gl_MBRLEN_NUL_RETVAL): Likewise.
18196         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18197         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
18198         Likewise.
18199         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18200         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18201         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
18202         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
18203         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
18204         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
18205         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
18206         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
18207         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
18208         Likewise.
18209         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18210         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
18211         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
18212         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18213         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18214         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
18215         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18216         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
18217         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
18219
18220 2010-08-26  Bruno Haible  <bruno@clisp.org>
18221
18222         Modernize AC_TRY_LINK invocations.
18223         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
18224         AC_TRY_LINK.
18225         * m4/argp.m4 (gl_ARGP): Likewise.
18226         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
18227         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18228         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
18229         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
18230         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
18231         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
18232         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
18233         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
18234         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
18235         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
18236         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
18237         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
18238         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
18239         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18240         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18241         * m4/hostent.m4 (gl_HOSTENT): Likewise.
18242         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18243         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
18244         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18245         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
18246         Likewise.
18247         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
18248         Likewise.
18249         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
18250         Likewise.
18251         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18252         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
18253         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
18254         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
18255         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
18256         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
18257         * m4/servent.m4 (gl_SERVENT): Likewise.
18258         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
18259         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
18260         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
18261         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
18262         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18263         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
18264         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
18265         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18266         * modules/tsearch-tests (configure.ac): Likewise.
18267
18268 2010-08-26  Bruno Haible  <bruno@clisp.org>
18269
18270         Modernize AC_TRY_COMPILE invocations.
18271         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
18272         AC_TRY_COMPILE.
18273         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
18274         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
18275         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18276         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
18277         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18278         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18279         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18280         * m4/lock.m4 (gl_LOCK): Likewise.
18281         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
18282         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
18283         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
18284         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
18285         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18286         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
18287         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
18288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
18289         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18290         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18291         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18292         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18293         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
18294         extraneous semicolon.
18295
18296 2010-08-26  Jim Meyering  <meyering@redhat.com>
18297
18298         stat-time: relax license LGPL
18299         * modules/stat-time (License): Change from GPL to LGPL,
18300         with consent from all contributors, for use in libguile.
18301         Requested by Ludovic Courtès.
18302
18303 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
18304
18305         poll: return immediately on POLLHUP.
18306         * lib/poll.c (poll): Always set timeout before wait_timeout is
18307         computed.
18308
18309 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18310
18311         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
18312         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
18313         rmdir ("dir/.//"), unlinkat.
18314
18315 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18316
18317         stdbool: avoid spurious failure with modern xlc
18318         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
18319
18320 2010-08-24  Bruno Haible  <bruno@clisp.org>
18321
18322         getloadavg: simplify code
18323         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
18324         gl_have_func. Update comments.
18325
18326 2010-08-24  Eric Blake  <eblake@redhat.com>
18327
18328         getloadavg: don't define SVR4 on cygwin
18329         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
18330         only define SVR4 when -lkvm is required.
18331         Reported by Yaakov Selkowitz.
18332
18333 2010-08-24  Bruno Haible  <bruno@clisp.org>
18334
18335         priv-set: fix comment
18336         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
18337
18338 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18339
18340         priv-set: fix comments
18341         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
18342         to match code, as suggested by David Bartley in:
18343         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
18344
18345 2010-08-23  Eric Blake  <eblake@redhat.com>
18346
18347         stdbool: avoid rejecting clang
18348         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
18349         * tests/test-stdbool.c: Enable more tests if using the system
18350         <stdbool.h> instead of the gnulib replacement.
18351         (main): Move xlc bug test to a runtime test for all compilers.
18352         Reported by Anders Kaseorg.
18353
18354         argz: fix shell quoting issue
18355         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
18356         Reported by Charles Wilson.
18357
18358 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
18359             Erik Faye-Lund <kusmabite@gmail.com>
18360
18361         poll, select: handle ERROR_BROKEN_PIPE.
18362         * lib/poll.c (win32_compute_revents): Return POLLHUP when
18363         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
18364         * lib/select.c (win32_compute_revents): Do not mark a pipe
18365         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
18366
18367 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
18368
18369         fts: allow compilation with C++
18370         * lib/fts_.h: Specify extern "C" linkage with C++.
18371
18372 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18373
18374         Fix gnulib-tool sed script de-commentation for AIX sed.
18375         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
18376         sed.
18377
18378 2010-08-17  Eric Blake  <eblake@redhat.com>
18379
18380         test-stddef: test for (some) offsetof bugs
18381         * tests/test-stddef.c: Enhance test to ensure correct type of
18382         offsetof.
18383         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
18384         that we are not fixing at this time.
18385
18386 2010-08-15  Bruno Haible  <bruno@clisp.org>
18387
18388         stpncpy: Allow stpncpy to be defined as a macro.
18389         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
18390         if it's already correctly declared.
18391         * lib/string.in.h (stpncpy): Undefine before redefining.
18392         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
18393
18394 2010-08-14  Bruno Haible  <bruno@clisp.org>
18395
18396         Rename module 'memxfrm' to 'amemxfrm'.
18397         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
18398         (amemxfrm): Renamed from memxfrm.
18399         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
18400         (amemxfrm): Renamed from memxfrm.
18401         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
18402         * NEWS: Mention the change.
18403         * MODULES.html.sh (String handling <string.h>): Update.
18404         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
18405         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
18406         * lib/unicase/u16-casexfrm.c: Likewise.
18407         * lib/unicase/u32-casexfrm.c: Likewise.
18408         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
18409         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
18410         * lib/uninorm/u16-normxfrm.c: Likewise.
18411         * lib/uninorm/u32-normxfrm.c: Likewise.
18412         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
18413         memxfrm.
18414         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
18415         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
18416         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
18417         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
18418         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
18419         Suggested by Paul Eggert.
18420
18421 2010-08-14  Bruno Haible  <bruno@clisp.org>
18422
18423         Tests for module 'astrxfrm'.
18424         * modules/astrxfrm-tests: New file.
18425         * tests/test-astrxfrm.c: New file.
18426
18427         New module 'astrxfrm'.
18428         * lib/astrxfrm.h: New file.
18429         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
18430         * modules/astrxfrm: New file.
18431
18432 2010-08-14  Reuben Thomas <rrt@sc3d.org>
18433
18434         regex: Tweak doc.
18435         * doc/regex.texi (Overview): Don't mention regex.c.
18436         (GNU Regular Expression Compiling): Likewise.
18437         (Match-end-of-line Operator): Mention 'not_eol'.
18438
18439 2010-08-14  Brian Gough  <bjg@gnu.org>
18440             Bruno Haible  <bruno@clisp.org>
18441
18442         git-merge-changelog: add doc relating to use with bzr and hg.
18443         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
18444
18445 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
18446
18447         pthread: fix pthread.h creation for srcdir != builddir
18448         * modules/pthread (Makefile.am): Fix the rule to work also in a
18449         non-srcdir build.
18450
18451 2010-08-13  Karl Berry  <karl@gnu.org>
18452
18453         * doc/regex.texi (Predefined Syntaxes): @smallexample.
18454         * doc/posix-*/*: force line break before @url of POSIX
18455         specifications.
18456         Suggested by Werner Lemberg.
18457
18458 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
18459
18460         strtod: fix const diagnostic
18461         * lib/strtod.c (strtod): Don't assign const char * to char *,
18462         as this elicits a warning from GCC when warnings are enabled.
18463
18464 2010-08-10  Pádraig Brady <P@draigbrady.com>
18465         and Eric Blake  <eblake@redhat.com>
18466
18467         copy-acl: ignore ENOTSUP on HP-UX
18468         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
18469         so that it is available for HP-UX.
18470         * lib/copy-acl.c (qcopy_acl): Use it.
18471         Reported by Patrick M. Callahan.
18472
18473 2010-08-10  Eric Blake  <eblake@redhat.com>
18474
18475         open, chown: relax license
18476         * modules/open (License): Change to LGPLv2+, with consent by all
18477         authors, for use in augeas.
18478         * modules/chown (License): Likewise.
18479         * modules/lchown (Likewise): Likewise.
18480         Requested by Adam Stokes.
18481
18482 2010-08-09  Karl Berry  <karl@gnu.org>
18483
18484         * build-aux/ar-lib: new file, import from Automake.
18485         * config/srclist.txt: autocheck for updates.
18486
18487 2010-08-09  Eric Blake  <eblake@redhat.com>
18488
18489         readlinkat: adjust client modules
18490         * modules/areadlinkat (Depends-on): Use readlinkat, not
18491         symlinkat.
18492         * modules/areadlinkat-with-size (Depends-on): Likewise.
18493
18494         mknod: be more vocal about danger of running tests as root
18495         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
18496         root, since that is just asking for problems.
18497         Suggested by Bruno Haible, based on a report by Rainer Tammer.
18498
18499         readlinkat: split into its own module
18500         * modules/symlinkat: Split readlinkat...
18501         * modules/readlinkat: ...into separate module.
18502         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
18503         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
18504         * lib/symlinkat.c (readlinkat): Move...
18505         * lib/readlinkat.c: ...into new file.
18506         * modules/symlinkat-tests: Split readlinkat test...
18507         * modules/readlinkat-tests: ...into separate module.
18508         * tests/test-symlinkat.c: Split...
18509         * tests/test-readlinkat.c: ...into new file.
18510         * NEWS: Document the split.
18511         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
18512         * lib/unistd.in.h (readlinkat): Likewise.
18513         Suggested by Bruno Haible.
18514
18515 2010-08-08  Bruno Haible  <bruno@clisp.org>
18516
18517         memxfrm: Speed up.
18518         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
18519         that usually only one call to strxfrm is necessary for each string
18520         part.
18521         Reported by Paul Eggert <eggert@cs.ucla.edu>.
18522
18523 2010-08-07  Karl Berry  <karl@gnu.org>
18524
18525         * doc/posix-headers/limits.texi,
18526         * doc/posix-functions/malloc.texi,
18527         * doc/posix-functions/strsignal.texi: missing @item.
18528         * doc/ld-version-script.texi: spurious leading i.
18529         * doc/regex.texi (Interval Operators): no commas inside @var.
18530
18531 2010-08-01  Bruno Haible  <bruno@clisp.org>
18532
18533         Integrate the regex documentation.
18534         * doc/gnulib.texi: Define 'cn' index.
18535         (Regular expressions): New a chapter that includes regex.texi and
18536         regexprops-generic.texi.
18537         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
18538         syntax.
18539
18540         Whitespace cleanup.
18541         * doc/regex.texi: Remove trailing spaces.
18542
18543         Add regex documentation.
18544         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
18545         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
18546         Written by Kathy A. Hargreaves and Karl Berry.
18547
18548 2010-08-01  Bruno Haible  <bruno@clisp.org>
18549
18550         link: Update documentation.
18551         * doc/posix-functions/link.texi: Update regarding Solaris.
18552
18553 2010-07-31  Bruno Haible  <bruno@clisp.org>
18554
18555         Update modules list.
18556         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
18557         (String handling <string.h>): Add memcmp2, memxfrm.
18558         (Container data structures): Add xlist, xsublist, xoset.
18559         (Core language properties): Add alignof, unused-parameter.
18560         (Process control, Numeric conversion functions <stdlib.h>): Renamed
18561         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
18562         (Unibyte characters <ctype.h>): New section.
18563         (String handling <string.h>): New section.
18564         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
18565         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
18566         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
18567         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
18568         tan, tanh, tanl, y0, y1, yn.
18569         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
18570         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
18571         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
18572         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
18573         unlockpt, vdprintf, vdprintf-posix.
18574         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
18575         (File system functions): Add concat-filename, sys_file, sys_ioctl,
18576         xconcat-filename.
18577         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
18578         getdtablesize, pipe2, pipe2-safer.
18579         (Security): New section.
18580         (Networking functions): Add accept4.
18581         (Signal handling): Add sigpipe.
18582         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
18583         mbmemcasecoll.
18584         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
18585         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
18586         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
18587         pipe-filter-ii.
18588         (Misc): Add argp-version-etc, login_tty, parse-duration.
18589
18590 2010-07-31  Bruno Haible  <bruno@clisp.org>
18591
18592         Improve doc in MODULES.html.
18593         * modules/linkat (Description): Add the word "function".
18594         * modules/mkfifo (Description): Likewise.
18595         * modules/mknod (Description): Likewise.
18596         * modules/remove (Description): Likewise.
18597         * modules/renameat (Description): Likewise.
18598         * modules/stat (Description): Likewise.
18599         * modules/symlink (Description): Likewise.
18600         * modules/unlink (Description): Likewise.
18601
18602 2010-07-31  Bruno Haible  <bruno@clisp.org>
18603
18604         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
18605         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
18606         option --enable/disable-c++ instead of --enable/disable-cxx.
18607         * NEWS: Mention the change.
18608
18609 2010-07-31  Bruno Haible  <bruno@clisp.org>
18610
18611         readlink, areadlink: Relax test a bit.
18612         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
18613         alternative to ENOTDIR.
18614         * tests/test-areadlink.h (test_areadlink): Likewise.
18615         Reported by Rainer Tammer.
18616
18617 2010-07-31  Bruno Haible  <bruno@clisp.org>
18618
18619         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
18620         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
18621         character, perform the search using U_STRCHR.
18622         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
18623         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
18624         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
18625         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
18626         Suggested by Paolo Bonzini.
18627
18628 2010-07-31  Bruno Haible  <bruno@clisp.org>
18629
18630         unistr/u*-strstr: Fix dependencies.
18631         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
18632         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
18633         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
18634
18635 2010-07-31  Bruno Haible  <bruno@clisp.org>
18636
18637         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
18638         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
18639         the beginning of the loop.
18640         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
18641         cases in 'switch' statement.
18642
18643         unistr/u8-strchr: Fix several bugs.
18644         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
18645         the string. When not found, return NULL, not a pointer near the end.
18646
18647         More tests for unistr/u8-strchr.
18648         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
18649         that the function does not read past the first occurrence of the byte
18650         being searched.
18651         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
18652         * tests/unistr/test-u16-strchr.c (main): New function.
18653         * tests/unistr/test-u32-strchr.c (main): New function.
18654
18655 2010-07-31  Bruno Haible  <bruno@clisp.org>
18656
18657         posix-modules: Ignore backup files of documentation files.
18658         * posix-modules: grep only through files named *.texi.
18659
18660 2010-07-31  Bruno Haible  <bruno@clisp.org>
18661
18662         symlinkat: Fix documentation.
18663         * doc/posix-functions/readlinkat.texi: Fix module name.
18664
18665 2010-07-31  Bruno Haible  <bruno@clisp.org>
18666
18667         fchownat: Replace also when chown has the trailing slash bug.
18668         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
18669         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
18670         introduced on 2010-04-10.
18671         Reported by Rainer Tammer.
18672
18673 2010-07-31  Bruno Haible  <bruno@clisp.org>
18674
18675         linkat: Work around AIX 7.1 bug.
18676         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
18677         whether linkat handles trailing slash correctly. If not, replace linkat
18678         and define LINKAT_TRAILING_SLASH_BUG.
18679         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
18680         check whether (fd1,file1) points to a directory if file1 or file2 ends
18681         in a slash. Code taken from lib/link.c.
18682         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
18683         Reported by Rainer Tammer.
18684
18685 2010-07-31  Bruno Haible  <bruno@clisp.org>
18686
18687         Correctly determine whether pow is available in libc on AIX 7 with xlc.
18688         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
18689         This disables an xlc optimization that was causing wrong test results.
18690         Reported by Rainer Tammer.
18691
18692 2010-07-31  Bruno Haible  <bruno@clisp.org>
18693
18694         iconv: Work around AIX 6.1..7.1 bug.
18695         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
18696         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
18697         cross-compiling, guess no on all versions of AIX.
18698         Reported by Rainer Tammer.
18699
18700 2010-07-31  Bruno Haible  <bruno@clisp.org>
18701
18702         readlink: Relax test a bit.
18703         * tests/test-readlink.h (test_readlink): Allow different errno value
18704         when readlink is called with a file name that ends in / and refers to
18705         a file.
18706         Suggested by Eric Blake.
18707         Reported by Rainer Tammer.
18708
18709 2010-07-31  Bruno Haible  <bruno@clisp.org>
18710
18711         copysign: Does not require -lm on glibc systems.
18712         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
18713         gl_COMMON_DOUBLE_MATHFUNC.
18714         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
18715
18716 2010-07-31  Bruno Haible  <bruno@clisp.org>
18717
18718         duplocale: Work around AIX 7.1 bug.
18719         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
18720         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
18721         * lib/duplocale.c (rpl_duplocale): Update comment.
18722         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
18723         Reported by Rainer Tammer.
18724
18725 2010-07-30  Bruno Haible  <bruno@clisp.org>
18726
18727         dirfd: Avoid link error on AIX 7.1.
18728         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
18729         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
18730         exist, set REPLACE_DIRFD.
18731         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
18732         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
18733         * doc/posix-functions/dirfd.texi: Update.
18734         Reported by Rainer Tammer.
18735
18736 2010-07-30  Eric Blake  <eblake@redhat.com>
18737
18738         strtod: next round of AIX fixes
18739         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
18740         exponent.
18741         * tests/test-strtod.c (main): Enhance tests.
18742         * doc/posix-functions/strtod.texi (strtod): Document next bug.
18743         Reported by Rainer Tammer.
18744
18745         futimens: fix configure check
18746         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
18747         Reported by Bruno Haible.
18748
18749 2010-07-30  Bruno Haible  <bruno@clisp.org>
18750
18751         getline: Update regarding AIX.
18752         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
18753         Reported by Rainer Tammer.
18754
18755 2010-07-30  Bruno Haible  <bruno@clisp.org>
18756
18757         wcwidth: Drop replacement on AIX 7.
18758         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
18759         AIX 7.
18760         Reported by Rainer Tammer.
18761
18762 2010-07-30  Bruno Haible  <bruno@clisp.org>
18763
18764         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
18765         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
18766         a 'char *'.
18767         Reported by Rainer Tammer.
18768
18769 2010-07-30  Bruno Haible  <bruno@clisp.org>
18770
18771         unlink: Update regarding AIX.
18772         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
18773         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
18774         Reported by Rainer Tammer.
18775
18776 2010-07-30  Bruno Haible  <bruno@clisp.org>
18777
18778         symlink: Update regarding AIX.
18779         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
18780         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
18781         Reported by Rainer Tammer.
18782
18783 2010-07-30  Bruno Haible  <bruno@clisp.org>
18784
18785         strndup: Update regarding AIX.
18786         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
18787         AIX 7.
18788         Reported by Rainer Tammer.
18789
18790 2010-07-30  Bruno Haible  <bruno@clisp.org>
18791
18792         stat: Update regarding AIX.
18793         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
18794         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
18795         Reported by Rainer Tammer.
18796
18797 2010-07-30  Bruno Haible  <bruno@clisp.org>
18798
18799         truncl: Fix autoconf test.
18800         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
18801         whether truncl works.
18802         Reported by Rainer Tammer.
18803
18804 2010-07-30  Bruno Haible  <bruno@clisp.org>
18805
18806         round: Update regarding AIX.
18807         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
18808         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
18809         Reported by Rainer Tammer.
18810
18811 2010-07-30  Bruno Haible  <bruno@clisp.org>
18812
18813         rename: Update regarding AIX.
18814         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
18815         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
18816         Reported by Rainer Tammer.
18817
18818 2010-07-30  Bruno Haible  <bruno@clisp.org>
18819
18820         printf.m4: Update regarding AIX.
18821         * m4/printf.m4: Update comments regarding AIX.
18822         Reported by Rainer Tammer.
18823
18824 2010-07-30  Bruno Haible  <bruno@clisp.org>
18825
18826         iconv: Update regarding AIX.
18827         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
18828         AIX 7.
18829         Reported by Rainer Tammer.
18830
18831 2010-07-30  Bruno Haible  <bruno@clisp.org>
18832
18833         getopt: Update regarding AIX.
18834         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
18835         no on AIX.
18836         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
18837         Reported by Rainer Tammer.
18838
18839 2010-07-30  Bruno Haible  <bruno@clisp.org>
18840
18841         ldexpl; Update regarding AIX.
18842         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
18843         on AIX 7.
18844         Reported by Rainer Tammer.
18845
18846 2010-07-30  Bruno Haible  <bruno@clisp.org>
18847
18848         frexpl: Update regarding AIX.
18849         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
18850         on AIX 7.
18851         Reported by Rainer Tammer.
18852
18853 2010-07-30  Bruno Haible  <bruno@clisp.org>
18854
18855         open, fopen: Update regarding AIX.
18856         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
18857         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
18858         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
18859         * doc/posix-functions/fopen.texi: Likewise.
18860         Reported by Rainer Tammer.
18861
18862 2010-07-30  Bruno Haible  <bruno@clisp.org>
18863
18864         chown: Update doc regarding AIX.
18865         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
18866         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
18867         Reported by Rainer Tammer.
18868
18869 2010-07-30  Eric Blake  <eblake@redhat.com>
18870
18871         strtod: fix bug in replacement function on AIX
18872         * lib/strtod.c (strtod): Special case broken "0x" parse in
18873         underlying strtod.
18874         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
18875         * doc/posix-functions/strtod.texi (strtod): Likewise.
18876         Reported by Rainer Tammer.
18877
18878 2010-07-30  Bruno Haible  <bruno@clisp.org>
18879
18880         mbrlen: Fix cross-compilation guess for AIX.
18881         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
18882         guess. Leftover from 2008-12-22.
18883
18884 2010-07-30  Bruno Haible  <bruno@clisp.org>
18885
18886         mbrtowc: Fix cross-compilation guess for AIX.
18887         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
18888         guess. Leftover from 2008-12-21.
18889
18890 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
18891
18892         init.sh: work around trap limitation of some shells
18893         * tests/init.sh (setup_): Move exit trap outside of shell function.
18894
18895 2010-07-29  Eric Blake  <eblake@redhat.com>
18896
18897         strtod: aid debugging
18898         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
18899         understanding why strtod is rejected.
18900
18901 2010-07-28  Bruno Haible  <bruno@clisp.org>
18902
18903         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
18904         * lib/unistr/u8-chr.c: Include <string.h>.
18905         * tests/unistr/test-u8-chr.c: Likewise.
18906         * tests/unistr/test-u16-chr.c: Likewise.
18907         * tests/unistr/test-u32-chr.c: Likewise.
18908         * tests/unistr/test-u8-strchr.c: Likewise.
18909         * tests/unistr/test-u16-strchr.c: Likewise.
18910         * tests/unistr/test-u32-strchr.c: Likewise.
18911         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
18912         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
18913         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
18914         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
18915
18916 2010-07-28  Bruno Haible  <bruno@clisp.org>
18917
18918         Use spaces for indentation, not tabs.
18919         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
18920
18921 2010-07-27  Bruno Haible  <bruno@clisp.org>
18922
18923         mbspcasecmp: Fix function specification.
18924         * lib/string.in.h (mbspcasecmp): Fix specification comment.
18925         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
18926         Reported by Eric Blake <eblake@redhat.com>.
18927
18928 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
18929
18930         timespec: use cast and not conditional, as truncation isn't possible
18931         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
18932         instead of a conditional.  Comment about the situation in more detail.
18933         This undoes most of the 2009-10-29 patch.
18934
18935 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
18936
18937         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
18938         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
18939         * lib/unistr/u8-strchr.c: Likewise.
18940         * modules/unistr/u8-chr: Depend on memchr.
18941
18942         unistr/u*-strchr: add tests
18943         * modules/unistr/u8-strchr-tests: New file.
18944         * modules/unistr/u16-strchr-tests: New file.
18945         * modules/unistr/u32-strchr-tests: New file.
18946         * tests/unistr/test-strchr.h: New file.
18947         * tests/unistr/test-u8-strchr.c: New file.
18948         * tests/unistr/test-u16-strchr.c: New file.
18949         * tests/unistr/test-u32-strchr.c: New file.
18950
18951         unistr/u*-chr: test multibyte sequences more
18952         * tests/unistr/test-chr.h: Do complete testing of the characters in the
18953         test vector.
18954         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
18955         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
18956         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
18957
18958         unistr/u*-chr: test multibyte sequences
18959         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
18960
18961         unistr/u*-chr: prepare for multibyte tests
18962         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
18963         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
18964         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
18965         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
18966         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
18967         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
18968
18969 2010-07-18  Bruno Haible  <bruno@clisp.org>
18970
18971         unistr/u8-strchr: Optimize non-ASCII argument case.
18972         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
18973         because the first byte often matches anyway.
18974         Reported by Pádraig Brady <P@draigbrady.com>.
18975
18976 2010-07-15  Karl Berry  <karl@gnu.org>
18977
18978         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
18979
18980 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
18981
18982         getcwd: on Solaris, work better if ancestors are inaccessible
18983         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
18984         buffer and size, try again with a large buffer.  This works better
18985         on Solaris, since its getcwd succeeds even if the path to the root
18986         is inaccessible, and this is helpful in common cases such as .zfs
18987         hidden directories.  Problem reported by J Chapman Flack in
18988         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
18989         Use system getcwd if it's declared, not merely if it's partly
18990         working; use the partly-working test only to avoid needless effort
18991         if the system getcwd fails.
18992         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
18993         comment that was already obsolete and is now even more obsolete.
18994         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
18995         now might call strdup.
18996
18997 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
18998
18999         pthread: Add enough so that coreutils/src/sort.c compiles.
19000         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
19001         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
19002         gnulib. Include <sched.h> and <time.h>, as per POSIX.
19003         Include <sys/types.h>, in case it defines pthread_t.
19004         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
19005         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
19006         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
19007         (pthread_rwlockattr_t, pthread_spinlock_t):
19008         New typedefs, if HAVE_PTHREAD_T is not defined.
19009         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
19010         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
19011         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
19012         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
19013         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
19014         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
19015         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
19016         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
19017         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
19018         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
19019         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
19020         New macros.
19021         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
19022         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
19023         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
19024         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
19025         (pthread_spin_unlock): New dummy functions.
19026         (pthread_create): Return EAGAIN; don't set errno.
19027         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
19028         require AC_C_INLINE.
19029         * modules/pthread (Depends-on): Add sched, time.
19030         (pthread.h): Use AM_V_GEN.
19031
19032 2010-07-13  Bruno Haible  <bruno@clisp.org>
19033
19034         striconveh: Don't malloc memory if the result buffer is sufficient.
19035         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
19036         buffer if its size is sufficient.
19037         Reported by Ludovic Courtès <ludo@gnu.org>.
19038
19039 2010-07-13  Bruno Haible  <bruno@clisp.org>
19040
19041         strtod: Add safety check.
19042         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
19043
19044 2010-07-12  Bruno Haible  <bruno@clisp.org>
19045
19046         Unify tests that set gl_cv_func_ldexpl_no_libm.
19047         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
19048         gl_FUNC_LDEXPL.
19049         (gl_FUNC_LDEXPL): Invoke it.
19050         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
19051
19052 2010-07-12  Bruno Haible  <bruno@clisp.org>
19053
19054         Unify tests that set gl_cv_func_ldexp_no_libm.
19055         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
19056         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
19057         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
19058         (configure.ac): Simply invoke gl_FUNC_LDEXP.
19059         * modules/strtod (Files): Add m4/ldexp.m4.
19060
19061 2010-07-12  Bruno Haible  <bruno@clisp.org>
19062
19063         Unify tests that set gl_cv_func_frexpl_no_libm.
19064         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
19065         gl_FUNC_FREXPL_NO_LIBM.
19066         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
19067         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
19068
19069 2010-07-12  Bruno Haible  <bruno@clisp.org>
19070
19071         Unify tests that set gl_cv_func_frexp_no_libm.
19072         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
19073         gl_FUNC_FREXP_NO_LIBM.
19074         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
19075         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
19076
19077 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
19078
19079         memcoll: clarify sizes versus lengths, document better, and tweak perf
19080         * lib/memcoll.c (strcoll_loop, memcoll0):
19081         Improve quality of descriptive comments.  Name variables
19082         consistently as to whether they are lengths (which do not include
19083         terminating null) versus sizes (which do).
19084         * lib/xmemcoll.c (xmemcoll0): Likewise.
19085         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
19086         returned when s1size == 0; this is easier to compile and saves
19087         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
19088
19089 2010-07-12  Bruno Haible  <bruno@clisp.org>
19090
19091         Tests for module '_Exit'.
19092         * modules/_Exit-tests: New file.
19093         * tests/test-_Exit.sh: New file.
19094         * tests/test-_Exit.c: New file.
19095
19096         New module '_Exit'.
19097         * lib/stdlib.in.h (__attribute__): New macro.
19098         (_Exit): New declaration.
19099         * lib/_Exit.c: New file.
19100         * m4/_Exit.m4: New file.
19101         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
19102         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
19103         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
19104         * modules/_Exit: New file.
19105         * tests/test-stdlib-c++.cc (_Exit): Check signature.
19106         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
19107
19108 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
19109
19110         strtod: make it more-accurate typically, and don't require libm
19111         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
19112         Include limits.h.  Don't include string.h.
19113         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
19114         (locale_isspace): New function, so that no casts are needed to
19115         check whether *s is a space.
19116         (ldexp): Provide an unused dummy if not available.
19117         (scale_radix_exp, parse_number, underlying_strtod): New functions.
19118         (strtod): Use them.  This implementation prefers to use the
19119         underlying strtod if available, falling back on our own code
19120         only to fix known bugs.  This is more likely to produce an
19121         accurate result.  Also, it avoids the use of libm functions.
19122         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
19123         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
19124         was absent, but it caused a test failure with coreutils.
19125         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
19126         with libm.
19127         * modules/strtod (Makefile.am, Link): libm is no longer needed.
19128         * modules/strtod-tests (Makefile.am): Likewise.
19129
19130 2010-07-11  Pádraig Brady  <P@draigBrady.com>
19131             Bruno Haible  <bruno@clisp.org>
19132
19133         unistr/u8-strchr: Optimize ASCII argument case.
19134         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
19135
19136 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19137
19138         (x)memcoll: minor tweaks
19139         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
19140         is after the type that it qualifies.
19141         (memcoll0): Likewise.
19142         * lib/memcoll.h (memcoll0): Likewise.
19143         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
19144         * lib/xmemcoll.h (xmemcoll0): Likewise.
19145         * lib/memcoll.c (memcoll0): Correct the comment.  This function
19146         differs from memcoll in that the NUL byte is part of the argument.
19147         Omit the abort-checks, as performance is a real issue here.  Plus,
19148         the checks were wrong anyway (an off-by-one error).  Omit local
19149         variable 'diff', as it's a bit clearer that way.
19150         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
19151         no longer needed.
19152
19153 2010-07-08  Chen Guo <chenguo4@yahoo.com>
19154
19155         (x)memcoll: speedup when input is known to be NUL delimited
19156         * lib/memcoll.c: Include stdlib.
19157         (memcoll0): New function.
19158         (strcoll_loop): New function, refactored for use in both memcoll
19159         and memcoll0.
19160         * lib/memcoll.h (memcoll0): Add prototype.
19161         * lib/xmemcoll.c (xmemcoll0): New function.
19162         (collate_error): New function, refactored for use in both xmemcoll
19163         and xmemcoll0.
19164         * lib/xmemcoll.h (xmemcoll0): Add prototype.
19165         * m4/memcoll.m4: add inline invocation.
19166
19167 2010-07-06  Pádraig Brady  <P@draigBrady.com>
19168
19169         * build-aux/bootstrap: Remove any local translations
19170         from the translation project synchronization directory,
19171         so that local only translations are not distributed.
19172
19173 2010-07-04  Bruno Haible  <bruno@clisp.org>
19174
19175         fsusage: Clarify which code applies to which platforms.
19176         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
19177         platform.
19178         * lib/fsusage.c (get_fs_usage): Likewise.
19179
19180 2010-07-04  Bruno Haible  <bruno@clisp.org>
19181
19182         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
19183         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
19184         Reported by Martin Lambers <marlam@marlam.de>.
19185
19186 2010-07-04  Jim Meyering  <meyering@redhat.com>
19187
19188         hash: once again explicitly disallow insertion of NULL
19189         * lib/hash.c (hash_insert0): Reinstate just-removed test:
19190         inserting a NULL pointer cannot work with these functions.
19191         Add a comment with details.
19192         This reverts part of the 2010-07-01 commit, 5bef1a35
19193         "hash: extend module to deal with non-pointer keys".
19194
19195 2010-07-01  Bruno Haible  <bruno@clisp.org>
19196
19197         stdbool: Update doc.
19198         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
19199         Info from Christian Weisgerber <naddy@mips.inka.de>.
19200
19201 2010-07-01  Jim Meyering  <meyering@redhat.com>
19202
19203         hash: extend module to deal with non-pointer keys
19204         * lib/hash.c (hash_insert0): New interface, much like hash_insert
19205         but that allows insertion of non-pointer entries.
19206         Do not disallow an ENTRY value of NULL.
19207         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
19208         * lib/hash.h (hash_insert0): Declare.
19209
19210 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19211
19212         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
19213         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
19214         not present (i.e. with autoconf 2.59 and when using gettextize, not
19215         gnulib), require AC_GNU_SOURCE instead.
19216
19217 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
19218
19219         idpriv-drop: Fix tests.
19220         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
19221         not to the test-idpriv-droptemp program.
19222
19223 2010-06-29  Bruno Haible  <bruno@clisp.org>
19224
19225         string: Fix syntax error with g++ 2.96.
19226         * lib/string.in.h (__pure__): Remove definition.
19227         (_GL_ATTRIBUTE_PURE): New macro.
19228         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
19229         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
19230         Reported by Christian Weisgerber <naddy@mips.inka.de>.
19231
19232 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
19233
19234         unitypes: Fix bug introduced on 2010-05-18.
19235         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
19236
19237 2010-06-22  Eric Blake  <eblake@redhat.com>
19238
19239         memmem: slight optimization
19240         * lib/str-two-way.h (critical_factorization): Update comments.
19241         Reduce work during factorization phase.
19242         Reported by Carlos Bueno <carlos@bueno.org>.
19243
19244 2010-06-21  Bruno Haible  <bruno@clisp.org>
19245
19246         Fix HAVE_CALLOC_POSIX misnomer.
19247         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
19248         !HAVE_CALLOC_POSIX.
19249         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
19250         HAVE_CALLOC_POSIX.
19251         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
19252         instead of HAVE_CALLOC_POSIX.
19253         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
19254         HAVE_CALLOC_POSIX.
19255
19256         Use modern idiom for calloc() replacement.
19257         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
19258         AC_FUNC_CALLOC.
19259         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
19260         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
19261         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19262         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
19263         (gl_REPLACE_CALLOC): New macro.
19264
19265 2010-06-21  Bruno Haible  <bruno@clisp.org>
19266
19267         Fix HAVE_REALLOC_POSIX misnomer.
19268         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
19269         !HAVE_REALLOC_POSIX.
19270         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
19271         HAVE_REALLOC_POSIX.
19272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
19273         instead of HAVE_REALLOC_POSIX.
19274         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
19275         HAVE_REALLOC_POSIX.
19276
19277         Use modern idiom for realloc() replacement.
19278         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
19279         AC_FUNC_REALLOC.
19280         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
19281         Autoconf's AC_FUNC_REALLOC.
19282         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19283         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
19284         (gl_REPLACE_REALLOC): New macro.
19285         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
19286
19287 2010-06-21  Bruno Haible  <bruno@clisp.org>
19288
19289         Fix HAVE_MALLOC_POSIX misnomer.
19290         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
19291         !HAVE_MALLOC_POSIX.
19292         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
19293         HAVE_MALLOC_POSIX.
19294         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
19295         instead of HAVE_MALLOC_POSIX.
19296         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
19297         HAVE_MALLOC_POSIX.
19298
19299         Use modern idiom for malloc() replacement.
19300         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
19301         AC_FUNC_MALLOC.
19302         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
19303         Autoconf's AC_FUNC_MALLOC.
19304         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19305         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
19306         (gl_REPLACE_MALLOC): New macro.
19307         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
19308
19309 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
19310
19311         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
19312         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
19313         This macro takes 3 arguments, not 4.
19314
19315 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
19316
19317         ipv6: fix detection under mingw
19318         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
19319         in6_addr.
19320
19321 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
19322
19323         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
19324         that strtod() works when cross-compiling to a glibc version known
19325         to work.
19326
19327 2010-06-15  Bruno Haible  <bruno@clisp.org>
19328
19329         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
19330
19331 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
19332
19333         select: Correct timeout.
19334         * lib/select.c (rpl_select): Compute wait_timeout correctly.
19335
19336 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19337
19338         git-version-gen: init shell var to avoid env var influence
19339         * build-aux/git-version-gen (v): Init shell var to empty.
19340
19341 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19342
19343         priv-set: Don't assume that priv.h exists merely because getppriv does.
19344         See Jan Andersen's bug report about AIX 5L in
19345         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
19346         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
19347         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
19348         * lib/priv-set.h: Likewise.
19349         * tests/test-priv-set.c: Likewise.
19350
19351 2010-06-13  Bruno Haible  <bruno@clisp.org>
19352
19353         relocatable: Make it easier to test whether to install wrappers.
19354         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
19355         RELOCATABLE_VIA_WRAPPER.
19356
19357 2010-06-13  Bruno Haible  <bruno@clisp.org>
19358
19359         gnulib-tool: Display specified modules and dependencies differently.
19360         * gnulib-tool (func_show_module_list): New function.
19361         (func_import, func_create_testdir): Invoke it.
19362         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19363
19364 2010-06-13  Bruno Haible  <bruno@clisp.org>
19365
19366         gnulib-tool: Align code of func_import and func_create_testdir.
19367         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
19368         specified_modules.
19369
19370 2010-06-12  Jim Meyering  <meyering@redhat.com>
19371
19372         test-inttostr: avoid spurious failure on Solaris 9
19373         * tests/test-inttostr.c (main): Skip the test when snprintf fails
19374         to accept "%ju".  Reported by Bruno Haible.
19375
19376 2010-06-11  Jim Meyering  <meyering@redhat.com>
19377
19378         test-sys_socket: mark variables as used more readably
19379         * tests/test-sys_socket.c (main): Mark otherwise unused variables
19380         as "used" explicitly via (void) statement casts.  This is more
19381         readable than using them in an artificial return expression.
19382         Suggestion from Bruno Haible.
19383
19384 2010-06-11  Bruno Haible  <bruno@clisp.org>
19385
19386         Avoid some more warnings from "gcc -Wwrite-strings".
19387         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
19388         to 'const char *'.
19389         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
19390         * tests/test-c-strcasestr.c (main): Likewise.
19391         * tests/test-mbscasestr1.c (main): Likewise.
19392         * tests/test-mbscasestr2.c (main): Likewise.
19393         * tests/test-memmem.c (main): Likewise.
19394         * tests/test-strstr.c (main): Likewise.
19395         * tests/test-strcasestr.c (main): Likewise.
19396
19397 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19398
19399         init.sh: change framework_failure_ to fail with status 99, not 1
19400         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
19401         automake's parallel-tests rule that this is an unexpected failure,
19402         even if the test is listed in XFAIL_TESTS.
19403
19404 2010-06-11  Jim Meyering  <meyering@redhat.com>
19405
19406         test-inttostr: avoid warnings about 4-6KB literal strings
19407         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
19408         Include "macros.h", for its definition of ASSERT.
19409         (CK): s/assert/ASSERT/
19410         * modules/inttostr-tests (Files): Add macros.h.
19411
19412         init.sh: don't use $ME_ or skip_ before they are defined
19413         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
19414         their first uses.  Also hoist their companions: warn_, fail_,
19415         framework_failure_, $stderr_fileno.  Prompted by a patch from
19416         Stefano Lattarini.
19417
19418         test-sys_socket: avoid set-but-not-used warnings from gcc
19419         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
19420         avoid warning about set-but-not-used variables.
19421
19422         test-xvasprintf: avoid 'const' discard warnings
19423         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
19424         "const" when assigning from literal strings.
19425         (test_xasprintf): Add "void" in function argument list to placate
19426         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
19427
19428         tests: avoid compilation warnings in argmatch and exclude tests...
19429         in packages that define ARGMATCH_DIE_DECL, like coreutils.
19430         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
19431         Since it always exits, declare with the "noreturn" attribute.
19432         * tests/test-argmatch.c: Likewise.
19433
19434         tests: avoid 'const' discard warnings in mbsstr tests
19435         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
19436         * tests/test-mbsstr2.c (main): Likewise.
19437
19438         test-verify: avoid warning from gcc's -Wmissing-declarations
19439         * tests/test-verify.c (function): Declare to be static.
19440
19441         test-inttostr.c: include <string.h> for use of strcmp
19442         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
19443
19444         test-linkat: avoid failed assertion on "other" architectures
19445         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
19446         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
19447         sparc: https://bugs.launchpad.net/bugs/591968
19448
19449 2010-06-11  Jim Meyering  <meyering@redhat.com>
19450
19451         printf.m4: avoid autoconf's "Expanded Before Required" warning
19452         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
19453         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
19454         autoconf warning.
19455
19456 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
19457
19458         Replacement header templates are now named with ".in", not "_".
19459         * doc/gnulib-intro.texi: Correct.
19460
19461 2010-06-10  Jim Meyering  <meyering@redhat.com>
19462
19463         inttostr-tests: depend on snprintf, not snprintf-posix
19464         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
19465         snprintf-posix, to avoid this aclocal failure:
19466           missing file gnulib-tests/vasnprintf.c
19467           configure.ac:45: error: expected source file, required through \
19468           AC_LIBSOURCES, not found
19469
19470 2010-06-10  Jim Meyering  <meyering@redhat.com>
19471
19472         inttostr: add a new function, inttostr, and tests
19473         The namesake function was not available.  The existence of the
19474         template file, inttostr.c makes its addition nontrivial.
19475         * lib/anytostr.c: Rename from inttostr.c.
19476         (anytostr): Rename from inttostr.
19477         * lib/inttostr.c: New file.
19478         * modules/inttostr (Files): Add anytostr.c.
19479         (Makefile.am): Set lib_SOURCES instead of ...
19480         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
19481         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
19482         * lib/offtostr.c: Likewise.
19483         * lib/uinttostr.c: Likewise.
19484         * lib/umaxtostr.c: Likewise.
19485         * modules/inttostr-tests: New file.
19486         * tests/test-inttostr.c: New file.  Test these functions.
19487
19488 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
19489             Bruno Haible  <bruno@clisp.org>
19490
19491         Add "Extending Gnulib" chapter to manual.
19492         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
19493         chapter.
19494         (Extending Gnulib): New chapter.
19495         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
19496         chapter.
19497
19498 2010-06-09  Bruno Haible  <bruno@clisp.org>
19499
19500         Avoid relocwrapper link errors due to gnulib replacement functions.
19501         * lib/areadlink.c: Use the system's malloc, realloc functions.
19502         (areadlink): Set errno to ENOMEM explicitly.
19503         * modules/areadlink (Depends-on): Remove malloc-posix.
19504         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19505
19506 2010-06-09  Bruno Haible  <bruno@clisp.org>
19507
19508         Avoid relocwrapper link errors due to gnulib replacement functions.
19509         * lib/canonicalize-lgpl.c: Use the system's malloc function.
19510         * lib/malloca.c: Likewise.
19511         * lib/relocatable.c: Likewise.
19512         * lib/progreloc.c: Use the system's malloc, sprintf functions.
19513         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
19514         * lib/setenv.c: Use the system's malloc, realloc functions.
19515         * lib/strerror.c: Use the system's sprintf function.
19516         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19517
19518 2010-06-04  Bruno Haible  <bruno@clisp.org>
19519
19520         Prefer documented low-level autoconf macro names.
19521         * m4/lib-link.m4: Use m4_translit instead of translit.
19522         * m4/environ.m4: Likewise.
19523         * m4/mathfunc.m4: Likewise.
19524         * m4/onceonly.m4: Likewise.
19525         * m4/stdint.m4: Likewise.
19526         Suggested by Eric Blake.
19527
19528 2010-06-04  Martin Lambers  <marlam@marlam.de>
19529             Bruno Haible  <bruno@clisp.org>
19530
19531         havelib: Allow library names with '+' characters.
19532         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
19533         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
19534
19535 2010-06-09  Bruno Haible  <bruno@clisp.org>
19536
19537         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
19538         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
19539         realloc failed.
19540
19541 2010-06-08  Peter Simons  <simons@cryp.to>
19542
19543         maint.mk: make the news-check rule more configurable
19544         * top/maint.mk (news-check-lines-spec): New variable.
19545         (news-check): Use "sed -n 1,10p" in place of "head".
19546
19547 2010-06-07  Jim Meyering  <meyering@redhat.com>
19548
19549         do-release-commit-and-tag: fix typo in --help
19550         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
19551
19552         regex: avoid new dead-code warning with gcc-4.6.0
19553         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
19554         if-block containing a while-loop.  It's been unused for at least
19555         5 years.
19556
19557 2010-06-05  Bruno Haible  <bruno@clisp.org>
19558
19559         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
19560         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
19561
19562 2010-06-04  Bruno Haible  <bruno@clisp.org>
19563
19564         Update to GNU gettext 0.18.1.
19565         * modules/gettext (configure.ac): Require gettext infrastructure from
19566         version 0.18.1.
19567
19568 2010-06-03  Bruno Haible  <bruno@clisp.org>
19569
19570         Don't use AC_LIBOBJ with file names in subdirectories.
19571         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
19572         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
19573         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
19574         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
19575         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
19576         gl_LIBUNISTRING_LIBSOURCE.
19577         (Makefile.am): Augment lib_SOURCES here, conditionally.
19578         * NEWS: Drop requirement for Automake option 'subdir-objects'.
19579
19580 2010-06-03  Bruno Haible  <bruno@clisp.org>
19581
19582         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
19583         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
19584         expansion does not end with a newline.
19585         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
19586         unnecessary newline.
19587
19588 2010-06-03  Bruno Haible  <bruno@clisp.org>
19589
19590         Reduce dependencies.
19591         * tests/test-quotearg.h: New file, extracted from
19592         tests/test-quotearg.c.
19593         * tests/test-quotearg-simple.c: New file, extracted from
19594         tests/test-quotearg.c.
19595         * tests/test-quotearg.c: Don't include <ctype.h>.
19596         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
19597         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
19598         use_quote_double_quotes, use_quotearg_colon): Moved to
19599         tests/test-quotearg.h.
19600         (results_g, flag_results, custom_quotes, custom_results): Moved
19601         to tests/test-quotearg-simple.c.
19602         (main): Moved the part that does not depend on gettext to
19603         tests/test-quotearg-simple.c. Return 77 if the test cannot be
19604         performed.
19605         * modules/quotearg-simple: New file.
19606         * modules/quotearg-simple-tests: New file.
19607         * modules/quotearg (Depends-on): Add quotearg-simple.
19608         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
19609         (Files): Add tests/test-quotearg.h.
19610         Reported by Paolo Bonzini.
19611
19612 2010-06-03  Bruno Haible  <bruno@clisp.org>
19613
19614         Reduce dependencies.
19615         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
19616
19617 2010-06-03  Bruno Haible  <bruno@clisp.org>
19618
19619         time: Undefine more broken macros.
19620         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
19621         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
19622         Reported by Eric Blake.
19623
19624 2010-06-03  Bruno Haible  <bruno@clisp.org>
19625
19626         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
19627         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
19628         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
19629         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
19630         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
19631         Reported by Ludovic Courtès <ludo@gnu.org>.
19632
19633 2010-06-02  Eric Blake  <eblake@redhat.com>
19634
19635         time: work with mingw + pthreads-win32 library
19636         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
19637         if timespec is defined only in pthread.h.
19638         * modules/time (Makefile.am): Substitute it.
19639         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
19640         <pthread.h>, when needed.
19641         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
19642         from the library.
19643
19644 2010-05-31  Bruno Haible  <bruno@clisp.org>
19645
19646         Avoid expanding two macros in the wrong order.
19647         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
19648         gl_LIBUNISTRING if it is defined.
19649         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
19650         autoconf >= 2.64.
19651         Reported by Ludovic Courtès <ludo@gnu.org>.
19652
19653 2010-05-27  Jim Meyering  <meyering@redhat.com>
19654
19655         maint.mk: also prohibit "#undef" of always-defined symbols
19656         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
19657         Allow more than one space before the symbol name.
19658         (sc_prohibit_always-defined_macros): Use grep's -E, now that
19659         the regexp uses alternation.
19660
19661 2010-05-26  Eric Blake  <eblake@redhat.com>
19662
19663         maint.mk: avoid echo -e
19664         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
19665         Convert all uses of echo -* to printf.
19666         Reported by Matthias Bolte.
19667
19668 2010-05-25  Bruno Haible  <bruno@clisp.org>
19669
19670         Update to GNU gettext 0.18, part 2.
19671         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
19672         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
19673
19674 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19675
19676         Add missing include in test-pwrite.c.
19677         * tests/test-pwrite.c: Include string.h, for strcmp.
19678
19679 2010-05-24  Bruno Haible  <bruno@clisp.org>
19680
19681         * NEWS: Mention requirement for Automake option 'subdir-objects'.
19682
19683 2010-05-24  Bruno Haible  <bruno@clisp.org>
19684
19685         Don't use conversion with transliteration in u{8,16,32}_strcoll.
19686         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
19687         iconveh_error argument.
19688         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
19689         U_STRCONV_TO_LOCALE.
19690         * lib/unistr/u16-strcoll.c: Likewise.
19691         * lib/unistr/u32-strcoll.c: Likewise.
19692         * modules/unistr/u8-strcoll (Depends-on): Add
19693         uniconv/u8-strconv-to-enc, localcharset. Remove
19694         uniconv/u8-strconv-to-locale.
19695         (configure.ac): Bump version number.
19696         * modules/unistr/u16-strcoll (Depends-on): Add
19697         uniconv/u16-strconv-to-enc, localcharset. Remove
19698         uniconv/u16-strconv-to-locale.
19699         (configure.ac): Bump version number.
19700         * modules/unistr/u32-strcoll (Depends-on): Add
19701         uniconv/u32-strconv-to-enc, localcharset. Remove
19702         uniconv/u32-strconv-to-locale.
19703         (configure.ac): Bump version number.
19704
19705 2010-05-24  Bruno Haible  <bruno@clisp.org>
19706
19707         Avoid a test failure on NetBSD 5.0.
19708         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
19709         an iconv() bug.
19710
19711 2010-05-24  Bruno Haible  <bruno@clisp.org>
19712
19713         Adjust #include directive style.
19714         * modules/regex (Includes): Recommend to write <regex.h>.
19715
19716 2010-05-24  Bruno Haible  <bruno@clisp.org>
19717
19718         regex: Don't require alloca.
19719         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
19720         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
19721         only inside if (0).
19722
19723 2010-05-23  Jim Meyering  <meyering@redhat.com>
19724
19725         test-renameat.c: include <sys/stat.h>
19726         * tests/test-renameat.c: Include <sys/stat.h>; required for
19727         definition of S_IS* macros.
19728
19729 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
19730
19731         Update maintainer documentation for 'relocatable-prog' module.
19732         * doc/relocatable-maint.texi: Update.
19733         Comments by Bruno Haible.
19734
19735 2010-05-23  Bruno Haible  <bruno@clisp.org>
19736
19737         git-merge-changelog: Enable --split-merged-entry by default.
19738         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
19739         (usage): Don't mention this option any more.
19740         Reported by Ralf Wildenhues.
19741
19742 2010-05-23  Jim Meyering  <meyering@redhat.com>
19743
19744         test-pwrite: do not leave behind a test file named "out"
19745         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
19746         The trivial-looking use of init.sh is really necessary.
19747         It ensures that the temporary file, "out", is created in
19748         a temporary directory, and removed upon termination.
19749         * tests/test-pwrite.sh: Re-add file.
19750         * modules/pwrite-tests: Reference it.
19751
19752 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19753
19754         Fix output redirection buglet in init.sh.
19755         * tests/init.sh: Fix redirection of stderr.
19756
19757 2010-05-20  Simon Josefsson  <simon@josefsson.org>
19758
19759         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
19760
19761 2010-05-17  Simon Josefsson  <simon@josefsson.org>
19762
19763         * modules/valgrind-tests: New file.
19764         * m4/valgrind-tests.m4: New file.
19765         * doc/valgrind-tests.texi: New file.
19766         * doc/gnulib.texi (Running self-tests under valgrind): New
19767         section.
19768
19769 2010-05-19  Bruno Haible  <bruno@clisp.org>
19770
19771         Clean up dead code in recent commit.
19772         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
19773         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
19774         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
19775         Suggested by Paolo Bonzini.
19776
19777 2010-05-19  Bruno Haible  <bruno@clisp.org>
19778
19779         Avoid valgrind error reports from libunistring.
19780         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
19781         * modules/libunistring (Files): Add it.
19782         * modules/libunistring-optional (Files): Likewise.
19783
19784 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
19785             Bruno Haible  <bruno@clisp.org>
19786
19787         New module 'libunistring-optional'.
19788         * modules/libunistring-optional: New file.
19789         * m4/libunistring-base.m4: New file.
19790         * m4/libunistring-optional.m4: New file.
19791         * lib/unicase.in.h: Renamed from lib/unicase.h.
19792         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
19793         * lib/unictype.in.h: Renamed from lib/unictype.h.
19794         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
19795         * lib/uniname.in.h: Renamed from lib/uniname.h.
19796         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
19797         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
19798         * lib/unistr.in.h: Renamed from lib/unistr.h.
19799         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
19800         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
19801         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
19802         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
19803         gl_LIBUNISTRING. If the library was found, determine the installed
19804         version and set LIBUNISTRING_VERSION.
19805         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
19806         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
19807         handle a configuration option --with-included-libunistring.
19808         * modules/libunistring (Files): Add m4/absolute-header.m4.
19809         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
19810         Add m4/libunistring-base.m4.
19811         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19812         (Makefile.am): Build unicase.h from unicase.in.h.
19813         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
19814         Add m4/libunistring-base.m4.
19815         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19816         (Makefile.am): Build uniconv.h from uniconv.in.h.
19817         * modules/unictype/base (Files): Use unictype.in.h instead of
19818         unictype.h. Add m4/libunistring-base.m4.
19819         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19820         (Makefile.am): Build unictype.h from unictype.in.h.
19821         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
19822         Add m4/libunistring-base.m4.
19823         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19824         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
19825         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
19826         Add m4/libunistring-base.m4.
19827         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19828         (Makefile.am): Build uniname.h from uniname.in.h.
19829         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
19830         Add m4/libunistring-base.m4.
19831         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19832         (Makefile.am): Build uninorm.h from uninorm.in.h.
19833         * modules/unistdio/base (Files): Use unistdio.in.h instead of
19834         unistdio.h. Add m4/libunistring-base.m4.
19835         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19836         (Makefile.am): Build unistdio.h from unistdio.in.h.
19837         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
19838         Add m4/libunistring-base.m4.
19839         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19840         (Makefile.am): Build unistr.h from unistr.in.h.
19841         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
19842         Add m4/libunistring-base.m4.
19843         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19844         (Makefile.am): Build unitypes.h from unitypes.in.h.
19845         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
19846         Add m4/libunistring-base.m4.
19847         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19848         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
19849         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
19850         uniwidth.h. Add m4/libunistring-base.m4.
19851         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19852         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
19853         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
19854         instead of augmenting lib_SOURCES.
19855         * modules/unicase/empty-suffix-context: Likewise.
19856         * modules/unicase/locale-language: Likewise.
19857         * modules/unicase/tolower: Likewise.
19858         * modules/unicase/totitle: Likewise.
19859         * modules/unicase/toupper: Likewise.
19860         * modules/unicase/u8-casecmp: Likewise.
19861         * modules/unicase/u8-casecoll: Likewise.
19862         * modules/unicase/u8-casefold: Likewise.
19863         * modules/unicase/u8-casexfrm: Likewise.
19864         * modules/unicase/u8-ct-casefold: Likewise.
19865         * modules/unicase/u8-ct-tolower: Likewise.
19866         * modules/unicase/u8-ct-totitle: Likewise.
19867         * modules/unicase/u8-ct-toupper: Likewise.
19868         * modules/unicase/u8-is-cased: Likewise.
19869         * modules/unicase/u8-is-casefolded: Likewise.
19870         * modules/unicase/u8-is-lowercase: Likewise.
19871         * modules/unicase/u8-is-titlecase: Likewise.
19872         * modules/unicase/u8-is-uppercase: Likewise.
19873         * modules/unicase/u8-prefix-context: Likewise.
19874         * modules/unicase/u8-suffix-context: Likewise.
19875         * modules/unicase/u8-tolower: Likewise.
19876         * modules/unicase/u8-totitle: Likewise.
19877         * modules/unicase/u8-toupper: Likewise.
19878         * modules/unicase/u16-casecmp: Likewise.
19879         * modules/unicase/u16-casecoll: Likewise.
19880         * modules/unicase/u16-casefold: Likewise.
19881         * modules/unicase/u16-casexfrm: Likewise.
19882         * modules/unicase/u16-ct-casefold: Likewise.
19883         * modules/unicase/u16-ct-tolower: Likewise.
19884         * modules/unicase/u16-ct-totitle: Likewise.
19885         * modules/unicase/u16-ct-toupper: Likewise.
19886         * modules/unicase/u16-is-cased: Likewise.
19887         * modules/unicase/u16-is-casefolded: Likewise.
19888         * modules/unicase/u16-is-lowercase: Likewise.
19889         * modules/unicase/u16-is-titlecase: Likewise.
19890         * modules/unicase/u16-is-uppercase: Likewise.
19891         * modules/unicase/u16-prefix-context: Likewise.
19892         * modules/unicase/u16-suffix-context: Likewise.
19893         * modules/unicase/u16-tolower: Likewise.
19894         * modules/unicase/u16-totitle: Likewise.
19895         * modules/unicase/u16-toupper: Likewise.
19896         * modules/unicase/u32-casecmp: Likewise.
19897         * modules/unicase/u32-casecoll: Likewise.
19898         * modules/unicase/u32-casefold: Likewise.
19899         * modules/unicase/u32-casexfrm: Likewise.
19900         * modules/unicase/u32-ct-casefold: Likewise.
19901         * modules/unicase/u32-ct-tolower: Likewise.
19902         * modules/unicase/u32-ct-totitle: Likewise.
19903         * modules/unicase/u32-ct-toupper: Likewise.
19904         * modules/unicase/u32-is-cased: Likewise.
19905         * modules/unicase/u32-is-casefolded: Likewise.
19906         * modules/unicase/u32-is-lowercase: Likewise.
19907         * modules/unicase/u32-is-titlecase: Likewise.
19908         * modules/unicase/u32-is-uppercase: Likewise.
19909         * modules/unicase/u32-prefix-context: Likewise.
19910         * modules/unicase/u32-suffix-context: Likewise.
19911         * modules/unicase/u32-tolower: Likewise.
19912         * modules/unicase/u32-totitle: Likewise.
19913         * modules/unicase/u32-toupper: Likewise.
19914         * modules/unicase/ulc-casecmp: Likewise.
19915         * modules/unicase/ulc-casecoll: Likewise.
19916         * modules/unicase/ulc-casexfrm: Likewise.
19917         * modules/uniconv/u8-conv-from-enc: Likewise.
19918         * modules/uniconv/u8-conv-to-enc: Likewise.
19919         * modules/uniconv/u8-strconv-from-enc: Likewise.
19920         * modules/uniconv/u8-strconv-from-locale: Likewise.
19921         * modules/uniconv/u8-strconv-to-enc: Likewise.
19922         * modules/uniconv/u8-strconv-to-locale: Likewise.
19923         * modules/uniconv/u16-conv-from-enc: Likewise.
19924         * modules/uniconv/u16-conv-to-enc: Likewise.
19925         * modules/uniconv/u16-strconv-from-enc: Likewise.
19926         * modules/uniconv/u16-strconv-from-locale: Likewise.
19927         * modules/uniconv/u16-strconv-to-enc: Likewise.
19928         * modules/uniconv/u16-strconv-to-locale: Likewise.
19929         * modules/uniconv/u32-conv-from-enc: Likewise.
19930         * modules/uniconv/u32-conv-to-enc: Likewise.
19931         * modules/uniconv/u32-strconv-from-enc: Likewise.
19932         * modules/uniconv/u32-strconv-from-locale: Likewise.
19933         * modules/uniconv/u32-strconv-to-enc: Likewise.
19934         * modules/uniconv/u32-strconv-to-locale: Likewise.
19935         * modules/unictype/bidicategory-byname: Likewise.
19936         * modules/unictype/bidicategory-name: Likewise.
19937         * modules/unictype/bidicategory-of: Likewise.
19938         * modules/unictype/bidicategory-test: Likewise.
19939         * modules/unictype/block-list: Likewise.
19940         * modules/unictype/block-test: Likewise.
19941         * modules/unictype/category-C: Likewise.
19942         * modules/unictype/category-Cc: Likewise.
19943         * modules/unictype/category-Cf: Likewise.
19944         * modules/unictype/category-Cn: Likewise.
19945         * modules/unictype/category-Co: Likewise.
19946         * modules/unictype/category-Cs: Likewise.
19947         * modules/unictype/category-L: Likewise.
19948         * modules/unictype/category-Ll: Likewise.
19949         * modules/unictype/category-Lm: Likewise.
19950         * modules/unictype/category-Lo: Likewise.
19951         * modules/unictype/category-Lt: Likewise.
19952         * modules/unictype/category-Lu: Likewise.
19953         * modules/unictype/category-M: Likewise.
19954         * modules/unictype/category-Mc: Likewise.
19955         * modules/unictype/category-Me: Likewise.
19956         * modules/unictype/category-Mn: Likewise.
19957         * modules/unictype/category-N: Likewise.
19958         * modules/unictype/category-Nd: Likewise.
19959         * modules/unictype/category-Nl: Likewise.
19960         * modules/unictype/category-No: Likewise.
19961         * modules/unictype/category-P: Likewise.
19962         * modules/unictype/category-Pc: Likewise.
19963         * modules/unictype/category-Pd: Likewise.
19964         * modules/unictype/category-Pe: Likewise.
19965         * modules/unictype/category-Pf: Likewise.
19966         * modules/unictype/category-Pi: Likewise.
19967         * modules/unictype/category-Po: Likewise.
19968         * modules/unictype/category-Ps: Likewise.
19969         * modules/unictype/category-S: Likewise.
19970         * modules/unictype/category-Sc: Likewise.
19971         * modules/unictype/category-Sk: Likewise.
19972         * modules/unictype/category-Sm: Likewise.
19973         * modules/unictype/category-So: Likewise.
19974         * modules/unictype/category-Z: Likewise.
19975         * modules/unictype/category-Zl: Likewise.
19976         * modules/unictype/category-Zp: Likewise.
19977         * modules/unictype/category-Zs: Likewise.
19978         * modules/unictype/category-and: Likewise.
19979         * modules/unictype/category-and-not: Likewise.
19980         * modules/unictype/category-byname: Likewise.
19981         * modules/unictype/category-name: Likewise.
19982         * modules/unictype/category-none: Likewise.
19983         * modules/unictype/category-of: Likewise.
19984         * modules/unictype/category-or: Likewise.
19985         * modules/unictype/category-test: Likewise.
19986         * modules/unictype/combining-class: Likewise.
19987         * modules/unictype/ctype-alnum: Likewise.
19988         * modules/unictype/ctype-alpha: Likewise.
19989         * modules/unictype/ctype-blank: Likewise.
19990         * modules/unictype/ctype-cntrl: Likewise.
19991         * modules/unictype/ctype-digit: Likewise.
19992         * modules/unictype/ctype-graph: Likewise.
19993         * modules/unictype/ctype-lower: Likewise.
19994         * modules/unictype/ctype-print: Likewise.
19995         * modules/unictype/ctype-punct: Likewise.
19996         * modules/unictype/ctype-space: Likewise.
19997         * modules/unictype/ctype-upper: Likewise.
19998         * modules/unictype/ctype-xdigit: Likewise.
19999         * modules/unictype/decimal-digit: Likewise.
20000         * modules/unictype/digit: Likewise.
20001         * modules/unictype/mirror: Likewise.
20002         * modules/unictype/numeric: Likewise.
20003         * modules/unictype/property-alphabetic: Likewise.
20004         * modules/unictype/property-ascii-hex-digit: Likewise.
20005         * modules/unictype/property-bidi-arabic-digit: Likewise.
20006         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
20007         * modules/unictype/property-bidi-block-separator: Likewise.
20008         * modules/unictype/property-bidi-boundary-neutral: Likewise.
20009         * modules/unictype/property-bidi-common-separator: Likewise.
20010         * modules/unictype/property-bidi-control: Likewise.
20011         * modules/unictype/property-bidi-embedding-or-override: Likewise.
20012         * modules/unictype/property-bidi-eur-num-separator: Likewise.
20013         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
20014         * modules/unictype/property-bidi-european-digit: Likewise.
20015         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
20016         * modules/unictype/property-bidi-left-to-right: Likewise.
20017         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
20018         * modules/unictype/property-bidi-other-neutral: Likewise.
20019         * modules/unictype/property-bidi-pdf: Likewise.
20020         * modules/unictype/property-bidi-segment-separator: Likewise.
20021         * modules/unictype/property-bidi-whitespace: Likewise.
20022         * modules/unictype/property-byname: Likewise.
20023         * modules/unictype/property-combining: Likewise.
20024         * modules/unictype/property-composite: Likewise.
20025         * modules/unictype/property-currency-symbol: Likewise.
20026         * modules/unictype/property-dash: Likewise.
20027         * modules/unictype/property-decimal-digit: Likewise.
20028         * modules/unictype/property-default-ignorable-code-point: Likewise.
20029         * modules/unictype/property-deprecated: Likewise.
20030         * modules/unictype/property-diacritic: Likewise.
20031         * modules/unictype/property-extender: Likewise.
20032         * modules/unictype/property-format-control: Likewise.
20033         * modules/unictype/property-grapheme-base: Likewise.
20034         * modules/unictype/property-grapheme-extend: Likewise.
20035         * modules/unictype/property-grapheme-link: Likewise.
20036         * modules/unictype/property-hex-digit: Likewise.
20037         * modules/unictype/property-hyphen: Likewise.
20038         * modules/unictype/property-id-continue: Likewise.
20039         * modules/unictype/property-id-start: Likewise.
20040         * modules/unictype/property-ideographic: Likewise.
20041         * modules/unictype/property-ids-binary-operator: Likewise.
20042         * modules/unictype/property-ids-trinary-operator: Likewise.
20043         * modules/unictype/property-ignorable-control: Likewise.
20044         * modules/unictype/property-iso-control: Likewise.
20045         * modules/unictype/property-join-control: Likewise.
20046         * modules/unictype/property-left-of-pair: Likewise.
20047         * modules/unictype/property-line-separator: Likewise.
20048         * modules/unictype/property-logical-order-exception: Likewise.
20049         * modules/unictype/property-lowercase: Likewise.
20050         * modules/unictype/property-math: Likewise.
20051         * modules/unictype/property-non-break: Likewise.
20052         * modules/unictype/property-not-a-character: Likewise.
20053         * modules/unictype/property-numeric: Likewise.
20054         * modules/unictype/property-other-alphabetic: Likewise.
20055         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
20056         * modules/unictype/property-other-grapheme-extend: Likewise.
20057         * modules/unictype/property-other-id-continue: Likewise.
20058         * modules/unictype/property-other-id-start: Likewise.
20059         * modules/unictype/property-other-lowercase: Likewise.
20060         * modules/unictype/property-other-math: Likewise.
20061         * modules/unictype/property-other-uppercase: Likewise.
20062         * modules/unictype/property-paired-punctuation: Likewise.
20063         * modules/unictype/property-paragraph-separator: Likewise.
20064         * modules/unictype/property-pattern-syntax: Likewise.
20065         * modules/unictype/property-pattern-white-space: Likewise.
20066         * modules/unictype/property-private-use: Likewise.
20067         * modules/unictype/property-punctuation: Likewise.
20068         * modules/unictype/property-quotation-mark: Likewise.
20069         * modules/unictype/property-radical: Likewise.
20070         * modules/unictype/property-sentence-terminal: Likewise.
20071         * modules/unictype/property-soft-dotted: Likewise.
20072         * modules/unictype/property-space: Likewise.
20073         * modules/unictype/property-terminal-punctuation: Likewise.
20074         * modules/unictype/property-test: Likewise.
20075         * modules/unictype/property-titlecase: Likewise.
20076         * modules/unictype/property-unassigned-code-value: Likewise.
20077         * modules/unictype/property-unified-ideograph: Likewise.
20078         * modules/unictype/property-uppercase: Likewise.
20079         * modules/unictype/property-variation-selector: Likewise.
20080         * modules/unictype/property-white-space: Likewise.
20081         * modules/unictype/property-xid-continue: Likewise.
20082         * modules/unictype/property-xid-start: Likewise.
20083         * modules/unictype/property-zero-width: Likewise.
20084         * modules/unictype/scripts: Likewise.
20085         * modules/unictype/syntax-c-ident: Likewise.
20086         * modules/unictype/syntax-c-whitespace: Likewise.
20087         * modules/unictype/syntax-java-ident: Likewise.
20088         * modules/unictype/syntax-java-whitespace: Likewise.
20089         * modules/unilbrk/u8-possible-linebreaks: Likewise.
20090         * modules/unilbrk/u8-width-linebreaks: Likewise.
20091         * modules/unilbrk/u16-possible-linebreaks: Likewise.
20092         * modules/unilbrk/u16-width-linebreaks: Likewise.
20093         * modules/unilbrk/u32-possible-linebreaks: Likewise.
20094         * modules/unilbrk/u32-width-linebreaks: Likewise.
20095         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
20096         * modules/unilbrk/ulc-width-linebreaks: Likewise.
20097         * modules/uniname/uniname: Likewise.
20098         * modules/uninorm/canonical-decomposition: Likewise.
20099         * modules/uninorm/composition: Likewise.
20100         * modules/uninorm/decomposing-form: Likewise.
20101         * modules/uninorm/decomposition: Likewise.
20102         * modules/uninorm/filter: Likewise.
20103         * modules/uninorm/nfc: Likewise.
20104         * modules/uninorm/nfd: Likewise.
20105         * modules/uninorm/nfkc: Likewise.
20106         * modules/uninorm/nfkd: Likewise.
20107         * modules/uninorm/u8-normalize: Likewise.
20108         * modules/uninorm/u8-normcmp: Likewise.
20109         * modules/uninorm/u8-normcoll: Likewise.
20110         * modules/uninorm/u8-normxfrm: Likewise.
20111         * modules/uninorm/u16-normalize: Likewise.
20112         * modules/uninorm/u16-normcmp: Likewise.
20113         * modules/uninorm/u16-normcoll: Likewise.
20114         * modules/uninorm/u16-normxfrm: Likewise.
20115         * modules/uninorm/u32-normalize: Likewise.
20116         * modules/uninorm/u32-normcmp: Likewise.
20117         * modules/uninorm/u32-normcoll: Likewise.
20118         * modules/uninorm/u32-normxfrm: Likewise.
20119         * modules/unistdio/u8-asnprintf: Likewise.
20120         * modules/unistdio/u8-asprintf: Likewise.
20121         * modules/unistdio/u8-snprintf: Likewise.
20122         * modules/unistdio/u8-sprintf: Likewise.
20123         * modules/unistdio/u8-u8-asnprintf: Likewise.
20124         * modules/unistdio/u8-u8-asprintf: Likewise.
20125         * modules/unistdio/u8-u8-snprintf: Likewise.
20126         * modules/unistdio/u8-u8-sprintf: Likewise.
20127         * modules/unistdio/u8-u8-vasnprintf: Likewise.
20128         * modules/unistdio/u8-u8-vasprintf: Likewise.
20129         * modules/unistdio/u8-u8-vsnprintf: Likewise.
20130         * modules/unistdio/u8-u8-vsprintf: Likewise.
20131         * modules/unistdio/u8-vasnprintf: Likewise.
20132         * modules/unistdio/u8-vasprintf: Likewise.
20133         * modules/unistdio/u8-vsnprintf: Likewise.
20134         * modules/unistdio/u8-vsprintf: Likewise.
20135         * modules/unistdio/u16-asnprintf: Likewise.
20136         * modules/unistdio/u16-asprintf: Likewise.
20137         * modules/unistdio/u16-snprintf: Likewise.
20138         * modules/unistdio/u16-sprintf: Likewise.
20139         * modules/unistdio/u16-u16-asnprintf: Likewise.
20140         * modules/unistdio/u16-u16-asprintf: Likewise.
20141         * modules/unistdio/u16-u16-snprintf: Likewise.
20142         * modules/unistdio/u16-u16-sprintf: Likewise.
20143         * modules/unistdio/u16-u16-vasnprintf: Likewise.
20144         * modules/unistdio/u16-u16-vasprintf: Likewise.
20145         * modules/unistdio/u16-u16-vsnprintf: Likewise.
20146         * modules/unistdio/u16-u16-vsprintf: Likewise.
20147         * modules/unistdio/u16-vasnprintf: Likewise.
20148         * modules/unistdio/u16-vasprintf: Likewise.
20149         * modules/unistdio/u16-vsnprintf: Likewise.
20150         * modules/unistdio/u16-vsprintf: Likewise.
20151         * modules/unistdio/u32-asnprintf: Likewise.
20152         * modules/unistdio/u32-asprintf: Likewise.
20153         * modules/unistdio/u32-snprintf: Likewise.
20154         * modules/unistdio/u32-sprintf: Likewise.
20155         * modules/unistdio/u32-u32-asnprintf: Likewise.
20156         * modules/unistdio/u32-u32-asprintf: Likewise.
20157         * modules/unistdio/u32-u32-snprintf: Likewise.
20158         * modules/unistdio/u32-u32-sprintf: Likewise.
20159         * modules/unistdio/u32-u32-vasnprintf: Likewise.
20160         * modules/unistdio/u32-u32-vasprintf: Likewise.
20161         * modules/unistdio/u32-u32-vsnprintf: Likewise.
20162         * modules/unistdio/u32-u32-vsprintf: Likewise.
20163         * modules/unistdio/u32-vasnprintf: Likewise.
20164         * modules/unistdio/u32-vasprintf: Likewise.
20165         * modules/unistdio/u32-vsnprintf: Likewise.
20166         * modules/unistdio/u32-vsprintf: Likewise.
20167         * modules/unistdio/ulc-asnprintf: Likewise.
20168         * modules/unistdio/ulc-asprintf: Likewise.
20169         * modules/unistdio/ulc-fprintf: Likewise.
20170         * modules/unistdio/ulc-snprintf: Likewise.
20171         * modules/unistdio/ulc-sprintf: Likewise.
20172         * modules/unistdio/ulc-vasnprintf: Likewise.
20173         * modules/unistdio/ulc-vasprintf: Likewise.
20174         * modules/unistdio/ulc-vfprintf: Likewise.
20175         * modules/unistdio/ulc-vsnprintf: Likewise.
20176         * modules/unistdio/ulc-vsprintf: Likewise.
20177         * modules/unistr/u8-check: Likewise.
20178         * modules/unistr/u8-chr: Likewise.
20179         * modules/unistr/u8-cmp: Likewise.
20180         * modules/unistr/u8-cmp2: Likewise.
20181         * modules/unistr/u8-cpy: Likewise.
20182         * modules/unistr/u8-cpy-alloc: Likewise.
20183         * modules/unistr/u8-endswith: Likewise.
20184         * modules/unistr/u8-mblen: Likewise.
20185         * modules/unistr/u8-mbsnlen: Likewise.
20186         * modules/unistr/u8-mbtouc: Likewise.
20187         * modules/unistr/u8-mbtouc-unsafe: Likewise.
20188         * modules/unistr/u8-mbtoucr: Likewise.
20189         * modules/unistr/u8-move: Likewise.
20190         * modules/unistr/u8-next: Likewise.
20191         * modules/unistr/u8-prev: Likewise.
20192         * modules/unistr/u8-set: Likewise.
20193         * modules/unistr/u8-startswith: Likewise.
20194         * modules/unistr/u8-stpcpy: Likewise.
20195         * modules/unistr/u8-stpncpy: Likewise.
20196         * modules/unistr/u8-strcat: Likewise.
20197         * modules/unistr/u8-strchr: Likewise.
20198         * modules/unistr/u8-strcmp: Likewise.
20199         * modules/unistr/u8-strcoll: Likewise.
20200         * modules/unistr/u8-strcpy: Likewise.
20201         * modules/unistr/u8-strcspn: Likewise.
20202         * modules/unistr/u8-strdup: Likewise.
20203         * modules/unistr/u8-strlen: Likewise.
20204         * modules/unistr/u8-strmblen: Likewise.
20205         * modules/unistr/u8-strmbtouc: Likewise.
20206         * modules/unistr/u8-strncat: Likewise.
20207         * modules/unistr/u8-strncmp: Likewise.
20208         * modules/unistr/u8-strncpy: Likewise.
20209         * modules/unistr/u8-strnlen: Likewise.
20210         * modules/unistr/u8-strpbrk: Likewise.
20211         * modules/unistr/u8-strrchr: Likewise.
20212         * modules/unistr/u8-strspn: Likewise.
20213         * modules/unistr/u8-strstr: Likewise.
20214         * modules/unistr/u8-strtok: Likewise.
20215         * modules/unistr/u8-to-u16: Likewise.
20216         * modules/unistr/u8-to-u32: Likewise.
20217         * modules/unistr/u8-uctomb: Likewise.
20218         * modules/unistr/u16-check: Likewise.
20219         * modules/unistr/u16-chr: Likewise.
20220         * modules/unistr/u16-cmp: Likewise.
20221         * modules/unistr/u16-cmp2: Likewise.
20222         * modules/unistr/u16-cpy: Likewise.
20223         * modules/unistr/u16-cpy-alloc: Likewise.
20224         * modules/unistr/u16-endswith: Likewise.
20225         * modules/unistr/u16-mblen: Likewise.
20226         * modules/unistr/u16-mbsnlen: Likewise.
20227         * modules/unistr/u16-mbtouc: Likewise.
20228         * modules/unistr/u16-mbtouc-unsafe: Likewise.
20229         * modules/unistr/u16-mbtoucr: Likewise.
20230         * modules/unistr/u16-move: Likewise.
20231         * modules/unistr/u16-next: Likewise.
20232         * modules/unistr/u16-prev: Likewise.
20233         * modules/unistr/u16-set: Likewise.
20234         * modules/unistr/u16-startswith: Likewise.
20235         * modules/unistr/u16-stpcpy: Likewise.
20236         * modules/unistr/u16-stpncpy: Likewise.
20237         * modules/unistr/u16-strcat: Likewise.
20238         * modules/unistr/u16-strchr: Likewise.
20239         * modules/unistr/u16-strcmp: Likewise.
20240         * modules/unistr/u16-strcoll: Likewise.
20241         * modules/unistr/u16-strcpy: Likewise.
20242         * modules/unistr/u16-strcspn: Likewise.
20243         * modules/unistr/u16-strdup: Likewise.
20244         * modules/unistr/u16-strlen: Likewise.
20245         * modules/unistr/u16-strmblen: Likewise.
20246         * modules/unistr/u16-strmbtouc: Likewise.
20247         * modules/unistr/u16-strncat: Likewise.
20248         * modules/unistr/u16-strncmp: Likewise.
20249         * modules/unistr/u16-strncpy: Likewise.
20250         * modules/unistr/u16-strnlen: Likewise.
20251         * modules/unistr/u16-strpbrk: Likewise.
20252         * modules/unistr/u16-strrchr: Likewise.
20253         * modules/unistr/u16-strspn: Likewise.
20254         * modules/unistr/u16-strstr: Likewise.
20255         * modules/unistr/u16-strtok: Likewise.
20256         * modules/unistr/u16-to-u32: Likewise.
20257         * modules/unistr/u16-to-u8: Likewise.
20258         * modules/unistr/u16-uctomb: Likewise.
20259         * modules/unistr/u32-check: Likewise.
20260         * modules/unistr/u32-chr: Likewise.
20261         * modules/unistr/u32-cmp: Likewise.
20262         * modules/unistr/u32-cmp2: Likewise.
20263         * modules/unistr/u32-cpy: Likewise.
20264         * modules/unistr/u32-cpy-alloc: Likewise.
20265         * modules/unistr/u32-endswith: Likewise.
20266         * modules/unistr/u32-mblen: Likewise.
20267         * modules/unistr/u32-mbsnlen: Likewise.
20268         * modules/unistr/u32-mbtouc: Likewise.
20269         * modules/unistr/u32-mbtouc-unsafe: Likewise.
20270         * modules/unistr/u32-mbtoucr: Likewise.
20271         * modules/unistr/u32-move: Likewise.
20272         * modules/unistr/u32-next: Likewise.
20273         * modules/unistr/u32-prev: Likewise.
20274         * modules/unistr/u32-set: Likewise.
20275         * modules/unistr/u32-startswith: Likewise.
20276         * modules/unistr/u32-stpcpy: Likewise.
20277         * modules/unistr/u32-stpncpy: Likewise.
20278         * modules/unistr/u32-strcat: Likewise.
20279         * modules/unistr/u32-strchr: Likewise.
20280         * modules/unistr/u32-strcmp: Likewise.
20281         * modules/unistr/u32-strcoll: Likewise.
20282         * modules/unistr/u32-strcpy: Likewise.
20283         * modules/unistr/u32-strcspn: Likewise.
20284         * modules/unistr/u32-strdup: Likewise.
20285         * modules/unistr/u32-strlen: Likewise.
20286         * modules/unistr/u32-strmblen: Likewise.
20287         * modules/unistr/u32-strmbtouc: Likewise.
20288         * modules/unistr/u32-strncat: Likewise.
20289         * modules/unistr/u32-strncmp: Likewise.
20290         * modules/unistr/u32-strncpy: Likewise.
20291         * modules/unistr/u32-strnlen: Likewise.
20292         * modules/unistr/u32-strpbrk: Likewise.
20293         * modules/unistr/u32-strrchr: Likewise.
20294         * modules/unistr/u32-strspn: Likewise.
20295         * modules/unistr/u32-strstr: Likewise.
20296         * modules/unistr/u32-strtok: Likewise.
20297         * modules/unistr/u32-to-u16: Likewise.
20298         * modules/unistr/u32-to-u8: Likewise.
20299         * modules/unistr/u32-uctomb: Likewise.
20300         * modules/uniwbrk/u8-wordbreaks: Likewise.
20301         * modules/uniwbrk/u16-wordbreaks: Likewise.
20302         * modules/uniwbrk/u32-wordbreaks: Likewise.
20303         * modules/uniwbrk/ulc-wordbreaks: Likewise.
20304         * modules/uniwbrk/wordbreak-property: Likewise.
20305         * modules/uniwidth/u8-strwidth: Likewise.
20306         * modules/uniwidth/u8-width: Likewise.
20307         * modules/uniwidth/u16-strwidth: Likewise.
20308         * modules/uniwidth/u16-width: Likewise.
20309         * modules/uniwidth/u32-strwidth: Likewise.
20310         * modules/uniwidth/u32-width: Likewise.
20311         * modules/uniwidth/width: Likewise.
20312         * modules/unicase/cased-tests (Makefile.am): Link all test programs
20313         with $(LIBUNISTRING).
20314         * modules/unicase/ignorable-tests: Likewise.
20315         * modules/unicase/locale-language-tests: Likewise.
20316         * modules/unicase/tolower-tests: Likewise.
20317         * modules/unicase/totitle-tests: Likewise.
20318         * modules/unicase/toupper-tests: Likewise.
20319         * modules/unicase/u8-casecmp-tests: Likewise.
20320         * modules/unicase/u8-casecoll-tests: Likewise.
20321         * modules/unicase/u8-casefold-tests: Likewise.
20322         * modules/unicase/u8-is-cased-tests: Likewise.
20323         * modules/unicase/u8-is-casefolded-tests: Likewise.
20324         * modules/unicase/u8-is-lowercase-tests: Likewise.
20325         * modules/unicase/u8-is-titlecase-tests: Likewise.
20326         * modules/unicase/u8-is-uppercase-tests: Likewise.
20327         * modules/unicase/u8-tolower-tests: Likewise.
20328         * modules/unicase/u8-totitle-tests: Likewise.
20329         * modules/unicase/u8-toupper-tests: Likewise.
20330         * modules/unicase/u16-casecmp-tests: Likewise.
20331         * modules/unicase/u16-casecoll-tests: Likewise.
20332         * modules/unicase/u16-casefold-tests: Likewise.
20333         * modules/unicase/u16-is-cased-tests: Likewise.
20334         * modules/unicase/u16-is-casefolded-tests: Likewise.
20335         * modules/unicase/u16-is-lowercase-tests: Likewise.
20336         * modules/unicase/u16-is-titlecase-tests: Likewise.
20337         * modules/unicase/u16-is-uppercase-tests: Likewise.
20338         * modules/unicase/u16-tolower-tests: Likewise.
20339         * modules/unicase/u16-totitle-tests: Likewise.
20340         * modules/unicase/u16-toupper-tests: Likewise.
20341         * modules/unicase/u32-casecmp-tests: Likewise.
20342         * modules/unicase/u32-casecoll-tests: Likewise.
20343         * modules/unicase/u32-casefold-tests: Likewise.
20344         * modules/unicase/u32-is-cased-tests: Likewise.
20345         * modules/unicase/u32-is-casefolded-tests: Likewise.
20346         * modules/unicase/u32-is-lowercase-tests: Likewise.
20347         * modules/unicase/u32-is-titlecase-tests: Likewise.
20348         * modules/unicase/u32-is-uppercase-tests: Likewise.
20349         * modules/unicase/u32-tolower-tests: Likewise.
20350         * modules/unicase/u32-totitle-tests: Likewise.
20351         * modules/unicase/u32-toupper-tests: Likewise.
20352         * modules/unicase/ulc-casecmp-tests: Likewise.
20353         * modules/unicase/ulc-casecoll-tests: Likewise.
20354         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
20355         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
20356         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
20357         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
20358         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
20359         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
20360         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
20361         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
20362         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
20363         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
20364         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
20365         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
20366         * modules/unictype/bidicategory-byname-tests: Likewise.
20367         * modules/unictype/bidicategory-name-tests: Likewise.
20368         * modules/unictype/bidicategory-of-tests: Likewise.
20369         * modules/unictype/bidicategory-test-tests: Likewise.
20370         * modules/unictype/block-list-tests: Likewise.
20371         * modules/unictype/block-of-tests: Likewise.
20372         * modules/unictype/block-test-tests: Likewise.
20373         * modules/unictype/category-C-tests: Likewise.
20374         * modules/unictype/category-Cc-tests: Likewise.
20375         * modules/unictype/category-Cf-tests: Likewise.
20376         * modules/unictype/category-Cn-tests: Likewise.
20377         * modules/unictype/category-Co-tests: Likewise.
20378         * modules/unictype/category-Cs-tests: Likewise.
20379         * modules/unictype/category-L-tests: Likewise.
20380         * modules/unictype/category-Ll-tests: Likewise.
20381         * modules/unictype/category-Lm-tests: Likewise.
20382         * modules/unictype/category-Lo-tests: Likewise.
20383         * modules/unictype/category-Lt-tests: Likewise.
20384         * modules/unictype/category-Lu-tests: Likewise.
20385         * modules/unictype/category-M-tests: Likewise.
20386         * modules/unictype/category-Mc-tests: Likewise.
20387         * modules/unictype/category-Me-tests: Likewise.
20388         * modules/unictype/category-Mn-tests: Likewise.
20389         * modules/unictype/category-N-tests: Likewise.
20390         * modules/unictype/category-Nd-tests: Likewise.
20391         * modules/unictype/category-Nl-tests: Likewise.
20392         * modules/unictype/category-No-tests: Likewise.
20393         * modules/unictype/category-P-tests: Likewise.
20394         * modules/unictype/category-Pc-tests: Likewise.
20395         * modules/unictype/category-Pd-tests: Likewise.
20396         * modules/unictype/category-Pe-tests: Likewise.
20397         * modules/unictype/category-Pf-tests: Likewise.
20398         * modules/unictype/category-Pi-tests: Likewise.
20399         * modules/unictype/category-Po-tests: Likewise.
20400         * modules/unictype/category-Ps-tests: Likewise.
20401         * modules/unictype/category-S-tests: Likewise.
20402         * modules/unictype/category-Sc-tests: Likewise.
20403         * modules/unictype/category-Sk-tests: Likewise.
20404         * modules/unictype/category-Sm-tests: Likewise.
20405         * modules/unictype/category-So-tests: Likewise.
20406         * modules/unictype/category-Z-tests: Likewise.
20407         * modules/unictype/category-Zl-tests: Likewise.
20408         * modules/unictype/category-Zp-tests: Likewise.
20409         * modules/unictype/category-Zs-tests: Likewise.
20410         * modules/unictype/category-and-not-tests: Likewise.
20411         * modules/unictype/category-and-tests: Likewise.
20412         * modules/unictype/category-byname-tests: Likewise.
20413         * modules/unictype/category-name-tests: Likewise.
20414         * modules/unictype/category-none-tests: Likewise.
20415         * modules/unictype/category-of-tests: Likewise.
20416         * modules/unictype/category-or-tests: Likewise.
20417         * modules/unictype/category-test-withtable-tests: Likewise.
20418         * modules/unictype/combining-class-tests: Likewise.
20419         * modules/unictype/ctype-alnum-tests: Likewise.
20420         * modules/unictype/ctype-alpha-tests: Likewise.
20421         * modules/unictype/ctype-blank-tests: Likewise.
20422         * modules/unictype/ctype-cntrl-tests: Likewise.
20423         * modules/unictype/ctype-digit-tests: Likewise.
20424         * modules/unictype/ctype-graph-tests: Likewise.
20425         * modules/unictype/ctype-lower-tests: Likewise.
20426         * modules/unictype/ctype-print-tests: Likewise.
20427         * modules/unictype/ctype-punct-tests: Likewise.
20428         * modules/unictype/ctype-space-tests: Likewise.
20429         * modules/unictype/ctype-upper-tests: Likewise.
20430         * modules/unictype/ctype-xdigit-tests: Likewise.
20431         * modules/unictype/decimal-digit-tests: Likewise.
20432         * modules/unictype/digit-tests: Likewise.
20433         * modules/unictype/mirror-tests: Likewise.
20434         * modules/unictype/numeric-tests: Likewise.
20435         * modules/unictype/property-alphabetic-tests: Likewise.
20436         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
20437         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
20438         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
20439         * modules/unictype/property-bidi-block-separator-tests: Likewise.
20440         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
20441         * modules/unictype/property-bidi-common-separator-tests: Likewise.
20442         * modules/unictype/property-bidi-control-tests: Likewise.
20443         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
20444         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
20445         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
20446         * modules/unictype/property-bidi-european-digit-tests: Likewise.
20447         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
20448         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
20449         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
20450         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
20451         * modules/unictype/property-bidi-pdf-tests: Likewise.
20452         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
20453         * modules/unictype/property-bidi-whitespace-tests: Likewise.
20454         * modules/unictype/property-byname-tests: Likewise.
20455         * modules/unictype/property-combining-tests: Likewise.
20456         * modules/unictype/property-composite-tests: Likewise.
20457         * modules/unictype/property-currency-symbol-tests: Likewise.
20458         * modules/unictype/property-dash-tests: Likewise.
20459         * modules/unictype/property-decimal-digit-tests: Likewise.
20460         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
20461         * modules/unictype/property-deprecated-tests: Likewise.
20462         * modules/unictype/property-diacritic-tests: Likewise.
20463         * modules/unictype/property-extender-tests: Likewise.
20464         * modules/unictype/property-format-control-tests: Likewise.
20465         * modules/unictype/property-grapheme-base-tests: Likewise.
20466         * modules/unictype/property-grapheme-extend-tests: Likewise.
20467         * modules/unictype/property-grapheme-link-tests: Likewise.
20468         * modules/unictype/property-hex-digit-tests: Likewise.
20469         * modules/unictype/property-hyphen-tests: Likewise.
20470         * modules/unictype/property-id-continue-tests: Likewise.
20471         * modules/unictype/property-id-start-tests: Likewise.
20472         * modules/unictype/property-ideographic-tests: Likewise.
20473         * modules/unictype/property-ids-binary-operator-tests: Likewise.
20474         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
20475         * modules/unictype/property-ignorable-control-tests: Likewise.
20476         * modules/unictype/property-iso-control-tests: Likewise.
20477         * modules/unictype/property-join-control-tests: Likewise.
20478         * modules/unictype/property-left-of-pair-tests: Likewise.
20479         * modules/unictype/property-line-separator-tests: Likewise.
20480         * modules/unictype/property-logical-order-exception-tests: Likewise.
20481         * modules/unictype/property-lowercase-tests: Likewise.
20482         * modules/unictype/property-math-tests: Likewise.
20483         * modules/unictype/property-non-break-tests: Likewise.
20484         * modules/unictype/property-not-a-character-tests: Likewise.
20485         * modules/unictype/property-numeric-tests: Likewise.
20486         * modules/unictype/property-other-alphabetic-tests: Likewise.
20487         * modules/unictype/property-other-default-ignorable-code-point-tests:
20488         Likewise.
20489         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
20490         * modules/unictype/property-other-id-continue-tests: Likewise.
20491         * modules/unictype/property-other-id-start-tests: Likewise.
20492         * modules/unictype/property-other-lowercase-tests: Likewise.
20493         * modules/unictype/property-other-math-tests: Likewise.
20494         * modules/unictype/property-other-uppercase-tests: Likewise.
20495         * modules/unictype/property-paired-punctuation-tests: Likewise.
20496         * modules/unictype/property-paragraph-separator-tests: Likewise.
20497         * modules/unictype/property-pattern-syntax-tests: Likewise.
20498         * modules/unictype/property-pattern-white-space-tests: Likewise.
20499         * modules/unictype/property-private-use-tests: Likewise.
20500         * modules/unictype/property-punctuation-tests: Likewise.
20501         * modules/unictype/property-quotation-mark-tests: Likewise.
20502         * modules/unictype/property-radical-tests: Likewise.
20503         * modules/unictype/property-sentence-terminal-tests: Likewise.
20504         * modules/unictype/property-soft-dotted-tests: Likewise.
20505         * modules/unictype/property-space-tests: Likewise.
20506         * modules/unictype/property-terminal-punctuation-tests: Likewise.
20507         * modules/unictype/property-test-tests: Likewise.
20508         * modules/unictype/property-titlecase-tests: Likewise.
20509         * modules/unictype/property-unassigned-code-value-tests: Likewise.
20510         * modules/unictype/property-unified-ideograph-tests: Likewise.
20511         * modules/unictype/property-uppercase-tests: Likewise.
20512         * modules/unictype/property-variation-selector-tests: Likewise.
20513         * modules/unictype/property-white-space-tests: Likewise.
20514         * modules/unictype/property-xid-continue-tests: Likewise.
20515         * modules/unictype/property-xid-start-tests: Likewise.
20516         * modules/unictype/property-zero-width-tests: Likewise.
20517         * modules/unictype/scripts-tests: Likewise.
20518         * modules/unictype/syntax-c-ident-tests: Likewise.
20519         * modules/unictype/syntax-c-whitespace-tests: Likewise.
20520         * modules/unictype/syntax-java-ident-tests: Likewise.
20521         * modules/unictype/syntax-java-whitespace-tests: Likewise.
20522         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
20523         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
20524         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
20525         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
20526         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
20527         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
20528         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
20529         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
20530         * modules/uniname/uniname-tests: Likewise.
20531         * modules/uninorm/canonical-decomposition-tests: Likewise.
20532         * modules/uninorm/compat-decomposition-tests: Likewise.
20533         * modules/uninorm/composition-tests: Likewise.
20534         * modules/uninorm/decomposing-form-tests: Likewise.
20535         * modules/uninorm/decomposition-tests: Likewise.
20536         * modules/uninorm/filter-tests: Likewise.
20537         * modules/uninorm/nfc-tests: Likewise.
20538         * modules/uninorm/nfd-tests: Likewise.
20539         * modules/uninorm/nfkc-tests: Likewise.
20540         * modules/uninorm/nfkd-tests: Likewise.
20541         * modules/uninorm/u8-normcmp-tests: Likewise.
20542         * modules/uninorm/u8-normcoll-tests: Likewise.
20543         * modules/uninorm/u16-normcmp-tests: Likewise.
20544         * modules/uninorm/u16-normcoll-tests: Likewise.
20545         * modules/uninorm/u32-normcmp-tests: Likewise.
20546         * modules/uninorm/u32-normcoll-tests: Likewise.
20547         * modules/unistdio/u8-asnprintf-tests: Likewise.
20548         * modules/unistdio/u8-vasnprintf-tests: Likewise.
20549         * modules/unistdio/u8-vasprintf-tests: Likewise.
20550         * modules/unistdio/u8-vsnprintf-tests: Likewise.
20551         * modules/unistdio/u8-vsprintf-tests: Likewise.
20552         * modules/unistdio/u16-asnprintf-tests: Likewise.
20553         * modules/unistdio/u16-vasnprintf-tests: Likewise.
20554         * modules/unistdio/u16-vasprintf-tests: Likewise.
20555         * modules/unistdio/u16-vsnprintf-tests: Likewise.
20556         * modules/unistdio/u16-vsprintf-tests: Likewise.
20557         * modules/unistdio/u32-asnprintf-tests: Likewise.
20558         * modules/unistdio/u32-vasnprintf-tests: Likewise.
20559         * modules/unistdio/u32-vasprintf-tests: Likewise.
20560         * modules/unistdio/u32-vsnprintf-tests: Likewise.
20561         * modules/unistdio/u32-vsprintf-tests: Likewise.
20562         * modules/unistdio/ulc-asnprintf-tests: Likewise.
20563         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
20564         * modules/unistdio/ulc-vasprintf-tests: Likewise.
20565         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
20566         * modules/unistdio/ulc-vsprintf-tests: Likewise.
20567         * modules/unistr/u8-check-tests: Likewise.
20568         * modules/unistr/u8-chr-tests: Likewise.
20569         * modules/unistr/u8-cmp-tests: Likewise.
20570         * modules/unistr/u8-cmp2-tests: Likewise.
20571         * modules/unistr/u8-cpy-alloc-tests: Likewise.
20572         * modules/unistr/u8-cpy-tests: Likewise.
20573         * modules/unistr/u8-mblen-tests: Likewise.
20574         * modules/unistr/u8-mbsnlen-tests: Likewise.
20575         * modules/unistr/u8-mbtouc-tests: Likewise.
20576         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
20577         * modules/unistr/u8-mbtoucr-tests: Likewise.
20578         * modules/unistr/u8-move-tests: Likewise.
20579         * modules/unistr/u8-next-tests: Likewise.
20580         * modules/unistr/u8-prev-tests: Likewise.
20581         * modules/unistr/u8-set-tests: Likewise.
20582         * modules/unistr/u8-stpcpy-tests: Likewise.
20583         * modules/unistr/u8-stpncpy-tests: Likewise.
20584         * modules/unistr/u8-strcat-tests: Likewise.
20585         * modules/unistr/u8-strcmp-tests: Likewise.
20586         * modules/unistr/u8-strcoll-tests: Likewise.
20587         * modules/unistr/u8-strcpy-tests: Likewise.
20588         * modules/unistr/u8-strdup-tests: Likewise.
20589         * modules/unistr/u8-strlen-tests: Likewise.
20590         * modules/unistr/u8-strmblen-tests: Likewise.
20591         * modules/unistr/u8-strmbtouc-tests: Likewise.
20592         * modules/unistr/u8-strncat-tests: Likewise.
20593         * modules/unistr/u8-strncmp-tests: Likewise.
20594         * modules/unistr/u8-strncpy-tests: Likewise.
20595         * modules/unistr/u8-strnlen-tests: Likewise.
20596         * modules/unistr/u8-to-u16-tests: Likewise.
20597         * modules/unistr/u8-to-u32-tests: Likewise.
20598         * modules/unistr/u8-uctomb-tests: Likewise.
20599         * modules/unistr/u16-check-tests: Likewise.
20600         * modules/unistr/u16-chr-tests: Likewise.
20601         * modules/unistr/u16-cmp-tests: Likewise.
20602         * modules/unistr/u16-cmp2-tests: Likewise.
20603         * modules/unistr/u16-cpy-alloc-tests: Likewise.
20604         * modules/unistr/u16-cpy-tests: Likewise.
20605         * modules/unistr/u16-mblen-tests: Likewise.
20606         * modules/unistr/u16-mbsnlen-tests: Likewise.
20607         * modules/unistr/u16-mbtouc-tests: Likewise.
20608         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
20609         * modules/unistr/u16-mbtoucr-tests: Likewise.
20610         * modules/unistr/u16-move-tests: Likewise.
20611         * modules/unistr/u16-next-tests: Likewise.
20612         * modules/unistr/u16-prev-tests: Likewise.
20613         * modules/unistr/u16-set-tests: Likewise.
20614         * modules/unistr/u16-stpcpy-tests: Likewise.
20615         * modules/unistr/u16-stpncpy-tests: Likewise.
20616         * modules/unistr/u16-strcat-tests: Likewise.
20617         * modules/unistr/u16-strcmp-tests: Likewise.
20618         * modules/unistr/u16-strcoll-tests: Likewise.
20619         * modules/unistr/u16-strcpy-tests: Likewise.
20620         * modules/unistr/u16-strdup-tests: Likewise.
20621         * modules/unistr/u16-strlen-tests: Likewise.
20622         * modules/unistr/u16-strmblen-tests: Likewise.
20623         * modules/unistr/u16-strmbtouc-tests: Likewise.
20624         * modules/unistr/u16-strncat-tests: Likewise.
20625         * modules/unistr/u16-strncmp-tests: Likewise.
20626         * modules/unistr/u16-strncpy-tests: Likewise.
20627         * modules/unistr/u16-strnlen-tests: Likewise.
20628         * modules/unistr/u16-to-u32-tests: Likewise.
20629         * modules/unistr/u16-to-u8-tests: Likewise.
20630         * modules/unistr/u16-uctomb-tests: Likewise.
20631         * modules/unistr/u32-check-tests: Likewise.
20632         * modules/unistr/u32-chr-tests: Likewise.
20633         * modules/unistr/u32-cmp-tests: Likewise.
20634         * modules/unistr/u32-cmp2-tests: Likewise.
20635         * modules/unistr/u32-cpy-alloc-tests: Likewise.
20636         * modules/unistr/u32-cpy-tests: Likewise.
20637         * modules/unistr/u32-mblen-tests: Likewise.
20638         * modules/unistr/u32-mbsnlen-tests: Likewise.
20639         * modules/unistr/u32-mbtouc-tests: Likewise.
20640         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
20641         * modules/unistr/u32-mbtoucr-tests: Likewise.
20642         * modules/unistr/u32-move-tests: Likewise.
20643         * modules/unistr/u32-next-tests: Likewise.
20644         * modules/unistr/u32-prev-tests: Likewise.
20645         * modules/unistr/u32-set-tests: Likewise.
20646         * modules/unistr/u32-stpcpy-tests: Likewise.
20647         * modules/unistr/u32-stpncpy-tests: Likewise.
20648         * modules/unistr/u32-strcat-tests: Likewise.
20649         * modules/unistr/u32-strcmp-tests: Likewise.
20650         * modules/unistr/u32-strcoll-tests: Likewise.
20651         * modules/unistr/u32-strcpy-tests: Likewise.
20652         * modules/unistr/u32-strdup-tests: Likewise.
20653         * modules/unistr/u32-strlen-tests: Likewise.
20654         * modules/unistr/u32-strmblen-tests: Likewise.
20655         * modules/unistr/u32-strmbtouc-tests: Likewise.
20656         * modules/unistr/u32-strncat-tests: Likewise.
20657         * modules/unistr/u32-strncmp-tests: Likewise.
20658         * modules/unistr/u32-strncpy-tests: Likewise.
20659         * modules/unistr/u32-strnlen-tests: Likewise.
20660         * modules/unistr/u32-to-u16-tests: Likewise.
20661         * modules/unistr/u32-to-u8-tests: Likewise.
20662         * modules/unistr/u32-uctomb-tests: Likewise.
20663         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
20664         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
20665         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
20666         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
20667         * modules/uniwidth/u8-strwidth-tests: Likewise.
20668         * modules/uniwidth/u8-width-tests: Likewise.
20669         * modules/uniwidth/u16-strwidth-tests: Likewise.
20670         * modules/uniwidth/u16-width-tests: Likewise.
20671         * modules/uniwidth/u32-strwidth-tests: Likewise.
20672         * modules/uniwidth/u32-width-tests: Likewise.
20673         * modules/uniwidth/width-tests: Likewise.
20674
20675 2010-05-18  Richard Jones  <rjones@redhat.com>
20676
20677         doc: users.txt: list hivex
20678         * users.txt: Add hivex.
20679
20680 2010-05-18  Richard Jones  <rjones@redhat.com>
20681
20682         doc: users.txt: list febootstrap
20683         * users.txt: Add febootstrap.
20684
20685 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
20686
20687         bootstrap: fix an error when gnulib is not used as a git submodule
20688         * build-aux/bootstrap (gnulib_path): If its length is zero then
20689         assign "gnulib" to it.
20690         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
20691
20692 2010-05-16  Bruno Haible  <bruno@clisp.org>
20693
20694         Avoid autoconf warnings about AM_ICONV.
20695         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
20696         2.64.
20697
20698 2010-05-16  Bruno Haible  <bruno@clisp.org>
20699
20700         absolute-header: Make the macro usable in more situations.
20701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
20702         from gl_ABSOLUTE_HEADER.
20703         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
20704
20705 2010-05-16  James Youngman  <jay@gnu.org>
20706
20707         doc: update users.txt
20708         * users.txt: Add CSSC.
20709
20710 2010-05-16  Jim Meyering  <meyering@redhat.com>
20711
20712         init.sh: fix an error in the previous change; add more comments
20713         * tests/init.sh: Compare exit code in loop against 9, not 2.
20714         Patch by Bruno Haible.
20715         Make the two tests more similar by adding an empty "then" clause.
20716         Add comments.
20717
20718         init.sh: avoid unnecessary shell re-exec
20719         * tests/init.sh: Improve the re-exec-required check to first test the
20720         current shell.  If it passes the test, do not search for a shell that
20721         does pass, and do not re-exec.  This test is particularly contorted to
20722         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
20723         of $(...) evokes a syntax error and causes immediate shell exit with
20724         status 2.  Bruno Haible reported that the re-exec made it impossible
20725         to single-step through any init.sh-using script.
20726
20727 2010-05-16  Bruno Haible  <bruno@clisp.org>
20728
20729         Fix collision between gnulib's and libintl's printf replacements.
20730         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
20731         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
20732         (printf): When using GNU C, map the __printf__ function to rpl_printf
20733         via __asm__. When not using GNU C, define rpl_printf instead of
20734         __printf__.
20735         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
20736         commit.
20737         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
20738         commit.
20739         * m4/asm-underscore.m4: New file.
20740         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
20741         * modules/stdio (Files): Add m4/asm-underscore.m4.
20742         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
20743         Reported by Ben Pfaff.
20744
20745 2010-05-16  Bruno Haible  <bruno@clisp.org>
20746
20747         verify: Avoid skipping the test on openSUSE 11.0.
20748         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
20749
20750 2010-05-13  Bruno Haible  <bruno@clisp.org>
20751
20752         Avoid useless warnings from G++.
20753         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
20754         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
20755         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20756
20757 2010-05-11  Jim Meyering  <meyering@redhat.com>
20758
20759         maint.mk: tweak preceding change
20760         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
20761         regexps tighter by anchoring at EOL, and make the new group "shy"
20762         for slightly decreased overhead.
20763
20764 2010-05-11  Eric Blake  <eblake@redhat.com>
20765
20766         maint.mk: gnulib doesn't guarantee NSIG
20767         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
20768
20769 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
20770
20771         test-pwrite.c: Remove unused variable declaration.
20772         * tests/test-pwrite.c (main): Remove read_buf declaration.
20773
20774         Remove useless test-pwrite.sh file.
20775         * tests/test-pwrite.sh: Delete file.
20776         * modules/pwrite-tests: Remove references.
20777         Reported by Bruno Haible.
20778
20779 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
20780
20781         init.sh: fix a typo
20782         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
20783
20784 2010-05-10  Jim Meyering  <meyering@redhat.com>
20785
20786         maint.mk: avoid using a temporary file in the always-defined-macros check
20787         * top/maint.mk (.re-defmac): Remove rule.
20788         (gl_trap_): Remove definition.
20789         (sc_prohibit_always-defined_macros): Rewrite not to create and
20790         depend on a temporary file.  Instead, depend on GNU grep's ability
20791         to read a list of regular expressions from stdin when given "-f -".
20792
20793 2010-05-09  Bruno Haible  <bruno@clisp.org>
20794
20795         Update to GNU gettext 0.18, part 1.
20796         * m4/gettext.m4: Update to GNU gettext 0.18.
20797         * m4/intl.m4: Likewise.
20798         * m4/po.m4: Likewise.
20799         * modules/gettext (Files): Add m4/fcntl-o.m4.
20800         (configure.ac): Require gettext infrastructure from version 0.18.
20801
20802 2010-05-09  Jim Meyering  <meyering@redhat.com>
20803
20804         init.sh: enable MALLOC_PERTURB_
20805         * tests/init.sh: Enable glibc's malloc-perturbing option.
20806
20807         maint.mk: improve sc_cross_check_PATH_usage_in_tests
20808         With my recent change in init.sh from the two-line form:
20809             -#   : ${srcdir=.}
20810             -#   . "$srcdir/init.sh"; path_prepend_ .
20811             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
20812         I noticed that using the one-line form would cause this test
20813         to fail with a false-positive, or to stop working altogether,
20814         depending on whether help-version changed or all the tests did.
20815         * top/maint.mk (_hv_regex): Remove this definition.
20816         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
20817         (_hv_regex_strong): Use a stronger regex to check for conformance.
20818         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
20819         Give a separate diagnostic for lack of conforming use.
20820
20821         maint.mk: prohibit definition of symbols defined by gnulib
20822         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
20823         definition of symbols defined by gnulib.
20824
20825 2010-05-09  Bruno Haible  <bruno@clisp.org>
20826
20827         acl: Avoid test failure on Cygwin-hosted mingw.
20828         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
20829
20830 2010-05-09  Bruno Haible  <bruno@clisp.org>
20831
20832         error: Use system's fcntl function.
20833         * lib/error.c (fcntl): Undefine.
20834
20835 2010-05-09  Jim Meyering  <meyering@redhat.com>
20836
20837         verify: adjust formatting to be more consistent
20838         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
20839         argument-list '('s, and after one comma.
20840
20841 2010-05-09  Bruno Haible  <bruno@clisp.org>
20842
20843         error: More reliable output on mingw.
20844         * lib/error.c: Include <windows.h>.
20845         (is_open): New function.
20846         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
20847         defined.
20848
20849 2010-05-09  Bruno Haible  <bruno@clisp.org>
20850
20851         vasnprintf: Fix syntax errors in libintl build on mingw.
20852         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
20853         pad_ourselves and prec_ourselves after use.
20854
20855 2010-05-08  Bruno Haible  <bruno@clisp.org>
20856
20857         * lib/config.charset: Update comments for Cygwin 1.7.
20858         * lib/localcharset.c: Likewise.
20859
20860 2010-05-07  Jim Meyering  <meyering@redhat.com>
20861
20862         init.sh: improve comments
20863         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
20864         . "${srcdir=.}/init.sh"; path_prepend_ .
20865         Add a note about path_prepend_ and the alternative of using
20866         TESTS_ENVIRONMENT.
20867
20868 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
20869
20870         exclude: Unescape hashed patterns in wildcard mode.
20871         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
20872         to the hash list.
20873         * tests/test-exclude8.sh: New test case.
20874         * modules/exclude-tests: Add new test.
20875
20876 2010-05-05  Eric Blake  <eblake@redhat.com>
20877
20878         verify: automate tests
20879         * modules/verify-tests: New module.
20880         * tests/test-verify.sh: New file.
20881         * tests/test-verify.c: Guard each negative test with a unique id.
20882         Also avoid warning about unused left hand of comma expressions.
20883
20884 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20885
20886         Further improvements to verify.h, suggested by Eric Blake.
20887         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
20888         the GL_* versions, to avoid collision with OpenGL.
20889         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
20890         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
20891         than testing merely whether it's defined.
20892
20893         Modify verify.h to pacify gcc -Wredundant_decls.
20894         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
20895         These use the prefix "GL_" since they're likely to be useful elsewhere.
20896         We may need to break them out into a different .h file.
20897         (__COUNTER__): Define to 0 if the compiler doesn't support it.
20898         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
20899         of verify_function__.
20900
20901 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
20902
20903         Tests for module pwrite.
20904         * modules/pwrite-tests: New file.
20905         * tests/test-pwrite.sh: New file.
20906         * tests/test-pwrite.c: New file.
20907
20908         New module pwrite.
20909         * lib/unistd.in.h (pwrite): New declaration.
20910         * lib/pwrite.c: New file, from glibc with modifications.
20911         * m4/pwrite.m4: New file.
20912         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
20913         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
20914         REPLACE_PWRITE.
20915         * modules/pwrite: New file.
20916         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
20917         REPLACE_PWRITE.
20918         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
20919         * doc/posix-functions/pwrite.texi: Mention the new module.
20920
20921 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
20922
20923         pread: Update documentation.
20924         * doc/posix-functions/pread.texi: Mention the 'pread' module.
20925
20926 2010-05-04  Eric Blake  <eblake@redhat.com>
20927
20928         docs: update cygwin progress
20929         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
20930         this bug.
20931         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
20932         Added in cygwin 1.7.2.
20933         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
20934         Likewise.
20935         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
20936         Likewise.
20937         * doc/glibc-functions/dup3.texi (dup3): Likewise.
20938         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
20939         * doc/glibc-functions/accept4.texi (accept4): Likewise.
20940         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
20941         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
20942         Mention nproc module.
20943         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
20944         bug in cygwin 1.7.5 addition.
20945         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
20946         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
20947         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
20948         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
20949         1.7.5.
20950         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
20951         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
20952         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
20953         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
20954         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
20955         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
20956         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
20957         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
20958         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
20959         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
20960         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
20961         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
20962         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
20963         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
20964         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
20965         Likewise.
20966         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
20967         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
20968         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
20969         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
20970         Likewise.
20971         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
20972         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
20973         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
20974         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
20975         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
20976         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
20977         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
20978         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
20979         Likewise.
20980         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
20981         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
20982         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
20983         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
20984         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
20985         Likewise.
20986         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
20987         Likewise.
20988         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
20989         Likewise.
20990         * doc/glibc-functions/xdrrec_endofrecord.texi
20991         (xdrrec_endofrecord): Likewise.
20992         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
20993         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
20994         Likewise.
20995         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
20996         Likewise.
20997
20998 2010-05-04  Jim Meyering  <meyering@redhat.com>
20999
21000         gendocs.sh: make its "-s FILE" option more useful
21001         * build-aux/gendocs.sh: When honoring the -s FILE option, update
21002         $PACKAGE to reflect the probably-different basename of "FILE".
21003
21004 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
21005
21006         bootstrap: don't ignore download_po_files failure
21007         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
21008         failure.
21009
21010 2010-05-03  Jim Meyering  <meyering@redhat.com>
21011
21012         maint.mk: allow to pass options to gendocs.sh
21013         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
21014         (gendocs_options_): New overridable variable.
21015
21016         gnu-web-doc-update: don't ignore configure or build failure
21017         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
21018
21019         announce-gen: backslash-escape '@'s in --help output
21020         * build-aux/announce-gen: Fix syntax errors.
21021
21022         maint.mk, announce-gen: allow project-specific announcement mail headers
21023         * top/maint.mk (translation_project_): Define default.
21024         (announcement_Cc_, announcement_mail_headers_): Likewise.
21025         (announcement): Invoke announce-gen with new --mail-headers option.
21026         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
21027
21028         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
21029         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
21030         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
21031         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
21032         line in the "err2" output file when running "make check" in verbose
21033         mode (i.e., with set -x enabled).
21034
21035 2010-05-03  Bruno Haible  <bruno@clisp.org>
21036
21037         wctob: Fix for weird platforms.
21038         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
21039         argument value.
21040
21041 2010-05-03  Jim Meyering  <meyering@redhat.com>
21042
21043         maint.mk: prohibit unwarranted use of <strings.h>
21044         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
21045         strings.h in a file that does not also use strcasecmp, strncasecmp,
21046         ffs or ffsll.
21047
21048         maint.mk: remove obsolete comments
21049         * top/maint.mk: Remove stale, commented-out rules.
21050
21051 2010-05-02  Bruno Haible  <bruno@clisp.org>
21052
21053         wcwidth: Declare also when it's aliased.
21054         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
21055         macro.
21056
21057 2010-05-02  Bruno Haible  <bruno@clisp.org>
21058
21059         Fix regression from 2010-04-25.
21060         * gnulib-tool (func_modules_transitive_closure): Check the status of
21061         all modules, not only of the tests that are of the form foo-tests where
21062         foo is a module.
21063
21064 2010-05-02  Bruno Haible  <bruno@clisp.org>
21065
21066         wctob: Work around nasty Cygwin 1.7.2 bug.
21067         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
21068         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
21069
21070 2010-05-01  Bruno Haible  <bruno@clisp.org>
21071
21072         fpurge: Sharper test.
21073         * tests/test-fpurge.c (main): Add one more ftell check.
21074         * modules/fpurge-tests (Depends-on): Add ftell.
21075         Suggested by Eric Blake.
21076
21077 2010-05-01  Bruno Haible  <bruno@clisp.org>
21078
21079         ftello: Another test.
21080         * tests/test-ftello3.c: New file.
21081         * modules/ftello-tests (Files): Add it.
21082         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
21083         MOSTLYCLEANFILES.
21084
21085         ftell: Another test.
21086         * tests/test-ftell3.c: New file.
21087         * modules/ftell-tests (Files): Add it.
21088         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
21089         MOSTLYCLEANFILES.
21090
21091 2010-05-01  Bruno Haible  <bruno@clisp.org>
21092
21093         ftell, ftello: Work around Solaris bug.
21094         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
21095         * lib/ftello.c: Include stdio-impl.h.
21096         (ftello): On Solaris, when _IOWRT is set, compute the result without
21097         looking at _IOREAD.
21098         * modules/ftello (Files): Add lib/stdio-impl.h.
21099         * doc/posix-functions/ftell.texi: Mention Solaris bug.
21100         * doc/posix-functions/ftello.texi: Likewise.
21101         Reported by Eric Blake.
21102
21103 2010-05-01  Bruno Haible  <bruno@clisp.org>
21104
21105         freading: Adapt to special meaning of _IOREAD flag on Solaris.
21106         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
21107         the _IOWRT flag is also set.
21108
21109 2010-05-01  Bruno Haible  <bruno@clisp.org>
21110
21111         Fix doc about a HP-UX stdio bug.
21112         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
21113         * doc/posix-functions/ftello.texi: Likewise.
21114
21115 2010-05-01  Bruno Haible  <bruno@clisp.org>
21116
21117         lseek test: Fix failure on Solaris.
21118         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
21119         output.
21120
21121 2010-04-30  Jim Meyering  <meyering@redhat.com>
21122
21123         bootstrap: don't ignore failure to generate po*/Makevars
21124         * build-aux/bootstrap (with_gettext): Don't ignore failure
21125         to create po/Makevars or runtime-po/Makevars.
21126
21127 2010-04-29  Eric Blake  <eblake@redhat.com>
21128
21129         headers: relax license to LGPLv2+
21130         * modules/fcntl-h (License): Relax license.
21131         * modules/getopt-posix (License): Likewise.
21132         * modules/locale (License): Likewise.
21133         * modules/math (License): Likewise.
21134         * modules/pty (License): Likewise.
21135         * modules/sched (License): Likewise.
21136         * modules/search (License): Likewise.
21137         * modules/spawn (License): Likewise.
21138         * modules/stdarg (License): Likewise.
21139         * modules/sysexits (License): Likewise.
21140
21141 2010-04-29  Jim Meyering  <meyering@redhat.com>
21142
21143         inttypes: relax license to LGPLv2+
21144         * modules/inttypes (License): Relax license.
21145
21146 2010-04-29  Simon Josefsson  <simon@josefsson.org>
21147
21148         * top/maint.mk (indent): Run twice to produce idempotent results.
21149
21150 2010-04-28  Bruno Haible  <bruno@clisp.org>
21151
21152         getdate: Generate getdate.c in the source directory.
21153         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
21154         MOSTLYCLEANFILES.
21155         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
21156
21157 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
21158
21159         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
21160         is not declared as a const *; avoid warnings in that case.
21161
21162 2010-04-28  Eric Blake  <eblake@redhat.com>
21163
21164         canonicalize-lgpl: avoid compiler warning
21165         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
21166         declaration' / 'extraneous semicolon' warning with some compilers.
21167         Reported by Andreas Gruenbacher.
21168
21169 2010-04-28  Jim Meyering  <meyering@redhat.com>
21170
21171         init.sh: ensure a more reliable exit status when exiting via trap
21172         * tests/init.sh (setup_): Don't rely on $? in signal handler.
21173         Inspired by patches from Dmitry V. Levin.
21174         Also trap on signal 3 (SIGQUIT).
21175
21176 2010-04-27  Bruno Haible  <bruno@clisp.org>
21177
21178         Update doc about utimes().
21179         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
21180         'utimens' module.
21181         Reported by Andreas Gruenbacher <agruen@suse.de>.
21182
21183 2010-04-27  Eric Blake  <eblake@redhat.com>
21184
21185         full-read, full-write: relax license
21186         * modules/full-read (License): Drop to LGPLv2+.
21187         * modules/full-write (License): Likewise.
21188         * modules/safe-read (License): Likewise.
21189         * modules/safe-write (License): Likewise.
21190
21191         pthread: mention library for linking
21192         * modules/pthread (Link): Mention $(LIB_PTHREAD).
21193
21194 2010-04-27  Jim Meyering  <meyering@redhat.com>
21195
21196         maint.mk: fix a bug introduced in last change
21197         * top/maint.mk (gl_assured_headers_): Now that all names are on
21198         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
21199         is not anchored to end of word, it should be adequate.
21200
21201         maint.mk: avoid side-effect in latest syntax-check
21202         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
21203         to run commands via $(shell...), and hence to incur cost only when
21204         the new rule is actually run.
21205
21206         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
21207         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
21208         and use that to create a regexp used to detect all #if HAVE_..._H uses.
21209         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
21210         (gl_assured_headers_, az_, AZ_): Define.
21211         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
21212
21213 2010-04-26  Jim Meyering  <jim@meyering.net>
21214             Bruno Haible  <bruno@clisp.org>
21215
21216         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
21217         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
21218         Prompted by an exchange with Gilles Espinasse.
21219
21220 2010-04-26  Jim Meyering  <meyering@redhat.com>
21221
21222         git-version-gen: aesthetic tweak
21223         * build-aux/git-version-gen: Use "$nl" rather than a literal,
21224         so that the command remains on a single line.
21225
21226 2010-04-26  Eric Blake  <eblake@redhat.com>
21227
21228         git-version-gen: allow use on EBCDIC hosts
21229         * build-aux/git-version-gen (dirty): Use literal rather than tying
21230         ourselves to ascii.
21231         Reported by Steve Goetze.
21232
21233 2010-04-25  Bruno Haible  <bruno@clisp.org>
21234
21235         netdb: Add support for GNULIB_POSIXCHECK.
21236         * lib/netdb.in.h: Include warn-on-use.h.
21237         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
21238         functions are used when GNULIB_POSIXCHECK is defined and the
21239         getaddrinfo module is not in use.
21240         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
21241         freeaddrinfo, gai_strerror, getnameinfo are declared.
21242         * modules/netdb (Depends-on): Add warn-on-use.
21243         (Makefile.am): Include warn-on-use.h in netdb.h.
21244
21245 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
21246
21247         build: avoid "make check" failure without .git/ directory
21248         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
21249         there is no .git/ directory.
21250
21251 2010-04-25  Bruno Haible  <bruno@clisp.org>
21252
21253         ptsname: Fix misuse of ttyname_r.
21254         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
21255         of errno.
21256
21257 2010-04-25  Bruno Haible  <bruno@clisp.org>
21258
21259         ttyname_r: Make it work on Solaris 10.
21260         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
21261         if the system function has the POSIX declaration. Test whether the
21262         function fails if the buffer is less than 128 bytes large.
21263         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
21264         system's ttyname_r function. Provide a reasonably large buffer.
21265         * modules/ttyname_r (Depends-on): Add extensions.
21266         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
21267
21268 2010-04-25  Bruno Haible  <bruno@clisp.org>
21269
21270         Use the 'extensions' module for some more functions on Solaris.
21271         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
21272         module.
21273         * doc/posix-functions/ctime_r.texi: Likewise.
21274         * doc/posix-functions/getgrgid_r.texi: Likewise.
21275         * doc/posix-functions/getgrnam_r.texi: Likewise.
21276         * doc/posix-functions/getpwnam_r.texi: Likewise.
21277         * doc/posix-functions/getpwuid_r.texi: Likewise.
21278         * doc/posix-functions/readdir_r.texi: Likewise.
21279         * doc/posix-functions/sigwait.texi: Likewise.
21280         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
21281         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
21282
21283 2010-04-25  Bruno Haible  <bruno@clisp.org>
21284
21285         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
21286         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
21287         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
21288         * lib/ttyname_r.c: Include <limits.h>.
21289         (ttyname_r): Define using the system's ttyname_r function, if it exists
21290         and not on Solaris.
21291         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
21292         set.
21293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
21294         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
21295         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
21296         Reported by Simon Josefsson.
21297
21298 2010-04-25  Bruno Haible  <bruno@clisp.org>
21299
21300         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
21301         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
21302         * doc/posix-functions/ctime_r.texi: Likewise.
21303         * doc/posix-functions/getgrgid_r.texi: Likewise.
21304         * doc/posix-functions/getgrnam_r.texi: Likewise.
21305         * doc/posix-functions/getlogin_r.texi: Likewise.
21306         * doc/posix-functions/getpwnam_r.texi: Likewise.
21307         * doc/posix-functions/getpwuid_r.texi: Likewise.
21308         * doc/posix-functions/readdir_r.texi: Likewise.
21309         * doc/posix-functions/sigwait.texi: Likewise.
21310         * doc/posix-functions/ttyname_r.texi: Likewise.
21311         Reported by Simon Josefsson.
21312
21313 2010-04-25  Bruno Haible  <bruno@clisp.org>
21314
21315         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
21316         * gnulib-tool (func_usage): Document that --with-*-tests options apply
21317         also to --create-testdir.
21318         (func_acceptable): Don't consider the status of *-tests modules here.
21319         (func_modules_transitive_closure): Consider it here, before including a
21320         test module.
21321         (func_import, func_create_testdir): Set inc_all_direct_tests,
21322         inc_all_indirect_tests.
21323         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
21324         --create-testdir and --create-megatestdir.
21325
21326 2010-04-25  Bruno Haible  <bruno@clisp.org>
21327
21328         gnulib-tool: Add --without-*-tests options.
21329         * gnulib-tool (func_usage): Document the --without-*-tests options.
21330         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
21331         excl_unportable_tests): New variables.
21332         Fail if they are specified with --import or --update.
21333         (func_acceptable): Respect the excl_*_tests variables.
21334         (func_import): Set the excl_*_tests variables to empty.
21335
21336 2010-04-25  Simon Josefsson  <simon@josefsson.org>
21337             Bruno Haible  <bruno@clisp.org>
21338
21339         Work around a MacOS X 10.4 bug with openpty.
21340         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
21341         * tests/test-openpty.c (main): Close the master side explicitly.
21342
21343 2010-04-25  Bruno Haible  <bruno@clisp.org>
21344
21345         strnlen: Fix a C++ test error on MacOS X and Solaris.
21346         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
21347         the function is not declared.
21348         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
21349         Simon Josefsson.
21350
21351 2010-04-24  Bruno Haible  <bruno@clisp.org>
21352
21353         Avoid a gcc warning.
21354         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
21355         of correct type for %08lx directive.
21356         Reported by Eric Blake.
21357
21358 2010-04-24  Bruno Haible  <bruno@clisp.org>
21359
21360         vasnprintf: Correct errno value in case of out-of-memory.
21361         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
21362         or sprintf. Use the errno value from SNPRINTF or sprintf.
21363         Reported by Ian Beckwith <ianb@erislabs.net>.
21364
21365 2010-04-24  Bruno Haible  <bruno@clisp.org>
21366
21367         ansi-c++-opt: Find correct compiler when cross-compiling.
21368         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
21369         AC_CHECK_PROGS.
21370         Reported by Simon Josefsson.
21371
21372 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
21373
21374         vc-list-files: Add support for subversion
21375         * build-aux/vc-list-files: Use "svn list" to generate the list of
21376         files controlled by subversion.
21377
21378 2010-04-23  Jim Meyering  <meyering@redhat.com>
21379
21380         vc-list-files tests: convert to use init.sh
21381         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
21382         path_prepend_.
21383         Use Exit, not exit.
21384         Use skip_ rather than open coding it.
21385         Remove trap set-up and compare definitions.
21386         * tests/test-vc-list-files-git.sh: Likewise.
21387         * modules/vc-list-files-tests (Files): Add tests/init.sh.
21388
21389 2010-04-22  Simon Josefsson  <simon@josefsson.org>
21390
21391         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
21392         backup files.
21393
21394 2010-04-21  Simon Josefsson  <simon@josefsson.org>
21395
21396         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
21397
21398 2010-04-20  Eric Blake  <eblake@redhat.com>
21399
21400         tests: be robust to ignored SIGPIPE
21401         * tests/test-select-in.sh: Consume all output.
21402         * tests/test-lseek.sh: Check correct exit status, while avoiding
21403         EPIPE.
21404
21405 2010-04-20  Simon Josefsson  <simon@josefsson.org>
21406             Bruno Haible  <bruno@clisp.org>
21407
21408         visibility: Don't use -fvisibility if it leads to a warning.
21409         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
21410         yes, don't pretend that visibility works if it leads to a warning.
21411         Reported by Mike Gran <spk121@yahoo.com>.
21412
21413 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
21414
21415         * build-aux/bootstrap: Use "git -h" for testing for supported options
21416         instead of "git --help".  The short-form option only shows a summary,
21417         and doesn't layout the full man page.  Grep for the full option name
21418         in the summary, too.
21419
21420 2010-04-19  Bruno Haible  <bruno@clisp.org>
21421
21422         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
21423         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
21424         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
21425         mention of RELOCATABLE_STRIP.
21426         Reported by Sylvain Beucler <beuc@beuc.net>.
21427
21428 2010-04-19  Bruno Haible  <bruno@clisp.org>
21429
21430         * lib/diffseq.h: Fix typo in comment.
21431         Reported by Eric Blake.
21432
21433 2010-04-19  Bruno Haible  <bruno@clisp.org>
21434
21435         ioctl: Move autoconf macro to a .m4 file.
21436         * m4/ioctl.m4: New file, extracted from modules/ioctl.
21437         * modules/ioctl (Files): Add it.
21438         (configure.ac): Simply invoke gl_FUNC_IOCTL.
21439         Reported by Ian Beckwith <ianb@erislabs.net>.
21440
21441 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
21442             Bruno Haible  <bruno@clisp.org>
21443
21444         diffseq: Accommodate use-case with abstract arrays.
21445         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
21446         is not defined.
21447         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
21448         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
21449
21450 2010-04-18  Bruno Haible  <bruno@clisp.org>
21451
21452         * doc/posix-headers/stdbool.texi: More precise wording.
21453
21454 2010-04-17  Jim Meyering  <meyering@redhat.com>
21455
21456         maint.mk: use gnu-style indentation in an embedded perl script
21457         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
21458         Rename variable: s/two/last_two_bytes/
21459
21460 2010-04-16  Eric Blake  <eblake@redhat.com>
21461
21462         test-stdbool: skip test that fails with Solaris CC
21463         * tests/test-stdbool.c (f): Skip test that causes compilation
21464         error under buggy C++ compiler.
21465         * lib/stdbool.in.h: Document the limitation.
21466         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
21467
21468         setenv: allow compilation with C++
21469         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
21470         register keyword.
21471
21472         stdint: allow test to pass with C++
21473         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
21474
21475         getopt: allow compilation with C++
21476         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
21477         struct.
21478         * lib/getopt.c (_getopt_internal_r): Use correct type.
21479         Reported by Dagobert Michelson, via Joel E. Denny.
21480
21481 2010-04-16  Bruno Haible  <bruno@clisp.org>
21482
21483         Override netdb.h always.
21484         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
21485         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
21486         Reported by Ludovic Courtès <ludo@gnu.org>.
21487
21488 2010-04-15  Bruno Haible  <bruno@clisp.org>
21489
21490         openpty: Fix mistake from 2010-03-21.
21491         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
21492         Reported by Simon Josefsson.
21493
21494 2010-04-15  Eric Blake  <eblake@redhat.com>
21495
21496         test-forkpty: fix expected signature
21497         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
21498         Reported by Simon Josefsson.
21499
21500 2010-04-15  Jim Meyering  <meyering@redhat.com>
21501
21502         maint.mk: texinfo_suffix_re_: correct the default regexp
21503         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
21504
21505         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
21506         make it configurable via texinfo_suffix_re_.
21507
21508 2010-04-14  Eric Blake  <eblake@redhat.com>
21509
21510         strtok_r: relax license to LGPLv2+
21511         * modules/strtok_r (License): Relax license.
21512         Reported by Matthias Bolte.
21513
21514 2010-04-14  Simon Josefsson  <simon@josefsson.org>
21515
21516         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
21517         version 1.4.4 by default instead of requiring the libgcrypt
21518         version used during build.  This makes it possible to use the
21519         application with older but still binary compatible libgcrypt
21520         versions.
21521
21522 2010-04-13  Eric Blake  <eblake@redhat.com>
21523
21524         getopt-gnu: match recent glibc fixes and posix ruling
21525         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
21526         '+' handling, when requesting extensions.
21527         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
21528         'W;' handling.
21529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
21530         * doc/posix-functions/getopt.texi (getopt): Document this.
21531         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
21532         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21533         Likewise.
21534
21535         getopt: merge bug fixes from glibc
21536         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
21537         diagnostics.  Honor '+:' correctly.  Reject ';'.
21538
21539         getopt-posix: detect MacOS bug
21540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
21541         optind when missing a required argument.
21542         * doc/posix-functions/getopt.texi (getopt): Document the bug.
21543         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
21544         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21545         Likewise.
21546
21547         getopt-posix: avoid spurious failure on Solaris
21548         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
21549         an indicator that setting optind=1 is sufficient for reset.
21550
21551         getopt-posix: avoid spurious failure on FreeBSD
21552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
21553         in POSIX mode, since the m4 test uses it.
21554
21555         gnulib-tool: silence warning on BSD sh
21556         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
21557
21558 2010-04-13  Jim Meyering  <meyering@redhat.com>
21559
21560         doc: users.txt: GNU patch now uses gnulib
21561         * users.txt: Add patch.
21562
21563 2010-04-12  Jim Meyering  <meyering@redhat.com>
21564
21565         maint.mk: generate more concise timing data for syntax-check rules
21566         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
21567         " done" from each line that reports a syntax-check test duration.
21568
21569 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
21570
21571         git-version-gen: use "git update-index..." rather than "git status"
21572         * build-aux/git-version-gen: Use git update-index --refresh, not
21573         "git status".  With some versions of git, "git status" would fail
21574         to update the index and result in an unwarranted "-dirty" suffix.
21575
21576 2010-04-11  Jim Meyering  <meyering@redhat.com>
21577
21578         openat: correct formatting (no semantic change)
21579         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
21580         Suggested by Bruno Haible.
21581
21582 2010-04-11  Bruno Haible  <bruno@clisp.org>
21583
21584         Stricter declaration checking in testdirs.
21585         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21586         If for_tests is true, augment AM_CPPFLAGS to define
21587         GNULIB_STRICT_CHECKING.
21588         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
21589         GNULIB_STRICT_CHECKING is defined, verify that the function is
21590         declared.
21591
21592 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
21593             Bruno Haible  <bruno@clisp.org>
21594
21595         libunistring: Improve configure output.
21596         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
21597         Don't say "consider installing GNU libunistring" when checking again
21598         with libiconv.
21599
21600 2010-04-11  Bruno Haible  <bruno@clisp.org>
21601
21602         libunistring: Correct value of $LTLIBUNISTRING.
21603         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
21604         correct the value of $LTLIBUNISTRING.
21605
21606 2010-04-11  Bruno Haible  <bruno@clisp.org>
21607
21608         havelib: Add static libraries to LIBS in the right order.
21609         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
21610         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
21611
21612 2010-04-11  Bruno Haible  <bruno@clisp.org>
21613
21614         libunistring: Detect libunistring also when it depends on libiconv.
21615         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
21616         the second AC_LIB_HAVE_LINKFLAGS invocation.
21617
21618 2010-04-11  James Youngman  <jay@gnu.org>
21619
21620         close-stream: declare local scalars to be "const"
21621         * lib/close-stream.c (close_stream): Make boolean variables const
21622         to document the fact that we set but do not change them.
21623
21624 2010-04-11  Bruno Haible  <bruno@clisp.org>
21625
21626         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
21627
21628 2010-04-11  Jim Meyering  <meyering@redhat.com>
21629
21630         maint.mk: don't include dist-check.mk
21631         * top/maint.mk: Remove bogus include directive.
21632
21633         maint.mk: improve empty-line-at-EOF check
21634         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
21635         solution, rather than tail+Perl-based one.  The latter would read
21636         a few kilobytes from the end of each file, and did not handle empty
21637         files properly.
21638
21639         maint.mk: print the elapsed time for each syntax-check rule
21640         * top/maint.mk (sc_m_rules_): Save start time in a file.
21641         (sc_z_rules_): New rules: remove temp file and print elapsed time.
21642         (local-check): Interpose the .z rules
21643
21644 2010-04-11  Jim Meyering  <meyering@redhat.com>
21645
21646         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
21647         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
21648         empty file with one that ends in an empty line.
21649
21650 2010-04-10  Bruno Haible  <bruno@clisp.org>
21651
21652         mkdir: Make it work on mingw64.
21653         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
21654         * lib/mkdir.c: Update comment.
21655         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
21656
21657 2010-04-10  Bruno Haible  <bruno@clisp.org>
21658
21659         Don't override improved macro from newer autoconf.
21660         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
21661         autoconf >= 2.62.
21662         Reported by Joel E. Denny <jdenny@clemson.edu>.
21663
21664 2010-04-10  Jim Meyering  <meyering@redhat.com>
21665
21666         maint.mk: new syntax-check rule: prohibit empty lines at end of file
21667         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
21668
21669         maint.mk: correct a diagnostic
21670         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
21671         in diagnostic; now use $prohibit.
21672
21673 2010-04-10  Bruno Haible  <address@hidden>
21674
21675         fchownat: Fix a C++ test error on Solaris 8.
21676         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
21677         the function does not exist.
21678
21679 2010-04-10  Bruno Haible  <bruno@clisp.org>
21680
21681         vasnprintf: Add more tests.
21682         * tests/test-vasnprintf-posix.c: Include <errno.h>.
21683         (test_function): Test converting an invalid wide string.
21684
21685         vasnprintf: Correct handling of unconvertible wide string arguments.
21686         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
21687         VASNPRINTF.
21688         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
21689         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
21690         smaller than the expected maximum need for the directive. Set errno to
21691         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
21692         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
21693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
21694         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
21695         * modules/vasnprintf (Files): Add m4/printf.m4.
21696         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21697
21698 2010-04-10  Bruno Haible  <bruno@clisp.org>
21699
21700         vasnprintf: Fix crash in %ls directive.
21701         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
21702         string is passed as argument to %ls, with no precision and no width.
21703         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21704
21705 2010-04-10  Bruno Haible  <bruno@clisp.org>
21706
21707         vasnprintf: Fix multiple test failures on mingw.
21708         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
21709         _snprintf, or snwprintf, not _snwprintf.
21710
21711 2010-04-10  Bruno Haible  <bruno@clisp.org>
21712
21713         write: Fix a C++ test error on mingw.
21714         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
21715
21716 2010-04-10  Bruno Haible  <bruno@clisp.org>
21717
21718         vasnprintf test: Reduce code duplication.
21719         * tests/test-vasnprintf.c (test_function): New function, extracted from
21720         test_vasnprintf.
21721         (test_vasnprintf, test_asnprintf): Invoke it.
21722
21723 2010-04-10  Bruno Haible  <bruno@clisp.org>
21724
21725         strnlen: Fix warning in C++ mode on MacOS X.
21726         * lib/string.in.h (strnlen): Use the modern idiom.
21727         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
21728         defining strnlen as a macro already in <config.h>.
21729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
21730         REPLACE_STRNLEN.
21731         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
21732         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21733
21734 2010-04-08  James Youngman  <jay@gnu.org>
21735
21736         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
21737         the example.
21738
21739 2010-04-09  Jim Meyering  <meyering@redhat.com>
21740
21741         maint.mk: print better diagnostic when there is no $(_hv_file)
21742         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
21743         announce that when $(_hv_file) (aka help-version) does not exist.
21744
21745         init.sh: run tr in the "C" locale to avoid multibyte interpretation
21746         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
21747         not try to interpret its random input bytes.  Jarno Rajahalme reported
21748         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
21749         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
21750         (mktempd_): Likewise, just in case.
21751
21752         ftruncate: add two years to projected module removal date: 2012
21753         * m4/ftruncate.m4: Adjust comments.
21754
21755         ftruncate: mark module as obsolete; even MinGW provides it, now
21756         * modules/ftruncate (Status): Obsolete.
21757         (Notice): Say that.
21758         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
21759         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
21760
21761 2010-04-08  Bruno Haible  <bruno@clisp.org>
21762
21763         Fix side effects from tests-related modules.
21764         * modules/dprintf-posix (Comment): New section.
21765         * modules/fprintf-posix (Comment): Likewise.
21766         * modules/obstack-printf-posix (Comment): Likewise.
21767         * modules/printf-posix (Comment): Likewise.
21768         * modules/snprintf-posix (Comment): Likewise.
21769         * modules/sprintf-posix (Comment): Likewise.
21770         * modules/vasnprintf-posix (Comment): Likewise.
21771         * modules/vasprintf-posix (Comment): Likewise.
21772         * modules/vdprintf-posix (Comment): Likewise.
21773         * modules/vfprintf-posix (Comment): Likewise.
21774         * modules/vprintf-posix (Comment): Likewise.
21775         * modules/vsnprintf-posix (Comment): Likewise.
21776         * modules/vsprintf-posix (Comment): Likewise.
21777         * modules/xprintf-posix (Comment): Likewise.
21778         * modules/xvasprintf-posix (Comment): Likewise.
21779         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
21780         * modules/floorf-tests (Depends-on): Likewise.
21781         * modules/round-tests (Depends-on): Likewise.
21782         * modules/roundf-tests (Depends-on): Likewise.
21783         * modules/trunc-tests (Depends-on): Likewise.
21784         * modules/truncf-tests (Depends-on): Likewise.
21785         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
21786         'fprintf-posix' module is not present.
21787         * tests/test-floorf2.c (check): Likewise.
21788         * tests/test-trunc2.c (check): Likewise.
21789         * tests/test-truncf2.c (check): Likewise.
21790         * tests/test-round2.c (equal): Likewise.
21791         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21792
21793 2010-04-07  Karl Berry  <karl@gnu.org>
21794
21795         * config/srclist.txt,
21796         * config/srclistvars.sh,
21797         * config/srclist-update: doc fixes.
21798
21799 2010-04-07  Jim Meyering  <meyering@redhat.com>
21800
21801         maint.mk: add a PATH crosschecking syntax-check rule
21802         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
21803         Useful if you use a test like the one in help-version (coreutils,
21804         diffutils, grep, gzip) that ensures $(VERSION) matches what is
21805         printed by prog --version.
21806
21807 2010-04-06  Bruno Haible  <bruno@clisp.org>
21808
21809         Fix link error on mingw.
21810         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
21811         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
21812
21813 2010-04-06  Bruno Haible  <bruno@clisp.org>
21814
21815         Assume rmdir exists.
21816         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
21817
21818 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
21819
21820         doc: update users.txt
21821         * users.txt: Add gcal.
21822
21823 2010-04-06  Jim Meyering  <meyering@redhat.com>
21824
21825         init.sh: simply unset TMPDIR rather than risking env -i
21826         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
21827         although it probably works fine on all Unix-based systems, some
21828         systems (Cygwin?) cannot tolerate a totally cleared environment.
21829         Suggestion from Eric Blake.
21830
21831 2010-04-06  Jim Meyering  <meyering@redhat.com>
21832
21833         init.sh: portability fix: use env's POSIX-specified -i option not -u
21834         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
21835         than unportable env -u.  Solaris 5.11's env lacks support for -u.
21836
21837 2010-04-05  Bruno Haible  <bruno@clisp.org>
21838
21839         btowc: Work around Cygwin 1.7.2 bug.
21840         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
21841         does not map NUL to 0.
21842         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
21843
21844 2010-04-05  Bruno Haible  <bruno@clisp.org>
21845
21846         Make the multithread modules work on Cygwin 1.7.2.
21847         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
21848         imported symbols can be declared weak, so that it returns "no" on
21849         Cygwin 1.7.2.
21850
21851 2010-04-05  Bruno Haible  <bruno@clisp.org>
21852
21853         Use the module 'strncat'.
21854         * modules/unistr/u8-strncat (Depends-on): Add strncat.
21855
21856         Tests for module 'strncat'.
21857         * modules/strncat-tests: New file.
21858         * tests/test-strncat.c: New file.
21859
21860         New module 'strncat'.
21861         * lib/string.in.h (strncat): New declaration.
21862         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
21863         * m4/strncat.m4: New file, based on m4/memchr.m4.
21864         * modules/strncat: New file.
21865         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
21866         is declared.
21867         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
21868         REPLACE_STRNCAT.
21869         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
21870         REPLACE_STRNCAT.
21871         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
21872         module.
21873         * tests/test-string-c++.cc: Check signature of strncat.
21874
21875 2010-04-05  Jim Meyering  <meyering@redhat.com>
21876
21877         xstrtoumax-tests: convert to use init.sh
21878         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
21879         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21880         Use Exit, not exit.
21881         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21882
21883         xstrtoimax-tests: convert to use init.sh
21884         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
21885         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21886         Use Exit, not exit.
21887         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21888
21889 2010-04-05  Bruno Haible  <bruno@clisp.org>
21890
21891         sys_socket: Avoid #define replacements in C++ mode.
21892         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
21893         warning to the function if possible, rather than #defining the symbol
21894         to a dysfunctional alias.
21895
21896 2010-04-05  Bruno Haible  <bruno@clisp.org>
21897
21898         fseeko: Fix C++ test error on mingw.
21899         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
21900         gl_FUNC_FSEEKO.
21901         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
21902         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
21903         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
21904         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
21905
21906 2010-04-05  Bruno Haible  <bruno@clisp.org>
21907
21908         duplocale: Improve test output.
21909         * tests/test-duplocale.c (main): Print reason for skipped test.
21910
21911 2010-04-05  Bruno Haible  <bruno@clisp.org>
21912
21913         Assume rmdir exists.
21914         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
21915         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
21916
21917 2010-04-05  Bruno Haible  <bruno@clisp.org>
21918
21919         Fix link error on Solaris 8 with cc.
21920         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
21921
21922 2010-04-05  Bruno Haible  <bruno@clisp.org>
21923
21924         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
21925         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
21926
21927 2010-04-05  Bruno Haible  <bruno@clisp.org>
21928
21929         vasprintf: Update documentation.
21930         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
21931
21932 2010-04-05  Bruno Haible  <bruno@clisp.org>
21933
21934         ptsname: Improve test.
21935         * tests/test-ptsname.c (main): Also try the various master names of BSD
21936         systems.
21937
21938 2010-04-05  Bruno Haible  <bruno@clisp.org>
21939
21940         memchr: Avoid a possible C++ test error.
21941         * lib/string.in.h (memchr): Provide declaration if function is missing.
21942         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
21943         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
21944         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
21945         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
21946
21947 2010-04-05  Bruno Haible  <bruno@clisp.org>
21948
21949         strtok_r: Improve idiom.
21950         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
21951         AC_LIBOBJ is used.
21952
21953 2010-04-05  Bruno Haible  <bruno@clisp.org>
21954
21955         strdup: Improve idiom.
21956         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
21957         AC_LIBOBJ is used.
21958         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
21959         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
21960         when AC_LIBOBJ is used.
21961
21962 2010-04-05  Bruno Haible  <bruno@clisp.org>
21963
21964         mbsinit, mbrtowc, wcrtomb: Improve idioms.
21965         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
21966         don't set REPLACE_MBSINIT to 1.
21967         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
21968         don't set REPLACE_MBRTOWC to 1.
21969         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
21970         exist, don't set REPLACE_MBSRTOWCS to 1.
21971         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
21972         exist, don't set REPLACE_MBSNRTOWCS to 1.
21973         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
21974         don't set REPLACE_WCRTOMB to 1.
21975         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
21976         exist, don't set REPLACE_WCSRTOMBS to 1.
21977         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
21978         exist, don't set REPLACE_WCSNRTOMBS to 1.
21979
21980 2010-04-05  Bruno Haible  <bruno@clisp.org>
21981
21982         ldexpl: Improve idiom.
21983         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
21984         make sure to set HAVE_DECL_LDEXPL to 0.
21985
21986 2010-04-05  Jim Meyering  <meyering@redhat.com>
21987
21988         xstrtol-tests: convert to use init.sh
21989         * modules/xstrtol-tests (Files): Add tests/init.sh.
21990         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21991         Use Exit, not exit.
21992         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21993
21994         atexit-tests: convert to use init.sh
21995         * modules/atexit-tests (Files): Add tests/init.sh.
21996         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21997         Use Exit, not exit.
21998         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21999
22000         init.sh: fix typo
22001         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
22002
22003         init.sh: make it easier for a test script to write to the tty, ...
22004         when using automake's parallel-tests mode.
22005         * tests/init.sh (stderr_fileno_): Define overridable variable.
22006         (warn_): New function, to use it.
22007         (fail_, skip_, framework_failure_): Use warn_.
22008
22009 2010-04-04  Bruno Haible  <bruno@clisp.org>
22010
22011         btowc: Avoid warning.
22012         * lib/btowc.c: Include <stdlib.h>.
22013         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
22014
22015 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
22016             Bruno Haible  <bruno@clisp.org>
22017
22018         wchar: Port to NetBSD 1.5.
22019         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
22020         * lib/wctype.in.h (WEOF): Likewise.
22021
22022 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
22023             Bruno Haible  <bruno@clisp.org>
22024
22025         Port extended stdio to NetBSD 1.5.
22026         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
22027         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
22028         older.
22029
22030 2010-04-04  Bruno Haible  <bruno@clisp.org>
22031
22032         string: Remove unused substitution.
22033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
22034         HAVE_DECL_STRERROR.
22035         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
22036
22037 2010-04-04  Bruno Haible  <bruno@clisp.org>
22038
22039         strtod: Avoid a possible C++ test error.
22040         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
22041         set REPLACE_STRTOD.
22042
22043 2010-04-04  Bruno Haible  <bruno@clisp.org>
22044
22045         strerror: Update documentation.
22046         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
22047
22048 2010-04-04  Bruno Haible  <bruno@clisp.org>
22049
22050         stdio: Fix some C++ test errors on Solaris 8 with GCC.
22051         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
22052         _GL_CXXALIAS_SYS_CAST.
22053
22054 2010-04-04  Bruno Haible  <bruno@clisp.org>
22055
22056         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
22057         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
22058         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
22059         REPLACE_FREXPL to 1.
22060         * doc/posix-functions/frexpl.texi: Update documentation.
22061
22062 2010-04-04  Bruno Haible  <bruno@clisp.org>
22063
22064         math: Fix some C++ test errors on Solaris 8 and Cygwin.
22065         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
22066
22067 2010-04-04  Bruno Haible  <bruno@clisp.org>
22068
22069         Implement nanosleep for native Windows.
22070         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
22071
22072 2010-04-04  Bruno Haible  <bruno@clisp.org>
22073
22074         math: Fix some C++ test errors on Solaris 8.
22075         * lib/math.in.h (truncf, trunc): Use simpler idiom.
22076
22077 2010-04-04  Bruno Haible  <bruno@clisp.org>
22078
22079         math: Fix some C++ test errors on Cygwin.
22080         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
22081         truncl): Provide declaration if the system does not have it.
22082         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
22083         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
22084         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
22085         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
22086         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
22087         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
22088         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
22089         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
22090         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
22091         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
22092         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
22093         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
22094         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
22095         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
22096         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
22097         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
22098         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
22099         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
22100         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
22101         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
22102         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
22103         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
22104
22105 2010-04-04  Bruno Haible  <bruno@clisp.org>
22106
22107         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
22108         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22109         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22110         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
22111         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
22112         * m4/isinf.m4 (gl_ISINF): Likewise.
22113         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22114
22115 2010-04-04  Bruno Haible  <bruno@clisp.org>
22116
22117         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
22118         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22119
22120 2010-04-04  Bruno Haible  <bruno@clisp.org>
22121
22122         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
22123         * modules/tmpfile (configure.ac): Update.
22124
22125         tmpfile: Fix C++ test error on mingw.
22126         * lib/stdio.in.h (tmpfile): New declaration.
22127         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
22128         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
22129         * modules/tmpfile (Depends-on): Add stdio.
22130         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
22131         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
22132         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
22133         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
22134         REPLACE_TMPFILE.
22135         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
22136
22137 2010-04-04  Bruno Haible  <bruno@clisp.org>
22138
22139         ioctl: Fix C++ test error on mingw.
22140         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
22141         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
22142         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
22143
22144 2010-04-03  Bruno Haible  <bruno@clisp.org>
22145
22146         wcwidth: Fix C++ test error on mingw.
22147         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
22148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
22149         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
22150
22151 2010-04-03  Bruno Haible  <bruno@clisp.org>
22152
22153         nanosleep: Fix C++ test error on mingw.
22154         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
22155         * lib/time.in.h (nanosleep): Use modern idiom.
22156         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
22157         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
22158         REPLACE_NANOSLEEP to 1.
22159         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
22160         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
22161
22162 2010-04-03  Bruno Haible  <bruno@clisp.org>
22163
22164         strptime: Fix C++ test error on mingw.
22165         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
22166         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
22167         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
22168         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
22169         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
22170         not REPLACE_STRPTIME.
22171         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
22172         REPLACE_STRPTIME.
22173
22174 2010-04-03  Bruno Haible  <bruno@clisp.org>
22175
22176         timegm: Fix C++ test error on mingw.
22177         * lib/time.in.h (timegm): Use modern idiom.
22178         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
22179         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
22180         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
22181         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
22182
22183 2010-04-03  Bruno Haible  <bruno@clisp.org>
22184
22185         timegm: Assume declaration if function exists.
22186         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
22187         if it exists. Don't clobber ac_cv_func_timegm.
22188
22189 2010-04-03  Bruno Haible  <bruno@clisp.org>
22190
22191         time_r: Fix C++ test error on mingw.
22192         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
22193         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
22194         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
22195         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
22196         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
22197
22198 2010-04-03  Bruno Haible  <bruno@clisp.org>
22199
22200         time_r: Minor updates.
22201         * modules/time_r (Description): Mention the provided functions.
22202         * lib/time_r.c: Don't include <string.h>.
22203         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
22204         * doc/posix-functions/localtime_r.texi: Likewise.
22205
22206 2010-04-03  Bruno Haible  <bruno@clisp.org>
22207
22208         time: Fix regression introduced on 2010-03-08.
22209         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
22210         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
22211
22212 2010-04-03  Jim Meyering  <meyering@redhat.com>
22213
22214         maint.mk: don't silently disable project-specific syntax-check rules
22215         * top/maint.mk (_prohibit_regexp): Define, to help people realize
22216         that they need to convert their project-specific syntax-check rules
22217         to use the new _sc_search_regexp.
22218
22219 2010-04-03  Bruno Haible  <bruno@clisp.org>
22220
22221         fchdir: Fix regression introduced on 2010-03-08.
22222         * lib/unistd.in.h (fchdir): Fix declaration.
22223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
22224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
22225         REPLACE_FCHDIR.
22226         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
22227         REPLACE_FCHDIR.
22228
22229 2010-04-03  Bruno Haible  <bruno@clisp.org>
22230
22231         getpagesize: Fix C++ test error on mingw.
22232         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
22233         system does not declare the function.
22234         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
22235         declared.
22236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22237         HAVE_DECL_GETPAGESIZE.
22238         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
22239
22240 2010-04-03  Bruno Haible  <bruno@clisp.org>
22241
22242         stdio: Make C++ tests work on mingw.
22243         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
22244         does not declare the function.
22245
22246 2010-04-03  Bruno Haible  <bruno@clisp.org>
22247
22248         ftello: Fix C++ test error on mingw.
22249         * lib/stdio.in.h (ftello): Use modern idiom.
22250         * lib/ftello.c (ftello): Renamed from rpl_ftello.
22251         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
22252         is missing and that it needs to be replaced.
22253         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
22254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
22255         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
22256
22257 2010-04-03  Bruno Haible  <bruno@clisp.org>
22258
22259         fseeko: Fix C++ test error on mingw.
22260         * lib/stdio.in.h (fseeko): Use modern idiom.
22261         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
22262         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
22263         is missing and that it needs to be replaced.
22264         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
22265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
22266         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
22267
22268 2010-04-03  Bruno Haible  <bruno@clisp.org>
22269
22270         mkstemp: Fix C++ test error on mingw.
22271         * lib/stdlib.in.h (mkstemp): Use modern idiom.
22272         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
22273         function is missing and that it needs to be replaced.
22274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
22275         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
22276
22277 2010-04-03  Bruno Haible  <bruno@clisp.org>
22278
22279         stpncpy: Fix C++ test error on mingw.
22280         * lib/string.in.h (stpncpy): Use modern idiom.
22281         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
22282         function is missing and that it needs to be replaced.
22283         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22284         REPLACE_STPNCPY.
22285         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
22286
22287 2010-04-03  Bruno Haible  <bruno@clisp.org>
22288
22289         sys_stat: Fix C++ test error on mingw.
22290         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
22291         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
22292
22293 2010-04-03  Bruno Haible  <bruno@clisp.org>
22294
22295         pty: Update doc.
22296         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
22297
22298 2010-04-03  Bruno Haible  <bruno@clisp.org>
22299
22300         unistd: Fix C++ test error on mingw.
22301         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
22302
22303 2010-04-03  Bruno Haible  <bruno@clisp.org>
22304
22305         Update doc regarding mingw.
22306         * doc/glibc-functions/openpty.texi: Update regarding mingw.
22307         * doc/glibc-functions/login_tty.texi: Likewise.
22308         * doc/glibc-functions/forkpty.texi: Likewise.
22309
22310 2010-04-03  Bruno Haible  <bruno@clisp.org>
22311
22312         stdlib: Avoid compilation failure of c-strtold on mingw.
22313         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
22314
22315 2010-04-03  Bruno Haible  <bruno@clisp.org>
22316
22317         locale: Make C++ tests work on Cygwin and mingw.
22318         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
22319         cannot provide the function.
22320         Reported by Simon Josefsson.
22321
22322 2010-04-03  Bruno Haible  <bruno@clisp.org>
22323
22324         localename: Port to MacOS X 10.6.
22325         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
22326         memory layout of the locales in MacOS X 10.6 as well.
22327         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
22328
22329 2010-04-02  Bruno Haible  <bruno@clisp.org>
22330
22331         gnulib-tool: Ensure that long-running tests are executed last.
22332         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
22333         running tests after the one for the other tests.
22334
22335 2010-04-02  Bruno Haible  <bruno@clisp.org>
22336
22337         gnulib-tool: Ensure the tests in the main directory are executed first.
22338         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
22339         start with the current directory.
22340
22341 2010-04-02  Bruno Haible  <bruno@clisp.org>
22342
22343         Tests for module 'havelib', moved here from GNU gettext.
22344         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
22345         modifications.
22346         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
22347         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
22348         with modifications.
22349         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
22350         modifications.
22351         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
22352         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
22353         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
22354         with modifications.
22355         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
22356         with modifications.
22357         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
22358         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
22359         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
22360         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
22361         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
22362         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
22363         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
22364         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
22365         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
22366         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
22367         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
22368         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
22369         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
22370         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
22371         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
22372         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
22373         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
22374         with modifications.
22375         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
22376         with modifications.
22377         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
22378         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
22379         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
22380         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
22381         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
22382         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
22383         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
22384         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
22385         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
22386         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
22387         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
22388         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
22389         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
22390         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
22391         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
22392         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
22393         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
22394         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
22395         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
22396         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
22397         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
22398         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
22399         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
22400         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
22401         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
22402         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
22403         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
22404         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
22405         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
22406         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
22407         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
22408         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
22409         * tests/havelib/rpathx/rpathx.c: New file, from
22410         gettext/autoconf-lib-link.
22411         * tests/havelib/rpathx/Makefile.am: New file, from
22412         gettext/autoconf-lib-link.
22413         * tests/havelib/rpathx/configure.ac: New file, from
22414         gettext/autoconf-lib-link with modifications.
22415         * tests/havelib/rpathy/rpathy.c: New file, from
22416         gettext/autoconf-lib-link.
22417         * tests/havelib/rpathy/Makefile.am: New file, from
22418         gettext/autoconf-lib-link.
22419         * tests/havelib/rpathy/configure.ac: New file, from
22420         gettext/autoconf-lib-link with modifications.
22421         * tests/havelib/rpathz/rpathz.c: New file, from
22422         gettext/autoconf-lib-link.
22423         * tests/havelib/rpathz/Makefile.am: New file, from
22424         gettext/autoconf-lib-link.
22425         * tests/havelib/rpathz/configure.ac: New file, from
22426         gettext/autoconf-lib-link with modifications.
22427         * tests/havelib/rpathlx/usex.c: New file, from
22428         gettext/autoconf-lib-link.
22429         * tests/havelib/rpathlx/Makefile.am: New file, from
22430         gettext/autoconf-lib-link.
22431         * tests/havelib/rpathlx/configure.ac: New file, from
22432         gettext/autoconf-lib-link with modifications.
22433         * tests/havelib/rpathly/usey.c: New file, from
22434         gettext/autoconf-lib-link.
22435         * tests/havelib/rpathly/Makefile.am: New file, from
22436         gettext/autoconf-lib-link.
22437         * tests/havelib/rpathly/configure.ac: New file, from
22438         gettext/autoconf-lib-link with modifications.
22439         * tests/havelib/rpathlz/usez.c: New file, from
22440         gettext/autoconf-lib-link.
22441         * tests/havelib/rpathlz/Makefile.am: New file, from
22442         gettext/autoconf-lib-link.
22443         * tests/havelib/rpathlz/configure.ac: New file, from
22444         gettext/autoconf-lib-link with modifications.
22445         * tests/havelib/rpathlyx/usey.c: New file, from
22446         gettext/autoconf-lib-link.
22447         * tests/havelib/rpathlyx/Makefile.am: New file, from
22448         gettext/autoconf-lib-link.
22449         * tests/havelib/rpathlyx/configure.ac: New file, from
22450         gettext/autoconf-lib-link with modifications.
22451         * tests/havelib/rpathlzyx/usez.c: New file, from
22452         gettext/autoconf-lib-link.
22453         * tests/havelib/rpathlzyx/Makefile.am: New file, from
22454         gettext/autoconf-lib-link.
22455         * tests/havelib/rpathlzyx/configure.ac: New file, from
22456         gettext/autoconf-lib-link with modifications.
22457         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
22458         with modifications.
22459
22460 2010-04-02  Bruno Haible  <bruno@clisp.org>
22461
22462         gnulib-tool: Create distributed built sources also for the tests.
22463         * gnulib-tool (func_create_testdir): Also generate distributed built
22464         sources in the tests directory.
22465
22466 2010-04-02  Bruno Haible  <bruno@clisp.org>
22467
22468         gnulib-tool: Obey user's environment variables.
22469         * gnulib-tool (func_create_testdir): When creating built sources,
22470         respect the environment variables for autoconf, automake, etc. given by
22471         the user.
22472
22473 2010-04-02  Bruno Haible  <bruno@clisp.org>
22474
22475         gnulib-tool: Provide the value of --m4-base to modules.
22476         * gnulib-tool (func_import, func_create_testdir): Emit a definition
22477         of gl_m4_base.
22478
22479 2010-04-02  Eric Blake  <eblake@redhat.com>
22480
22481         maint.mk: fix some fallout
22482         * NEWS: Document the incompatible change, and its effect on cfg.mk.
22483         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
22484
22485 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
22486
22487         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
22488         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
22489         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
22490         (sc_cast_of_x_alloc_return_value): Likewise.
22491         (sc_cast_of_alloca_return_value): Likewise.
22492         (sc_space_tab): Likewise.
22493         (sc_prohibit_atoi_atof): Likewise.
22494         (sc_prohibit_magic_number_exit): Likewise.
22495         (sc_error_exit_success): Likewise.
22496         (sc_file_system): Likewise.
22497         (sc_prohibit_have_config_h): Likewise.
22498         (sc_require_config_h): Likewise.
22499         (sc_prohibit_HAVE_MBRTOWC): Likewise.
22500         (sc_obsolete_symbols): Likewise.
22501         (sc_changelog): Likewise.
22502         (sc_program_name): Likewise.
22503         (sc_the_the): Likewise.
22504         (sc_trailing_blank): Likewise.
22505         (sc_two_space_separator_in_usage): Likewise.
22506         (sc_useless_cpp_parens): Likewise.
22507         (sc_GPL_version): Likewise.
22508         (sc_GFDL_version): Likewise.
22509         (sc_texinfo_acronym): Likewise.
22510         (sc_prohibit_cvs_keyword): Likewise.
22511         (sc_prohibit_stat_st_blocks): Likewise.
22512         (sc_prohibit_S_IS_definition): Likewise.
22513         (sc_redundant_const): Likewise.
22514         (sc_makefile_TAB_only_indentation): Likewise.
22515         (sc_m4_quote_check): Likewise.
22516         (sc_makefile_path_separator_check): Likewise.
22517         (sc_copyright_check): Likewise.
22518         (sc_Wundef_boolean): Likewise.
22519         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22520
22521         maint.mk: match 0 or more whitespace-before-function-call '('
22522         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
22523         that have zero or two-and-more spaces between the function name
22524         and the open parenthesis.
22525         (sc_error_message_warn_fatal): Likewise.
22526         (sc_error_message_uppercase): Likewise.
22527         (sc_error_message_period): Likewise.
22528
22529 2010-03-31  Eric Blake  <eblake@redhat.com>
22530
22531         maint.mk: check for [ as well as test
22532         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
22533         Based on a libvirt report by Matthias Bolte.
22534
22535         gnumakefile: don't squelch _version output
22536         * top/GNUmakefile (_version): Create one-shot dependency rather
22537         than using $(shell) when version must be regenerated.
22538         (_autoreconf): Run verbosely, by default.
22539
22540         sys_time: avoid compiler warnings
22541         * lib/sys_time.in.h (includes): Ensure gcc pragma is
22542         unconditional, fixing regression from 2010-03-29.
22543         Reported by Simon Josefsson.
22544
22545 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
22546
22547         maint.mk: s/_header_without_use/_sc_header_without_use/
22548         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
22549         (sc_prohibit_assert_without_use): Use the new name.
22550         (sc_prohibit_close_stream_without_use): Likewise.
22551         (sc_prohibit_getopt_without_use): Likewise.
22552         (sc_prohibit_quotearg_without_use): Likewise.
22553         (sc_prohibit_quote_without_use): Likewise.
22554         (sc_prohibit_long_options_without_use): Likewise.
22555         (sc_prohibit_inttostr_without_use): Likewise.
22556         (sc_prohibit_ignore_value_without_use): Likewise.
22557         (sc_prohibit_error_without_use): Likewise.
22558         (sc_prohibit_xalloc_without_use): Likewise.
22559         (sc_prohibit_hash_without_use): Likewise.
22560         (sc_prohibit_hash_pjw_without_use): Likewise.
22561         (sc_prohibit_safe_read_without_use): Likewise.
22562         (sc_prohibit_argmatch_without_use): Likewise.
22563         (sc_prohibit_canonicalize_without_use): Likewise.
22564         (sc_prohibit_root_dev_ino_without_use): Likewise.
22565         (sc_prohibit_openat_without_use): Likewise.
22566         (sc_prohibit_c_ctype_without_use): Likewise.
22567         (sc_prohibit_signal_without_use): Likewise.
22568         (sc_prohibit_intprops_without_use): Likewise.
22569
22570 2010-03-30  Eric Blake  <eblake@redhat.com>
22571
22572         maint: improve module indicators
22573         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
22574         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
22575         columns, and avoid extra macro expansion.
22576
22577         fdopendir: work around FreeBSD bug
22578         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22579         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
22580         * modules/dirent (Makefile.am): Substitute it.
22581         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
22582         declaration.
22583         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
22584         fix.
22585         Reported by Christian Weisgerber <naddy@mips.inka.de>.
22586
22587 2010-03-29  Bruno Haible  <bruno@clisp.org>
22588
22589         Emit #pragma system_header after the inclusion guard, not before.
22590         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
22591         guard that spans the entire file, not before. This enables an
22592         optimization in GCC's preprocessor.
22593         * lib/ctype.in.h: Likewise.
22594         * lib/dirent.in.h: Likewise.
22595         * lib/errno.in.h: Likewise.
22596         * lib/float.in.h: Likewise.
22597         * lib/getopt.in.h: Likewise.
22598         * lib/iconv.in.h: Likewise.
22599         * lib/langinfo.in.h: Likewise.
22600         * lib/locale.in.h: Likewise.
22601         * lib/math.in.h: Likewise.
22602         * lib/netdb.in.h: Likewise.
22603         * lib/netinet_in.in.h: Likewise.
22604         * lib/pty.in.h: Likewise.
22605         * lib/sched.in.h: Likewise.
22606         * lib/se-selinux.in.h: Likewise.
22607         * lib/search.in.h: Likewise.
22608         * lib/spawn.in.h: Likewise.
22609         * lib/stdarg.in.h: Likewise.
22610         * lib/stdint.in.h: Likewise.
22611         * lib/string.in.h: Likewise.
22612         * lib/strings.in.h: Likewise.
22613         * lib/sys_file.in.h: Likewise.
22614         * lib/sys_ioctl.in.h: Likewise.
22615         * lib/sys_time.in.h: Likewise.
22616         * lib/sys_times.in.h: Likewise.
22617         * lib/sys_utsname.in.h: Likewise.
22618         * lib/sys_wait.in.h: Likewise.
22619         * lib/sysexits.in.h: Likewise.
22620         * lib/wctype.in.h: Likewise.
22621
22622 2010-03-28  James Youngman  <jay@gnu.org>
22623
22624         save-cwd: don't leak a file descriptor when the caller execs.
22625         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
22626         saved file descriptor.
22627         * modules/save-cwd (Depends-on): Depend on cloexec.
22628
22629 2010-03-29  Bruno Haible  <bruno@clisp.org>
22630
22631         Remove vestiges of fts-lgpl module.
22632         * lib/fts_.h: Assume GNULIB_FTS is 1.
22633         * lib/fts.c: Likewise.
22634         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
22635
22636 2010-03-28  Bruno Haible  <bruno@clisp.org>
22637
22638         Fix definition of tests witness macro.
22639         * gnulib-tool (func_import): Fix definition of witness macro.
22640
22641 2010-03-28  Bruno Haible  <bruno@clisp.org>
22642
22643         Fix ioctl's protoype on glibc systems.
22644         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
22645         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
22646         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
22647         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
22648         signature. If not, arrange to replace the ioctl function.
22649         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
22650         REPLACE_IOCTL.
22651         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
22652         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
22653         Reported by Ludovic Courtès <ludo@gnu.org>.
22654
22655 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
22656
22657         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
22658         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
22659         made it so grep -r --include=GLOB* ... did not work.
22660
22661 2010-03-26  Jim Meyering  <meyering@redhat.com>
22662             Eric Blake  <eblake@redhat.com>
22663
22664         maint.mk: prohibit use of test's -o and -a operators
22665         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
22666
22667 2010-03-28  Bruno Haible  <bruno@clisp.org>
22668
22669         Remove unused GNULIB_XYZ macro definitions.
22670         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
22671         invocation.
22672
22673 2010-03-28  Bruno Haible  <bruno@clisp.org>
22674
22675         Mark privileged tests modules.
22676         * modules/idpriv-drop-tests (Status): New section.
22677         * modules/idpriv-droptemp-tests (Status): New section.
22678
22679 2010-03-28  Bruno Haible  <bruno@clisp.org>
22680
22681         Split C++ tests into separate tests modules.
22682         * modules/dirent-c++-tests: New file, extracted from
22683         modules/dirent-tests.
22684         * modules/dirent-tests: Depend on it.
22685         * modules/fcntl-h-c++-tests: New file, extracted from
22686         modules/fcntl-h-tests.
22687         * modules/fcntl-h-tests: Depend on it.
22688         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
22689         * modules/glob-tests: Depend on it.
22690         * modules/iconv-h-c++-tests: New file, extracted from
22691         modules/iconv-h-tests.
22692         * modules/iconv-h-tests: Depend on it.
22693         * modules/langinfo-c++-tests: New file, extracted from
22694         modules/langinfo-tests.
22695         * modules/langinfo-tests: Depend on it.
22696         * modules/locale-c++-tests: New file, extracted from
22697         modules/locale-tests.
22698         * modules/locale-tests: Depend on it.
22699         * modules/math-c++-tests: New file, extracted from modules/math-tests.
22700         * modules/math-tests: Depend on it.
22701         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
22702         * modules/pty-tests: Depend on it.
22703         * modules/search-c++-tests: New file, extracted from
22704         modules/search-tests.
22705         * modules/search-tests: Depend on it.
22706         * modules/signal-c++-tests: New file, extracted from
22707         modules/signal-tests.
22708         * modules/signal-tests: Depend on it.
22709         * modules/spawn-c++-tests: New file, extracted from
22710         modules/spawn-tests.
22711         * modules/spawn-tests: Depend on it.
22712         * modules/stdio-c++-tests: New file, extracted from
22713         modules/stdio-tests.
22714         * modules/stdio-tests: Depend on it.
22715         * modules/stdlib-c++-tests: New file, extracted from
22716         modules/stdlib-tests.
22717         * modules/stdlib-tests: Depend on it.
22718         * modules/string-c++-tests: New file, extracted from
22719         modules/string-tests.
22720         * modules/string-tests: Depend on it.
22721         * modules/sys_ioctl-c++-tests: New file, extracted from
22722         modules/sys_ioctl-tests.
22723         * modules/sys_ioctl-tests: Depend on it.
22724         * modules/sys_select-c++-tests: New file, extracted from
22725         modules/sys_select-tests.
22726         * modules/sys_select-tests: Depend on it.
22727         * modules/sys_socket-c++-tests: New file, extracted from
22728         modules/sys_socket-tests.
22729         * modules/sys_socket-tests: Depend on it.
22730         * modules/sys_stat-c++-tests: New file, extracted from
22731         modules/sys_stat-tests.
22732         * modules/sys_stat-tests: Depend on it.
22733         * modules/sys_time-c++-tests: New file, extracted from
22734         modules/sys_time-tests.
22735         * modules/sys_time-tests: Depend on it.
22736         * modules/time-c++-tests: New file, extracted from modules/time-tests.
22737         * modules/time-tests: Depend on it.
22738         * modules/unistd-c++-tests: New file, extracted from
22739         modules/unistd-tests.
22740         * modules/unistd-tests: Depend on it.
22741         * modules/wchar-c++-tests: New file, extracted from
22742         modules/wchar-tests.
22743         * modules/wchar-tests: Depend on it.
22744         * modules/wctype-c++-tests: New file, extracted from
22745         modules/wctype-tests.
22746         * modules/wctype-tests: Depend on it.
22747         Reported by Simon Josefsson.
22748
22749 2010-03-28  Bruno Haible  <bruno@clisp.org>
22750
22751         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
22752         * gnulib-tool (func_exists_module): New function, extracted from
22753         func_verify_module.
22754         (func_verify_module): Use it.
22755         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
22756         'foo' only if 'foo' exists.
22757         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
22758         module.
22759
22760 2010-03-28  Bruno Haible  <bruno@clisp.org>
22761
22762         gnulib-tool: Add support for special categories of tests.
22763         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
22764         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
22765         (func_usage): Document them.
22766         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
22767         inc_unportable_tests, inc_all_tests): New variables.
22768         (func_acceptable): Consider these variables.
22769         (func_modules_transitive_closure): Make it work when the 'Status' field
22770         consists of multiple words.
22771         (func_import): Store and restore the values of inc_cxx_tests,
22772         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
22773         inc_all_tests in gnulib-comp.m4.
22774         (func_create_testdir): Set inc_all_tests to true.
22775         * doc/gnulib.texi (Extra tests modules): New section.
22776         Suggested by Jim Meyering.
22777
22778 2010-03-28  Bruno Haible  <bruno@clisp.org>
22779
22780         ansi-c++-opt: Allow turning off the C++ build by default.
22781         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
22782         gl_CXX_CHOICE_DEFAULT_NO is defined.
22783         Requested by Eric Blake.
22784
22785 2010-03-28  Bruno Haible  <bruno@clisp.org>
22786
22787         unistd: Avoid #define replacements in C++ mode.
22788         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
22789         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
22790         setsockopt, shutdown, select): In C++, attach a warning to the function
22791         if possible, rather than #defining the symbol to a dysfunctional alias.
22792         Reported by John W. Eaton <jwe@gnu.org>.
22793
22794 2010-03-28  Bruno Haible  <bruno@clisp.org>
22795
22796         Fix link errors on mingw.
22797         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
22798         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
22799         $(LIBSOCKET).
22800         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
22801         $(LIBSOCKET).
22802
22803 2010-03-28  Bruno Haible  <bruno@clisp.org>
22804             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22805
22806         lib-ignore: Determine different options for different compilers.
22807         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
22808         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
22809         Add comments.
22810         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
22811         * NEWS: Mention the change.
22812
22813 2010-03-27  Bruno Haible  <bruno@clisp.org>
22814
22815         Remove unused GNULIB_XYZ macro definitions.
22816         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
22817         * modules/fseek (configure.ac): Likewise.
22818         * modules/ioctl (configure.ac): Likewise.
22819         * modules/open (configure.ac): Likewise.
22820         * modules/stdlib-safer (configure.ac): Likewise.
22821
22822 2010-03-27  Bruno Haible  <bruno@clisp.org>
22823
22824         Add a remark about certain modules.
22825         * modules/malloc (Comment): New section.
22826         * modules/realloc (Comment): Likewise.
22827         * modules/sigpipe (Comment): Likewise.
22828
22829 2010-03-27  Bruno Haible  <bruno@clisp.org>
22830
22831         Resolve conflict between the two kinds of module indicators.
22832         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
22833         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
22834         * modules/canonicalize (configure.ac): Invoke
22835         gl_MODULE_INDICATOR_FOR_TESTS.
22836         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
22837         GNULIB_XYZ.
22838         * tests/test-dirent-c++.cc: Likewise.
22839         * tests/test-dirent-safer.c: Likewise.
22840         * tests/test-dup2.c: Likewise.
22841         * tests/test-fchdir.c: Likewise.
22842         * tests/test-fcntl-h-c++.cc: Likewise.
22843         * tests/test-getopt.c: Likewise.
22844         * tests/test-getopt.h: Likewise.
22845         * tests/test-langinfo-c++.cc: Likewise.
22846         * tests/test-locale-c++.cc: Likewise.
22847         * tests/test-math-c++.cc: Likewise.
22848         * tests/test-pty-c++.cc: Likewise.
22849         * tests/test-search-c++.cc: Likewise.
22850         * tests/test-signal-c++.cc: Likewise.
22851         * tests/test-spawn-c++.cc: Likewise.
22852         * tests/test-stdio-c++.cc: Likewise.
22853         * tests/test-stdlib-c++.cc: Likewise.
22854         * tests/test-string-c++.cc: Likewise.
22855         * tests/test-sys_ioctl-c++.cc: Likewise.
22856         * tests/test-sys_select-c++.cc: Likewise.
22857         * tests/test-sys_socket-c++.cc: Likewise.
22858         * tests/test-sys_stat-c++.cc: Likewise.
22859         * tests/test-sys_time-c++.cc: Likewise.
22860         * tests/test-time-c++.cc: Likewise.
22861         * tests/test-unistd-c++.cc: Likewise.
22862         * tests/test-wchar-c++.cc: Likewise.
22863         * tests/uninorm/test-u8-nfc.c: Likewise.
22864         * tests/uninorm/test-u8-nfd.c: Likewise.
22865         * tests/uninorm/test-u8-nfkc.c: Likewise.
22866         * tests/uninorm/test-u8-nfkd.c: Likewise.
22867         * tests/uninorm/test-u16-nfc.c: Likewise.
22868         * tests/uninorm/test-u16-nfd.c: Likewise.
22869         * tests/uninorm/test-u16-nfkc.c: Likewise.
22870         * tests/uninorm/test-u16-nfkd.c: Likewise.
22871         * tests/uninorm/test-u32-nfc.c: Likewise.
22872         * tests/uninorm/test-u32-nfc-big.c: Likewise.
22873         * tests/uninorm/test-u32-nfd.c: Likewise.
22874         * tests/uninorm/test-u32-nfd-big.c: Likewise.
22875         * tests/uninorm/test-u32-nfkc.c: Likewise.
22876         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
22877         * tests/uninorm/test-u32-nfkd.c: Likewise.
22878         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
22879         * tests/uninorm/test-u32-normalize-big.c: Likewise.
22880
22881 2010-03-27  Bruno Haible  <bruno@clisp.org>
22882
22883         Distinguish two kinds of module indicators.
22884         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
22885         gl_MODULE_INDICATOR.
22886         (gl_MODULE_INDICATOR): New macro.
22887         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
22888         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
22889         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
22890         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
22891         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
22892         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
22893         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
22894         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
22895         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
22896         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
22897         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
22898         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
22899         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
22900         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
22901         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
22902         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
22903         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
22904         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
22905         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
22906         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
22907         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
22908         * modules/cloexec (configure.ac): Likewise.
22909         * modules/getopt-gnu (configure.ac): Likewise.
22910         * modules/uninorm/u8-normalize (configure.ac): Likewise.
22911         * modules/uninorm/u16-normalize (configure.ac): Likewise.
22912         * modules/uninorm/u32-normalize (configure.ac): Likewise.
22913         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
22914
22915 2010-03-27  Bruno Haible  <bruno@clisp.org>
22916
22917         New module description field 'Comment'.
22918         * gnulib-tool: New option --extract-comment.
22919         (func_usage): Document it.
22920         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
22921         (func_get_comment): New function.
22922         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
22923
22924 2010-03-27  Bruno Haible  <bruno@clisp.org>
22925
22926         Addendum to 2010-02-07 commit.
22927         * gnulib-tool (func_usage): Document --extract-applicability option.
22928
22929 2010-03-27  Bruno Haible  <bruno@clisp.org>
22930
22931         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
22932         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
22933         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
22934         rather than link errors.
22935
22936 2010-03-27  Bruno Haible  <bruno@clisp.org>
22937
22938         Avoid side effects from tests-related modules on the compilation of lib.
22939         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
22940         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
22941         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
22942         parameter. Emit into AM_CPPFLAGS a definition of the designated C
22943         macro.
22944         (func_import): Define a witness macro. Assign it a value that depends
22945         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
22946         tests-related modules.
22947         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
22948         Reported by Jim Meyering.
22949
22950 2010-03-27  Bruno Haible  <bruno@clisp.org>
22951
22952         Factorize common .m4 code.
22953         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
22954         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
22955         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
22956         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
22957         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
22958         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
22959         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
22960         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
22961         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
22962         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
22963         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
22964         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
22965         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
22966         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
22967         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
22968         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
22969         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
22970         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
22971         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
22972         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
22973         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
22974         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
22975         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
22976         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
22977         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
22978         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
22979         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
22980         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
22981         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
22982         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
22983         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
22984         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
22985
22986 2010-03-27  Bruno Haible  <bruno@clisp.org>
22987
22988         Fix a compilation error on Cygwin with g++ >= 4.3.
22989         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
22990         if it is undefined or if we alias it to chmod.
22991         (lstat): Don't warn about the use of this function if it is undefined
22992         or if we alias it to stat.
22993         Reported by Simon Josefsson.
22994
22995 2010-03-27  Bruno Haible  <bruno@clisp.org>
22996
22997         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
22998         * modules/getlogin (configure.ac): Update.
22999
23000         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
23001         * modules/getlogin_r (configure.ac): Update.
23002
23003         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
23004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
23005         * modules/inet_ntop (configure.ac): Update.
23006
23007         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
23008         * modules/inet_pton (configure.ac): Update.
23009
23010         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
23011         * modules/mbslen (configure.ac): Update.
23012
23013         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
23014         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
23015         * modules/forkpty (configure.ac): Update.
23016         * modules/openpty (configure.ac): Update.
23017
23018 2010-03-26  Simon Josefsson  <simon@josefsson.org>
23019
23020         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
23021         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
23022
23023 2010-03-25  Eric Blake  <eblake@redhat.com>
23024
23025         maint: use pragma consistently across replacement headers
23026         * lib/ctype.in.h (system_header): Hoist for consistent placement.
23027         * lib/dirent.in.h (system_header): Likewise.
23028         * lib/errno.in.h (system_header): Likewise.
23029         * lib/float.in.h (system_header): Likewise.
23030         * lib/getopt.in.h (system_header): Likewise.
23031         * lib/iconv.in.h (system_header): Likewise.
23032         * lib/inttypes.in.h (system_header): Likewise.
23033         * lib/langinfo.in.h (system_header): Likewise.
23034         * lib/locale.in.h (system_header): Likewise.
23035         * lib/math.in.h (system_header): Likewise.
23036         * lib/netdb.in.h (system_header): Likewise.
23037         * lib/netinet_in.in.h (system_header): Likewise.
23038         * lib/pty.in.h (system_header): Likewise.
23039         * lib/sched.in.h (system_header): Likewise.
23040         * lib/se-selinux.in.h (system_header): Likewise.
23041         * lib/search.in.h (system_header): Likewise.
23042         * lib/spawn.in.h (system_header): Likewise.
23043         * lib/stdarg.in.h (system_header): Likewise.
23044         * lib/stdint.in.h (system_header): Likewise.
23045         * lib/string.in.h (system_header): Likewise.
23046         * lib/strings.in.h (system_header): Likewise.
23047         * lib/sys_file.in.h (system_header): Likewise.
23048         * lib/sys_ioctl.in.h (system_header): Likewise.
23049         * lib/sys_socket.in.h (system_header): Likewise.
23050         * lib/sys_times.in.h (system_header): Likewise.
23051         * lib/sys_utsname.in.h (system_header): Likewise.
23052         * lib/sys_wait.in.h (system_header): Likewise.
23053         * lib/sysexits.in.h (system_header): Likewise.
23054         * lib/unistd.in.h (system_header): Likewise.
23055         * lib/wctype.in.h (system_header): Likewise.
23056
23057         arpa/inet: fix mingw compilation warning
23058         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
23059         Reported by Matthew Bolte.
23060
23061 2010-03-25  Bruno Haible  <bruno@clisp.org>
23062
23063         Avoid collision between gnulib wrapper and libintl wrapper.
23064         * lib/printf.c (printf): Don't define if a printf wrapper is already
23065         defined in intl/printf.c.
23066         Reported by Michel Boaventura <michel@michelboaventura.com>.
23067
23068 2010-03-25  Bruno Haible  <bruno@clisp.org>
23069
23070         Use ANSI C.
23071         * lib/readutmp.h (getutent): Provide ANSI C prototype.
23072
23073 2010-03-25  Bruno Haible  <bruno@clisp.org>
23074
23075         Minor formatting changes.
23076         * lib/acosl.c: Insert space before function argument list.
23077         * lib/argz.c: Likewise.
23078         * lib/asinl.c: Likewise.
23079         * lib/expl.c: Likewise.
23080         * lib/gen-uni-tables.c: Likewise.
23081         * lib/gettext.h: Likewise.
23082         * lib/glthread/lock.h: Likewise.
23083         * lib/tanl.c: Likewise.
23084         * lib/uniname/uniname.c: Likewise.
23085         * tests/test-idpriv-drop.c: Likewise.
23086         * tests/test-idpriv-droptemp.c: Likewise.
23087         * tests/test-lock.c: Likewise.
23088         * tests/test-tls.c: Likewise.
23089         * lib/argp-help.c: Insert space before function-like macro argument
23090         list.
23091         * lib/memcmp.c: Likewise.
23092         * tests/test-base64.c: Likewise.
23093         * lib/localename.c: Insert space before sizeof's argument list.
23094         * lib/safe-alloc.h: Likewise.
23095         * lib/file-set.h: Insert space before macro argument list.
23096         * tests/test-argp.c: Likewise.
23097         * lib/argp-namefrob.h: Insert space before function parameter list.
23098         * lib/getaddrinfo.c: Likewise.
23099         * lib/netdb.in.h: Likewise.
23100         * lib/parse-duration.h: Likewise.
23101         * lib/parse-duration.c: Likewise.
23102         * lib/poll.c: Likewise.
23103         * lib/select.c: Likewise.
23104         * lib/trim.h: Likewise.
23105         * tests/test-usleep.c: Likewise.
23106         * lib/ldexpl.c: Insert space before function parameter list and before
23107         function argument list.
23108         * lib/logl.c: Likewise.
23109         * lib/sqrtl.c: Likewise.
23110         * lib/trim.c: Likewise.
23111         * lib/cosl.c: Use GNU style indentation. Insert space before function
23112         argument list.
23113         * lib/sinl.c: Likewise.
23114         * lib/tsearch.c: Insert space after 'for'.
23115         Reported by Jim Meyering.
23116
23117 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
23118
23119         * maint.mk (sc_Wundef_boolean): Check for the presence of the
23120         config header before grepping, as it's not present before
23121         autoreconf/configure are run.  Reported by Simon Josefsson.
23122
23123 2010-03-23  Bruno Haible  <bruno@clisp.org>
23124
23125         pt_chown: Make it work with automake < 1.11.
23126         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
23127         Reported by Simon Josefsson.
23128
23129 2010-03-23  Bruno Haible  <bruno@clisp.org>
23130
23131         pt_chown: Don't depend on GPLed modules.
23132         * lib/pt_chown.c: Don't include idpriv.h.
23133         (main): Don't drop privileges.
23134         * modules/pt_chown (Depends-on): Remove idpriv-drop.
23135         Reported by Simon Josefsson.
23136
23137 2010-03-24  Simon Josefsson  <simon@josefsson.org>
23138
23139         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
23140         suggestions from karl@freefriends.org (Karl Berry).
23141
23142 2010-03-22  Eric Blake  <eblake@redhat.com>
23143
23144         gethostname: further tweaks
23145         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
23146         are overriding gethostname.
23147         Suggested by Bruno Haible.
23148
23149 2010-03-21  Bruno Haible  <bruno@clisp.org>
23150
23151         Fix comments.
23152         * lib/forkpty.c (rpl_forkpty): Fix comment.
23153         * lib/openpty.c (rpl_openpty): Likewise.
23154         Reported by Eric Blake.
23155
23156 2010-03-22  Eric Blake  <eblake@redhat.com>
23157
23158         gethostname: fix build on mingw
23159         * lib/unistd.in.h (includes): Work around fact that mingw
23160         <winsock2.h> re-includes <unistd.h>, by avoiding any
23161         redeclarations if we are being included by <winsock2.h>.
23162         Reported by Matthias Bolte.
23163
23164 2010-03-21  Bruno Haible  <bruno@clisp.org>
23165
23166         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
23167         * lib/forkpty.c (forkpty): New replacement function, from glibc with
23168         modifications.
23169         * lib/pty.in.h (forkpty): Update declaration. Add comments.
23170         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
23171         provide the replacement.
23172         * modules/forkpty (Depends-on): Add openpty, login_tty.
23173         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
23174         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
23175         * doc/glibc-functions/forkpty.texi: More supported platforms.
23176         * config/srclist.txt: Add forkpty.c (commented).
23177
23178 2010-03-21  Bruno Haible  <bruno@clisp.org>
23179
23180         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
23181         (Makefile.am): Verify that PTY_LIB is defined.
23182
23183         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
23184
23185 2010-03-21  Bruno Haible  <bruno@clisp.org>
23186
23187         Tests for module 'login_tty'.
23188         * modules/login_tty-tests: New file.
23189         * tests/test-login_tty.c: New file.
23190
23191         New module 'login_tty'.
23192         * lib/login_tty.c: New file.
23193         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
23194         * modules/login_tty: New file.
23195         * doc/glibc-functions/login_tty.texi: Mention the new module.
23196
23197 2010-03-21  Bruno Haible  <bruno@clisp.org>
23198
23199         login_tty: Documentation.
23200         * doc/glibc-functions/login_tty.texi: New file.
23201         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
23202
23203 2010-03-21  Bruno Haible  <bruno@clisp.org>
23204
23205         pty: Consistent macro naming.
23206         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
23207         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
23208         * modules/pty (configure.ac): Update.
23209
23210 2010-03-21  Bruno Haible  <bruno@clisp.org>
23211
23212         Tests for openpty: Make stricter.
23213         * tests/test-openpty.c (main): Add test of canonical processing and
23214         erase.
23215         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
23216
23217         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
23218         * lib/openpty.c (openpty): New replacement function.
23219         * lib/pty.in.h: Include <termios.h>.
23220         (openpty): Update declaration. Add comments.
23221         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
23222         is not declared, arrange to provide the replacement. Check for _getpty
23223         and posix_openpt.
23224         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
23225         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
23226         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
23227         * modules/pty-tests (test_pty_c___LDADD): New variable.
23228         * doc/glibc-functions/openpty.texi: More supported platforms.
23229
23230 2010-03-21  Bruno Haible  <bruno@clisp.org>
23231
23232         setenv: Tweaks.
23233         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
23234         the test program.
23235         * doc/posix-functions/setenv.texi: Update platforms list.
23236
23237 2010-03-21  Bruno Haible  <bruno@clisp.org>
23238
23239         New module 'unlockpt'.
23240         * lib/unlockpt.c: New file, from glibc with modifications.
23241         * m4/unlockpt.m4: New file.
23242         * modules/unlockpt: New file.
23243         * lib/stdlib.in.h (unlockpt): New declaration.
23244         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
23245         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
23246         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
23247         HAVE_UNLOCKPT.
23248         * doc/posix-functions/unlockpt.texi: Mention the new module.
23249         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
23250         * config/srclist.txt: Add unlockpt.c (commented).
23251
23252 2010-03-21  Jim Meyering  <meyering@redhat.com>
23253
23254         maint.mk: prohibit inclusion of "intprops.h" without use
23255         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
23256
23257 2010-03-21  Bruno Haible  <bruno@clisp.org>
23258
23259         New module 'grantpt'.
23260         * lib/grantpt.c: New file, from glibc with modifications.
23261         * m4/grantpt.m4: New file.
23262         * modules/grantpt: New file.
23263         * lib/stdlib.in.h (grantpt): New declaration.
23264         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
23265         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
23266         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
23267         HAVE_GRANTPT.
23268         * doc/posix-functions/grantpt.texi: Mention the new module.
23269         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
23270         * config/srclist.txt: Add grantpt.c (commented).
23271
23272 2010-03-21  Bruno Haible  <bruno@clisp.org>
23273
23274         New module 'pt_chown'.
23275         * lib/pt_chown.c: New file, from glibc with modifications.
23276         * lib/pty-private.h: New file, from glibc with modifications.
23277         * modules/pt_chown: New file.
23278         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
23279
23280 2010-03-21  Bruno Haible  <bruno@clisp.org>
23281
23282         Tests for module 'ptsname'.
23283         * modules/ptsname-tests: New file.
23284         * tests/test-ptsname.c: New file.
23285
23286         New module 'ptsname'.
23287         * lib/ptsname.c: New file, from glibc with modifications.
23288         * m4/ptsname.m4: New file.
23289         * modules/ptsname: New file.
23290         * lib/stdlib.in.h (ptsname): New declaration.
23291         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
23292         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
23293         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
23294         HAVE_PTSNAME.
23295         * doc/posix-functions/ptsname.texi: Mention the new module.
23296         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
23297         * config/srclist.txt: Add ptsname.c (commented).
23298
23299 2010-03-21  Bruno Haible  <bruno@clisp.org>
23300
23301         Tests for module 'ttyname_r'.
23302         * modules/ttyname_r-tests: New file.
23303         * tests/test-ttyname_r.c: New file.
23304
23305         New module 'ttyname_r'.
23306         * lib/ttyname_r.c: New file.
23307         * m4/ttyname_r.m4: New file.
23308         * modules/ttyname_r: New file.
23309         * lib/unistd.in.h (ttyname_r): New declaration.
23310         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
23311         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
23312         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
23313         HAVE_TTYNAME_R.
23314         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
23315         * doc/posix-functions/ttyname_r.texi: Mention the new module.
23316
23317 2010-03-20  Bruno Haible  <bruno@clisp.org>
23318
23319         signal: Undefine macro definitions in C++ mode.
23320         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
23321         sigfillset): Undefine macro definitions from the system header in C++
23322         mode.
23323         Reported by John W. Eaton <jwe@gnu.org>.
23324
23325 2010-03-20  Bruno Haible  <bruno@clisp.org>
23326
23327         Ensure no #include statements inside extern "C" { ... }.
23328         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
23329         contain #include statements.
23330         * lib/time.in.h: Likewise.
23331
23332 2010-03-20  Bruno Haible  <bruno@clisp.org>
23333
23334         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
23335         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
23336         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
23337         Reported by John W. Eaton <jwe@gnu.org>.
23338
23339 2010-03-20  Bruno Haible  <bruno@clisp.org>
23340
23341         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
23342         Reported by Jim Meyering.
23343
23344 2010-03-20  Bruno Haible  <bruno@clisp.org>
23345
23346         pipe: Set errno upon failure.
23347         * lib/pipe.h: Specify that when -1 is returned, errno is set.
23348         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
23349         errno value in error message.
23350
23351 2010-03-20  Bruno Haible  <bruno@clisp.org>
23352             Jim Meyering  <meyering@redhat.com>
23353
23354         lchown: Avoid "unused variable" warning.
23355         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
23356
23357 2010-03-20  Bruno Haible  <bruno@clisp.org>
23358
23359         Work around unlink() bug on MacOS X 10.5.6.
23360         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
23361         attempting to unlink a parent directory.
23362         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
23363         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
23364         activate for the replacement function.
23365         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
23366
23367 2010-03-20  Bruno Haible  <bruno@clisp.org>
23368
23369         Fix link errors on Solaris 8.
23370         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
23371         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
23372
23373 2010-03-19  Jim Meyering  <meyering@redhat.com>
23374
23375         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
23376         The _LIBC implementation of build_range_exp correctly honors the
23377         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
23378         However, the non-_LIBC implementation would ignore that syntax-bit
23379         flag and return REG_ERANGE unconditionally.
23380         This change makes it honor that flag.
23381         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
23382         Make two pointer parameters "const".
23383         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
23384         (parse_bracket_exp): Update caller.
23385
23386         regex.m4: correct the reversed range endpoint ([b-a]) test
23387         * m4/regex.m4: When requiring that [b-a] evoke failure,
23388         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
23389         test pass once again for x86-based systems.
23390
23391 2010-03-19  Bruno Haible  <bruno@clisp.org>
23392
23393         scandir: Fix link error on Solaris 8.
23394         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
23395         macros.
23396
23397 2010-03-19  Bruno Haible  <bruno@clisp.org>
23398
23399         getusershell: Fix documentation.
23400         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
23401         module.
23402         * doc/glibc-functions/setusershell.texi: Likewise.
23403
23404         getusershell: Provide declaration, missing on Solaris 9.
23405         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
23406         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
23407         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
23408         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
23409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23410         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
23411         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
23412         HAVE_GETUSERSHELL.
23413         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
23414
23415 2010-03-19  Bruno Haible  <bruno@clisp.org>
23416
23417         wctype: Provide iswblank function.
23418         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
23419         exists and is fine.
23420         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
23421         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
23422         * tests/test-wctype.c (main): Re-enable the iswblank tests.
23423         * doc/posix-functions/iswblank.texi: Update.
23424
23425 2010-03-19  Bruno Haible  <bruno@clisp.org>
23426
23427         Tests of module 'pty' in C++ mode.
23428         * modules/pty-tests: New file.
23429         * tests/test-pty-c++.cc: New file.
23430         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
23431
23432 2010-03-19  Eric Blake  <eblake@redhat.com>
23433
23434         logb: fix documentation
23435         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
23436         1.5 declaration bug.
23437
23438         forkpty, openpty: prefer glibc's const-safe prototype
23439         * lib/forkpty.c (rpl_forkpty): New file.
23440         * lib/openpty.c (rpl_openpty): Likewise.
23441         * modules/forkpty (Files): Distribute it.
23442         * modules/openpty (Files): Likewise.
23443         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
23444         check...
23445         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
23446         replacement for for non-const BSD signature.
23447         * modules/pty (Makefile.am): Substitute witnesses.
23448         * lib/pty.in.h (forkpty, openpty): Declare replacements.
23449         * tests/test-forkpty.c: Update signature check.
23450         * tests/test-openpty.c: Likewise.
23451         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
23452         * doc/glibc-functions/openpty.texi (openpty): Likewise.
23453
23454         forkpty, openpty: split functions into new modules
23455         * modules/pty (Makefile.am): Substitute new witnesses.
23456         (Libraries): Move library detection...
23457         * modules/forkpty: ...into new module.
23458         * modules/openpty: Another new module.
23459         * modules/pty-tests: Rename and split...
23460         * modules/forkpty-tests: ...to this...
23461         * modules/openpty-tests: ...and this.
23462         * tests/test-pty.c: Rename and split...
23463         * tests/test-forkpty.c: ...to this...
23464         * tests/test-openpty.c: ...and this.
23465         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
23466         (gl_PTY): Split library searching...
23467         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
23468         (gl_FORKPTY, gl_OPENPTY): New macros.
23469         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
23470         * NEWS: Mention the split.
23471         * MODULES.html.sh (Misc): Document the modules.
23472         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
23473         * doc/glibc-functions/openpty.texi (openpty): Likewise.
23474
23475         pty: improve replacement header
23476         * lib/pty.in.h: New file.
23477         * modules/pty (Files): Ship it.
23478         (Makefile.am): Always build replacement.
23479         * m4/pty.m4: Rename...
23480         * m4/pty_h.m4: ...to this.
23481         (gl_PTY): Modernize setting of witness macros; update check of
23482         forkpty to take proper advantage of cache.
23483         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
23484
23485         getopt: avoid compiler warning
23486         * lib/getopt.c (attribute_hidden): Remove unused macro.
23487
23488 2010-03-18  Bruno Haible  <bruno@clisp.org>
23489
23490         Fix link errors on Solaris 8.
23491         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
23492         * modules/search-tests (test_search_c___LDADD): Likewise.
23493         * modules/signal-tests (test_signal_c___LDADD): Likewise.
23494         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
23495         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
23496         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
23497         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
23498         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
23499         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
23500
23501 2010-03-18  Bruno Haible  <bruno@clisp.org>
23502
23503         Fix bug introduced on 2010-03-14.
23504         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
23505         (gl_SPAWN_H): Require it.
23506         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
23507         Reported by Simon Josefsson.
23508
23509 2010-03-18  Bruno Haible  <bruno@clisp.org>
23510
23511         Fix typo introduced on 2009-12-31.
23512         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
23513         posix_spawn_file_actions_adddup2.
23514
23515 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
23516         and Eric Blake  <eblake@redhat.com>
23517
23518         test-vc-list-files-git: make more robust
23519         * tests/test-vc-list-files-git.sh: Unset problematic environment
23520         variables.  Chain commands together.
23521
23522 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
23523
23524         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
23525         `AC_CHECK_DECL' invocation.
23526
23527 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
23528
23529         * lib/inttostr.c (inttostr): Make sure the invocation of verify
23530         appears before executable statements. Suggested by Petr Sumbera
23531         <Petr.Sumbera@Sun.COM>.
23532
23533 2010-03-14  Bruno Haible  <bruno@clisp.org>
23534
23535         * tests/test-flock.c (test_exclusive): Comment out a test that causes
23536         portability problems. Instead use a simpler test.
23537         (main): Check that invalid arguments are rejected only on Linux.
23538
23539 2010-03-14  Bruno Haible  <bruno@clisp.org>
23540
23541         Fix bug introduced on 2009-12-31.
23542         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
23543         gl_PREREQ_SYS_H_WINSOCK2 always.
23544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
23545         SYS_SOCKET_H variable.
23546         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
23547         Update comments.
23548         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
23549         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23550         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23551         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23552         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
23553
23554 2010-03-14  Bruno Haible  <bruno@clisp.org>
23555
23556         Fix values returned by sinl, cosl.
23557         * lib/trigl.h: Add specification comments.
23558         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
23559         that combines the values from the precomputed table with the values of
23560         the Chebyshev polynomials.
23561
23562 2010-03-14  Bruno Haible  <bruno@clisp.org>
23563
23564         Fix compilation error when modules 'posix_spawn[p]' are not used.
23565         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
23566         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
23567
23568 2010-03-14  Bruno Haible  <bruno@clisp.org>
23569
23570         Fix compilation error on mingw when module 'time_r' is not used.
23571         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
23572         is 1.
23573         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
23574         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
23575         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
23576         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
23577
23578 2010-03-14  Bruno Haible  <bruno@clisp.org>
23579
23580         Fix compilation error with Sun C.
23581         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
23582         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
23583         instead of GCC specific ULONG_LONG_MAX.
23584         * lib/xstrtoll.c: Likewise.
23585         * lib/xstrtoull.c: Likewise.
23586
23587 2010-03-13  Bruno Haible  <bruno@clisp.org>
23588
23589         Allow the user to disable C++ code and tests.
23590         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
23591         (gl_PROG_ANSI_CXX): Require it.
23592
23593 2010-03-13  Bruno Haible  <bruno@clisp.org>
23594
23595         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
23596         cases.
23597
23598 2010-03-13  Bruno Haible  <bruno@clisp.org>
23599
23600         Test that gnulib does not break the standard C++ headers.
23601         * tests/test-locale-c++2.cc: New file.
23602         * modules/locale-tests (Files): Add it.
23603         (Makefile.am): Compile it for test-locale-c++.
23604         * tests/test-math-c++2.cc: New file.
23605         * modules/math-tests (Files): Add it.
23606         (Makefile.am): Compile it for test-math-c++.
23607         * tests/test-signal-c++2.cc: New file.
23608         * modules/signal-tests (Files): Add it.
23609         (Makefile.am): Compile it for test-signal-c++.
23610         * tests/test-stdio-c++2.cc: New file.
23611         * modules/stdio-tests (Files): Add it.
23612         (Makefile.am): Compile it for test-stdio-c++.
23613         * tests/test-stdlib-c++2.cc: New file.
23614         * modules/stdlib-tests (Files): Add it.
23615         (Makefile.am): Compile it for test-stdlib-c++.
23616         * tests/test-string-c++2.cc: New file.
23617         * modules/string-tests (Files): Add it.
23618         (Makefile.am): Compile it for test-string-c++.
23619         * tests/test-time-c++2.cc: New file.
23620         * modules/time-tests (Files): Add it.
23621         (Makefile.am): Compile it for test-time-c++.
23622         Reported by John W. Eaton <jwe@gnu.org>.
23623
23624 2010-03-13  Bruno Haible  <bruno@clisp.org>
23625
23626         * gnulib-tool (func_usage): Clarify which options are available for
23627         --create-testdir and --create-megatestdir.
23628
23629 2010-03-13  Bruno Haible  <bruno@clisp.org>
23630
23631         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
23632         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
23633         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
23634         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
23635         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
23636         when appropriate.
23637         Reported by Jim Meyering.
23638
23639 2010-03-12  Simon Josefsson  <simon@josefsson.org>
23640
23641         * gnulib-tool (func_import): Explain origin of code.
23642
23643 2010-03-12  Bruno Haible  <bruno@clisp.org>
23644
23645         Fix problem with automake's definition of CXXLINK.
23646         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
23647         Reported by Simon Josefsson and Ludovic Courtès.
23648
23649 2010-03-12  Bruno Haible  <bruno@clisp.org>
23650
23651         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
23652         stable releases.
23653
23654 2010-03-11  Bruno Haible  <bruno@clisp.org>
23655
23656         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
23657         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
23658         whether the system provides one variant or multiple variants of the
23659         function.
23660         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
23661         C++ compilers.
23662         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
23663         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
23664         Reported by Jim Meyering.
23665
23666 2010-03-09  Simon Josefsson  <simon@josefsson.org>
23667
23668         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
23669
23670 2010-03-08  Bruno Haible  <bruno@clisp.org>
23671
23672         gnulib-tool: Add support for --libtool in --create-testdir.
23673         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
23674         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
23675
23676 2010-03-08  Eric Blake  <eblake@redhat.com>
23677
23678         gnulib-tool.texi: mention possibility of git submodule
23679         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
23680         submodules.
23681         * doc/.gitignore: Ignore another generated file.
23682
23683 2010-03-08  Karl Berry  <karl@gnu.org>
23684
23685         * doc/gnulib-tool.texi (VCS Issues): Mention third option
23686         of committing gnulib files while skipping others.
23687
23688 2010-03-07  Bruno Haible  <bruno@clisp.org>
23689
23690         Tests of module 'wctype' in C++ mode.
23691         * tests/test-wctype-c++.cc: New file.
23692         * modules/wctype-tests (Files): Add it and tests/signature.h.
23693         (Depends-on): Add ansi-c++-opt.
23694         (Makefile.am): Arrange to compile and run test-wctype-c++.
23695
23696         Tests of module 'wchar' in C++ mode.
23697         * tests/test-wchar-c++.cc: New file.
23698         * modules/wchar-tests (Files): Add it and tests/signature.h.
23699         (Depends-on): Add ansi-c++-opt.
23700         (Makefile.am): Arrange to compile and run test-wchar-c++.
23701         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
23702         gl_MODULE_INDICATOR.
23703
23704         Tests of module 'unistd' in C++ mode.
23705         * tests/test-unistd-c++.cc: New file.
23706         * modules/unistd-tests (Files): Add it and tests/signature.h.
23707         (Depends-on): Add ansi-c++-opt.
23708         (Makefile.am): Arrange to compile and run test-unistd-c++.
23709         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
23710         gl_MODULE_INDICATOR.
23711
23712         Tests of module 'time' in C++ mode.
23713         * tests/test-time-c++.cc: New file.
23714         * modules/time-tests (Files): Add it and tests/signature.h.
23715         (Depends-on): Add ansi-c++-opt.
23716         (Makefile.am): Arrange to compile and run test-time-c++.
23717         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
23718
23719         Tests of module 'sys_time' in C++ mode.
23720         * tests/test-sys_time-c++.cc: New file.
23721         * modules/sys_time-tests (Files): Add it and tests/signature.h.
23722         (Depends-on): Add ansi-c++-opt.
23723         (Makefile.am): Arrange to compile and run test-sys_time-c++.
23724         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
23725         gl_MODULE_INDICATOR.
23726
23727         Tests of module 'sys_stat' in C++ mode.
23728         * tests/test-sys_stat-c++.cc: New file.
23729         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
23730         (Depends-on): Add ansi-c++-opt.
23731         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
23732         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
23733         gl_MODULE_INDICATOR.
23734
23735         Tests of module 'sys_socket' in C++ mode.
23736         * tests/test-sys_socket-c++.cc: New file.
23737         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
23738         (Depends-on): Add ansi-c++-opt.
23739         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
23740         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
23741         gl_MODULE_INDICATOR.
23742
23743         Tests of module 'sys_select' in C++ mode.
23744         * tests/test-sys_select-c++.cc: New file.
23745         * modules/sys_select-tests (Files): Add it and tests/signature.h.
23746         (Depends-on): Add ansi-c++-opt.
23747         (Makefile.am): Arrange to compile and run test-sys_select-c++.
23748         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
23749         gl_MODULE_INDICATOR.
23750
23751         Tests of module 'sys_ioctl' in C++ mode.
23752         * tests/test-sys_ioctl-c++.cc: New file.
23753         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
23754         (Depends-on): Add ansi-c++-opt.
23755         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
23756         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
23757         gl_MODULE_INDICATOR.
23758
23759         Tests of module 'string' in C++ mode.
23760         * tests/test-string-c++.cc: New file.
23761         * modules/string-tests (Files): Add it and tests/signature.h.
23762         (Depends-on): Add ansi-c++-opt.
23763         (Makefile.am): Arrange to compile and run test-string-c++.
23764         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
23765         gl_MODULE_INDICATOR.
23766
23767         Tests of module 'stdlib' in C++ mode.
23768         * tests/test-stdlib-c++.cc: New file.
23769         * modules/stdlib-tests (Files): Add it and tests/signature.h.
23770         (Depends-on): Add ansi-c++-opt.
23771         (Makefile.am): Arrange to compile and run test-stdlib-c++.
23772         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
23773         gl_MODULE_INDICATOR.
23774
23775         Tests of module 'stdio' in C++ mode.
23776         * tests/test-stdio-c++.cc: New file.
23777         * modules/stdio-tests (Files): Add it and tests/signature.h.
23778         (Depends-on): Add ansi-c++-opt.
23779         (Makefile.am): Arrange to compile and run test-stdio-c++.
23780         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
23781         gl_MODULE_INDICATOR.
23782
23783         Tests of module 'spawn' in C++ mode.
23784         * tests/test-spawn-c++.cc: New file.
23785         * modules/spawn-tests (Files): Add it and tests/signature.h.
23786         (Depends-on): Add ansi-c++-opt.
23787         (Makefile.am): Arrange to compile and run test-spawn-c++.
23788         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
23789         gl_MODULE_INDICATOR.
23790
23791         Tests of module 'signal' in C++ mode.
23792         * tests/test-signal-c++.cc: New file.
23793         * modules/signal-tests (Files): Add it and tests/signature.h.
23794         (Depends-on): Add ansi-c++-opt.
23795         (Makefile.am): Arrange to compile and run test-signal-c++.
23796         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
23797         gl_MODULE_INDICATOR.
23798
23799         Tests of module 'search' in C++ mode.
23800         * tests/test-search-c++.cc: New file.
23801         * modules/search-tests (Files): Add it and tests/signature.h.
23802         (Depends-on): Add ansi-c++-opt.
23803         (Makefile.am): Arrange to compile and run test-search-c++.
23804         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
23805         gl_MODULE_INDICATOR.
23806
23807         Tests of module 'math' in C++ mode.
23808         * tests/test-math-c++.cc: New file.
23809         * modules/math-tests (Files): Add it and tests/signature.h.
23810         (Depends-on): Add ansi-c++-opt.
23811         (Makefile.am): Arrange to compile and run test-math-c++.
23812         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
23813
23814         Tests of module 'locale' in C++ mode.
23815         * tests/test-locale-c++.cc: New file.
23816         * modules/locale-tests (Files): Add it and tests/signature.h.
23817         (Depends-on): Add ansi-c++-opt.
23818         (Makefile.am): Arrange to compile and run test-locale-c++.
23819         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
23820         gl_MODULE_INDICATOR.
23821
23822         Tests of module 'langinfo' in C++ mode.
23823         * tests/test-langinfo-c++.cc: New file.
23824         * modules/langinfo-tests (Files): Add it and tests/signature.h.
23825         (Depends-on): Add ansi-c++-opt.
23826         (Makefile.am): Arrange to compile and run test-langinfo-c++.
23827         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
23828         gl_MODULE_INDICATOR.
23829
23830         Tests of module 'iconv-h' in C++ mode.
23831         * tests/test-iconv-h-c++.cc: New file.
23832         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
23833         (Depends-on): Add ansi-c++-opt.
23834         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
23835
23836         Tests of module 'glob' in C++ mode.
23837         * tests/test-glob-c++.cc: New file.
23838         * modules/glob-tests (Files): Add it.
23839         (Depends-on): Add ansi-c++-opt.
23840         (Makefile.am): Arrange to compile and run test-glob-c++.
23841
23842         Tests of module 'fcntl-h' in C++ mode.
23843         * tests/test-fcntl-h-c++.cc: New file.
23844         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
23845         (Depends-on): Add ansi-c++-opt.
23846         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
23847         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
23848         gl_MODULE_INDICATOR.
23849
23850         Tests of module 'dirent' in C++ mode.
23851         * tests/test-dirent-c++.cc: New file.
23852         * modules/dirent-tests (Files): Add it and tests/signature.h.
23853         (Depends-on): Add ansi-c++-opt.
23854         (Makefile.am): Arrange to compile and run test-dirent-c++.
23855         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
23856         gl_MODULE_INDICATOR.
23857
23858         New module 'ansi-c++-opt'.
23859         * modules/ansi-c++-opt: New file.
23860         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
23861
23862         Document C++ namespace mode.
23863         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
23864
23865         wctype: Avoid #define replacements in C++ mode.
23866         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
23867         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
23868         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
23869         In C++, define a namespaced alias symbol.
23870         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
23871         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
23872         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
23873         rule.
23874
23875         wchar: Avoid #define replacements in C++ mode.
23876         * lib/wchar.in.h: Include c++defs.h.
23877         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
23878         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
23879         symbol.
23880         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
23881         * modules/wchar (Depends-on): Add c++defs.
23882         (Makefile.am): Update wchar.h rule.
23883
23884         unistd: Avoid #define replacements in C++ mode.
23885         * lib/unistd.in.h: Include c++defs.h.
23886         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
23887         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
23888         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
23889         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
23890         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
23891         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
23892         symbol.
23893         (environ): Update.
23894         * modules/unistd (Depends-on): Add c++defs.
23895         (Makefile.am): Update unistd.h rule.
23896
23897         time: Avoid #define replacements in C++ mode.
23898         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
23899         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
23900         define a namespaced alias symbol.
23901         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
23902         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
23903         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
23904         * modules/time (Depends-on): Add c++defs, warn-on-use.
23905         (Makefile.am): Update time.h rule.
23906         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
23907         * modules/nanosleep (configure.ac): Likewise.
23908         * modules/strptime (configure.ac): Likewise.
23909         * modules/timegm (configure.ac): Likewise.
23910
23911         sys_time: Avoid #define replacements in C++ mode.
23912         * lib/sys_time.in.h: Include c++defs.h.
23913         (gettimeofday): In C++, define a namespaced alias symbol.
23914         * modules/sys_time (Depends-on): Add c++defs.
23915         (Makefile.am): Update sys/time.h rule.
23916
23917         sys_stat: Avoid #define replacements in C++ mode.
23918         * lib/sys_stat.in.h: Include c++defs.h.
23919         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
23920         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
23921         namespaced alias symbol.
23922         In C++, define a namespaced alias symbol.
23923         * modules/sys_stat (Depends-on): Add c++defs.
23924         (Makefile.am): Update sys/stat.h rule.
23925
23926         sys_socket: Avoid #define replacements in C++ mode.
23927         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
23928         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
23929         definitions also when the system has a <sys/socket.h>.
23930         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
23931         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
23932         In C++, define a namespaced alias symbol.
23933         * modules/sys_socket (Depends-on): Add c++defs.
23934         (Makefile.am): Update sys/socket.h rule.
23935
23936         sys_select: Avoid #define replacements in C++ mode.
23937         * lib/sys_select.in.h: Include c++defs.h. Enable the function
23938         definitions also when the system has a <sys/select.h>.
23939         (select): In C++, define a namespaced alias symbol.
23940         * modules/sys_select (Depends-on): Add c++defs.
23941         (Makefile.am): Update sys/select.h rule.
23942
23943         sys_ioctl: Avoid #define replacements in C++ mode.
23944         * lib/sys_ioctl.in.h: Include c++defs.h.
23945         (ioctl): In C++, define a namespaced alias symbol.
23946         * modules/sys_ioctl (Depends-on): Add c++defs.
23947         (Makefile.am): Update sys/ioctl.h rule.
23948
23949         string: Avoid #define replacements in C++ mode.
23950         * lib/string.in.h: Include c++defs.h.
23951         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
23952         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
23953         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
23954         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
23955         strsignal, strverscmp): In C++, define a namespaced alias symbol.
23956         * modules/string (Depends-on): Add c++defs.
23957         (Makefile.am): Update string.h rule.
23958
23959         stdlib: Avoid #define replacements in C++ mode.
23960         * lib/stdlib.in.h: Include c++defs.h.
23961         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
23962         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
23963         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
23964         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
23965         symbol.
23966         * modules/stdlib (Depends-on): Add c++defs.
23967         (Makefile.am): Update stdlib.h rule.
23968
23969         stdio: Avoid #define replacements in C++ mode.
23970         * lib/stdio.in.h: Include c++defs.h.
23971         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
23972         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
23973         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
23974         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
23975         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
23976         namespaced alias symbol.
23977         * modules/stdio (Depends-on): Add c++defs.
23978         (Makefile.am): Update stdio.h rule.
23979
23980         spawn: Avoid #define replacements in C++ mode.
23981         * lib/spawn.in.h: Include c++defs.h.
23982         (posix_spawn, posix_spawnp, posix_spawnattr_init,
23983         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
23984         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
23985         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
23986         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
23987         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
23988         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23989         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
23990         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
23991         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
23992         In C++, define a namespaced alias symbol.
23993         * modules/spawn (Depends-on): Add c++defs.
23994         (Makefile.am): Update spawn.h rule.
23995
23996         signal: Avoid #define replacements in C++ mode.
23997         * lib/signal.in.h: Include c++defs.h.
23998         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
23999         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
24000         namespaced alias symbol.
24001         * modules/signal (Depends-on): Add c++defs.
24002         (Makefile.am): Update signal.h rule.
24003
24004         search: Avoid #define replacements in C++ mode.
24005         * lib/search.in.h: Include c++defs.h.
24006         (_gl_search_compar_fn, _gl_search_action_fn): New types.
24007         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
24008         symbol.
24009         * modules/search (Depends-on): Add c++defs.
24010         (Makefile.am): Update search.h rule.
24011
24012         math: Avoid #define replacements in C++ mode.
24013         * lib/math.in.h: Include c++defs.h.
24014         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
24015         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
24016         trunc, truncl): In C++, define a namespaced alias symbol.
24017         * modules/math (Depends-on): Add c++defs.
24018         (Makefile.am): Update math.h rule.
24019
24020         locale: Avoid #define replacements in C++ mode.
24021         * lib/locale.in.h: Include c++defs.h.
24022         (duplocale): In C++, define a namespaced alias symbol.
24023         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
24024         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
24025         * modules/locale (Depends-on): Add c++defs.
24026         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
24027
24028         langinfo: Avoid #define replacements in C++ mode.
24029         * lib/langinfo.in.h: Include c++defs.h.
24030         (nl_langinfo): In C++, define a namespaced alias symbol.
24031         * modules/langinfo (Depends-on): Add c++defs.
24032         (Makefile.am): Update langinfo.h rule.
24033
24034         iconv-h: Avoid #define replacements in C++ mode.
24035         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
24036         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
24037         symbol.
24038         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
24039         whenever iconv is present.
24040         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
24041         (Makefile.am): Update iconv.h rule.
24042
24043         glob: Avoid #define replacements in C++ mode.
24044         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
24045         (_gl_glob_errfunc_fn): New type.
24046         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
24047         symbol.
24048         * modules/glob (Depends-on): Add c++defs, warn-on-use.
24049         (Makefile.am): Update glob.h rule.
24050
24051         fcntl-h: Avoid #define replacements in C++ mode.
24052         * lib/fcntl.in.h: Include c++defs.h.
24053         (fcntl, open, openat): In C++, define a namespaced alias symbol.
24054         * modules/fcntl-h (Depends-on): Add c++defs.
24055         (Makefile.am): Update fcntl.h rule.
24056
24057         dirent: Avoid #define replacements in C++ mode.
24058         * lib/dirent.in.h: Include c++defs.h.
24059         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
24060         namespaced alias symbol.
24061         (dirfd): Update declaration.
24062         * modules/dirent (Depends-on): Add c++defs.
24063         (Makefile.am): Update dirent.h rule.
24064
24065         ctype: Make it usable in C++ code.
24066         * lib/ctype.in.h: Include c++defs.h.
24067         (isblank): Declare as extern "C".
24068         * modules/ctype (Depends-on): Add c++defs.
24069         (Makefile.am): Update ctype.h rule.
24070
24071         New module 'c++defs'.
24072         * modules/c++defs: New file.
24073         * build-aux/c++defs.h: New file.
24074         Reported by John W. Eaton <jwe@gnu.org>.
24075
24076 2010-03-07  Bruno Haible  <bruno@clisp.org>
24077
24078         logb: Provide missing declaration for Cygwin.
24079         * lib/math.in.h (logb): New declaration.
24080         * m4/logb.m4: New file.
24081         * modules/logb (Files): Add m4/logb.m4.
24082         (Depends-on): Add math.
24083         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
24084         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
24085         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
24086         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
24087         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
24088
24089 2010-03-07  Bruno Haible  <bruno@clisp.org>
24090
24091         Fix test-cond link error.
24092         * tests/test-cond.c: Include <stdio.h>.
24093
24094 2010-03-07  Bruno Haible  <bruno@clisp.org>
24095
24096         Fix test-dirent-safer link error.
24097         * modules/dirent-safer-tests (Makefile.am): Define
24098         test_dirent_safer_LDADD.
24099
24100 2010-03-07  Bruno Haible  <bruno@clisp.org>
24101
24102         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
24103         among default module list.
24104
24105 2010-03-07  Bruno Haible  <bruno@clisp.org>
24106
24107         Fix link error on platforms with GNU libiconv.
24108         * modules/unistr/u8-strcoll-tests (Makefile): Define
24109         test_u8_strcoll_LDADD.
24110         * modules/unistr/u16-strcoll-tests (Makefile): Define
24111         test_u16_strcoll_LDADD.
24112         * modules/unistr/u32-strcoll-tests (Makefile): Define
24113         test_u32_strcoll_LDADD.
24114
24115 2010-03-07  Bruno Haible  <bruno@clisp.org>
24116
24117         Use POSIX declarations for socket functions.
24118         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
24119         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
24120         rpl_sendto): Change declaration to match POSIX.
24121         * lib/connect.c (rpl_connect): Likewise.
24122         * lib/accept.c (rpl_accept): Likewise.
24123         * lib/bind.c (rpl_bind): Likewise.
24124         * lib/getpeername.c (rpl_getpeername): Likewise.
24125         * lib/getsockname.c (rpl_getsockname): Likewise.
24126         * lib/recv.c (rpl_recv): Likewise.
24127         * lib/send.c (rpl_send): Likewise.
24128         * lib/recvfrom.c (rpl_recvfrom): Likewise.
24129         * lib/sendto.c (rpl_sendto): Likewise.
24130
24131 2010-03-06  Bruno Haible  <bruno@clisp.org>
24132
24133         Clarify access, euidaccess, faccessat.
24134         * doc/posix-functions/faccessat.texi: Mention security problem under
24135         "Other problems", not "Portability problems".
24136         * doc/posix-functions/access.texi: Likewise. Mention a related security
24137         problem.
24138         * doc/glibc-functions/euidaccess.texi: Mention security problems.
24139         * lib/euidaccess.c: Add comments about platforms.
24140         * lib/unistd.in.h (access, euidaccess): Add warnings.
24141
24142 2010-03-07  Bruno Haible  <bruno@clisp.org>
24143
24144         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
24145         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
24146         (POSIX_SPAWN_SETSCHEDULER): Likewise.
24147         (POSIX_SPAWN_USEVFORK): Define in a way that works when
24148         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
24149         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
24150         declare when POSIX_SPAWN_SETSCHEDULER is zero.
24151         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
24152         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
24153         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
24154         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
24155         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
24156         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
24157         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
24158         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
24159         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
24160         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
24161         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
24162         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
24163         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
24164         Likewise.
24165         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
24166         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
24167         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
24168         Likewise.
24169         * tests/test-spawn.c (main): Make it work when
24170         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
24171
24172 2010-03-07  Bruno Haible  <bruno@clisp.org>
24173
24174         Fix incorrect Makefile.am generation in German locale.
24175         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24176         Execute sed command with character range in C locale.
24177
24178 2010-03-06  Bruno Haible  <bruno@clisp.org>
24179
24180         Tests for module 'iconv-h'.
24181         * modules/iconv-h-tests: New file.
24182         * tests/test-iconv-h.c: New file.
24183
24184         New module 'iconv-h'.
24185         * modules/iconv-h: New file.
24186         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
24187         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
24188         (configure.ac): Remove gl_ICONV_H.
24189         (Makefile.am): Remove rule for iconv.h.
24190
24191 2010-03-06  Bruno Haible  <bruno@clisp.org>
24192
24193         More consistent naming of *.m4 files.
24194         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
24195         * modules/wctype (Files): Update.
24196
24197         More consistent naming of *.m4 files.
24198         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
24199         * modules/wchar (Files): Update.
24200
24201 2010-03-06  Jim Meyering  <meyering@redhat.com>
24202
24203         euidaccess: relax license to LGPLv2+
24204         * modules/euidaccess (License): Relax to LGPLv2+.
24205
24206 2010-03-06  Bruno Haible  <bruno@clisp.org>
24207
24208         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
24209         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
24210         (Makefile.am): Augment lib_SOURCES instead.
24211
24212 2010-03-04  Jim Meyering  <meyering@redhat.com>
24213
24214         utime: remove obsolete module
24215         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
24216         unnecessary for years, and has been marked as obsolete for 10 months.
24217         * modules/utime: Remove file.
24218         * lib/utime.c: Remove file.
24219         * m4/utime.m4: Remove file.
24220         * m4/utimes-null.m4: Remove file.
24221         * doc/posix-functions/utime.texi (utime): Remove reference to
24222         the module.  Move the sole "fixed by gnulib" item into the
24223         "problems not fixed by Gnulib" list.
24224         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
24225
24226 2010-03-05  Simon Josefsson  <simon@josefsson.org>
24227
24228         * modules/exit (License): Relax license to LGPLv2+.
24229         (Status): Mark as obsolete.
24230         * NEWS: Mention deprecated 'exit' module.
24231         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
24232         of now obsolete 'exit'.
24233
24234 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24235
24236         fts-lgpl: remove unused module
24237         * modules/fts-lgpl: Remove.
24238         * MODULES.html.sh (func_all_modules): Adjust.
24239         * check-module (find_included_lib_files): Adjust.
24240         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
24241
24242 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
24243
24244         copy-acl: enhance Solaris ACL error handling
24245         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
24246         * lib/set-mode-acl.c (qset_acl): Likewise.
24247
24248 2010-03-02  Bruno Haible  <bruno@clisp.org>
24249
24250         spawn: Don't override the system defined values on FreeBSD 8.
24251         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
24252         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
24253         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
24254         if HAVE_POSIX_SPAWN is 1.
24255         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
24256
24257 2010-03-01  Bruno Haible  <bruno@clisp.org>
24258
24259         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
24260         regarding Automake.
24261
24262 2010-02-25  Bruno Haible  <bruno@clisp.org>
24263
24264         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
24265         * gnulib-tool: Define 'echo' as a function only before the ksh alias
24266         setting, not afterwards.
24267         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
24268
24269 2010-02-24  Eric Blake  <eblake@redhat.com>
24270
24271         bootstrap, git-version-gen: use timestamp
24272         * build-aux/git-version-gen (scriptversion): Force UTC.
24273         * build-aux/bootstrap (scriptversion): New variable.
24274
24275         bootstrap: allow older git
24276         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
24277         older than 1.6.4.  Requested by the libvirt project.
24278
24279 2010-02-23  Eric Blake  <eblake@redhat.com>
24280
24281         warn-on-use: work with old autoconf
24282         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
24283         AS_VAR semantics of autoconf 2.60.
24284         Reported by Bruno Haible.
24285
24286         bootstrap: improve some comments
24287         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
24288         clarification comments.
24289
24290         gettimeofday: provide correct function
24291         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
24292         when replacement is declared, otherwise provide gettimeofday.
24293         Reported by Michael Goffioul.
24294
24295 2010-02-23  Jim Meyering  <meyering@redhat.com>
24296
24297         lib-ignore: relax license to "unlimited", not LGPLv2+
24298         * modules/lib-ignore (License): Relax to "unlimited".
24299
24300 2010-02-23  Jim Meyering  <meyering@redhat.com>
24301
24302         lib-ignore: relax license to LGPLv2+
24303         * modules/lib-ignore (License): Relax to LGPLv2+.
24304
24305 2010-02-22  Eric Blake  <eblake@redhat.com>
24306
24307         lseek: avoid bash 3.2 broken pipe bug
24308         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
24309         warning from bash 3.2.
24310         Reported by Ben Pfaff, with analysis from Bruno Haible.
24311
24312         bootstrap: support non-FSF copyright holder
24313         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
24314         bootstrap.conf override of COPYRIGHT_HOLDER.
24315         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
24316
24317         bootstrap: interoperate with gettext 0.14.1
24318         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
24319
24320         bootstrap: allow for alternate submodule location
24321         * build-aux/bootstrap (gnulib_path): New variable; use instead of
24322         hardcoding submodule location.
24323         (gnulib_mk): Allow direct use of Makefile.am.
24324
24325         bootstrap: use GNULIB_SRCDIR to reduce disk usage
24326         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
24327         rather than reconfiguring where the submodule points.
24328
24329         gettimeofday: restore support for platforms that lack function
24330         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
24331         replacement if function is missing.
24332         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
24333         * modules/sys_time (Makefile.am): Substitute it.
24334         * lib/sys_time.in.h (gettimeofday): Check it.
24335         Reported by Michael Goffioul.
24336
24337 2010-02-21  Bruno Haible  <bruno@clisp.org>
24338
24339         * lib/stdio.in.h (obstack_printf): Fix typo.
24340
24341 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
24342
24343         vc-list-files: use bzr ls's -R option
24344         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
24345         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
24346
24347 2010-02-21  Jim Meyering  <meyering@redhat.com>
24348
24349         init.sh: fix EXEEXT shims to work also for names like test-prog
24350         * tests/init.sh: Re-exec a better shell, when needed.
24351         If the current shell lacks support for posix $(...), an init.sh-using
24352         test will now try to find a shell that supports that.  If EXEEXT is
24353         nonempty, we also require support for hyphen-in-alias-name and shell
24354         substitutions like ${var#glob}.  Failure to find such a shell results
24355         in a skipped test.
24356
24357 2010-02-21  Bruno Haible  <bruno@clisp.org>
24358
24359         Really work around around "broken pipe" error message from bash 3.2.
24360         * gnulib-tool (func_reset_sigpipe): Remove function.
24361         (echo): In bash 3.2, define to a function that uses printf.
24362         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
24363
24364 2010-02-20  Bruno Haible  <bruno@clisp.org>
24365
24366         Restore support for automake 1.9.6 with autoconf 2.61.
24367         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
24368         Reported by James Youngman <jay@gnu.org>.
24369
24370 2010-02-20  Bruno Haible  <bruno@clisp.org>
24371
24372         Improve *printf warning condition.
24373         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
24374         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
24375         and the function is overridden due to SIGPIPE emulation.
24376
24377 2010-02-20  Bruno Haible  <bruno@clisp.org>
24378
24379         * lib/stdio.in.h: Tweak comments.
24380
24381 2010-02-19  Bruno Haible  <bruno@clisp.org>
24382
24383         Make it easier to find modules. New gnulib-tool option '--find'.
24384         * gnulib-tool: New option --find.
24385         (func_usage): Document it.
24386         (func_sanitize_modulelist): New function, extracted from
24387         func_all_modules.
24388         (func_all_modules): Invoke it.
24389         * doc/gnulib-tool.texi (Which modules?): New node.
24390
24391 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
24392
24393         * lib/sys_select.in.h: Provide select replacement even if
24394         sys/select.h exists on a system, for Interix.
24395
24396 2010-02-18  Jim Meyering  <meyering@redhat.com>
24397
24398         init.sh: don't use $(...) just yet
24399         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
24400         to accommodate e.g., Solaris' /bin/sh.
24401
24402 2010-02-17  Bruno Haible  <bruno@clisp.org>
24403
24404         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
24405         Reported by Ludovic Courtès <ludo@gnu.org>.
24406
24407 2010-02-16  Simon Josefsson  <simon@josefsson.org>
24408
24409         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
24410         linking with -lintl.
24411
24412 2010-02-17  Simon Josefsson  <simon@josefsson.org>
24413
24414         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
24415         if not provided by the system's netdb.h.  Reported by
24416         ludo@gnu.org (Ludovic Courtès).
24417
24418 2010-02-15  Jim Meyering  <meyering@redhat.com>
24419
24420         init.sh: improve portability and efficiency
24421         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
24422         "dummy" in a for loop.
24423         Use '!', not '^' to select the complement of a character set used
24424         in a "case" statement.
24425         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
24426         Suggestions from Eric Blake.
24427
24428         init.sh: automatically accommodate programs with the .exe suffix
24429         Automatically arrange for an invocation of "prog" to execute the
24430         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
24431         may use the simpler "prog", yet still work when built on a system
24432         that requires specifying the added suffix.
24433         Do this by constructing a function named "prog" that invokes
24434         "prog.exe" for each .exe file in selected directories.
24435         * tests/init.sh (find_exe_basenames_): New function.
24436         (create_exe_shim_functions_): New function.
24437         (path_prepend_): Use it.
24438
24439         maint.mk: mark syntax-check sc_*.m rules as .PHONY
24440         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
24441         "make -t syntax-check" doesn't create a ton of sc_*.m files.
24442
24443 2010-02-14  Jim Meyering  <meyering@redhat.com>
24444
24445         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
24446         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
24447         (sc_prohibit_hash_pjw_without_use): New rule.
24448
24449         maint.mk: allow the default upload destination dir to be overridden
24450         * top/maint.mk (upload_dest_dir_): Define with a default that
24451         preserves the status quo.
24452         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
24453         Reported by Peter Simons.
24454
24455         maint.mk: prohibit inclusion of "hash.h" without_use
24456         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
24457
24458 2010-02-10  Jim Meyering  <meyering@redhat.com>
24459
24460         maint.mk: prohibit inclusion of "ignore-value.h" without_use
24461         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
24462
24463 2010-02-09  Eric Blake  <ebb9@byu.net>
24464         and Bruno Haible  <bruno@clisp.org>
24465
24466         obstack-printf-posix: ensure declaration
24467         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
24468         extracted from gl_FUNC_OBSTACK_PRINTF.
24469         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
24470         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
24471         Likewise.
24472         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
24473         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
24474         0.
24475
24476 2010-02-08  Bruno Haible  <bruno@clisp.org>
24477
24478         gnulib-tool: Fix typo in 2010-02-07 commit.
24479         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
24480         Reported by Eric Blake.
24481
24482 2010-02-07  Bruno Haible  <bruno@clisp.org>
24483
24484         gnulib-tool: Fix up caching patches.
24485         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
24486         option --no-cache. Use associative arrays when supported by the shell.
24487         (sed_comments): New variable.
24488         (modcache): Renamed from do_cache.
24489         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
24490         abbreviate unnecessarily.
24491         (have_associative): New variable.
24492         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
24493         way also for ksh and zsh.
24494         (func_init_sed_convert_to_cache_statements): New function, extracted
24495         from func_cache_lookup_module. Add support for associative arrays.
24496         Don't set the c_MODULE_cached variable here. Ignore all lines before
24497         the first field header. Remove only the final newline, not all trailing
24498         newlines. Support empty fields correctly. Limit the use of 'eval' to
24499         assignments.
24500         (func_get_description, func_get_status, func_get_notice,
24501         func_get_applicability, func_get_filelist, func_get_dependencies,
24502         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
24503         func_get_automake_snippet, func_get_include_directive,
24504         func_get_link_directive, func_get_license, func_get_maintainer):
24505         Update documentation. List the unoptimized code first. Add support for
24506         associative arrays. Limit the use of 'eval' to assignments.
24507         (func_get_applicability): Undo stylistic pessimisations.
24508         (func_get_automake_snippet, func_get_include_directive): Reduce code
24509         duplication.
24510         (func_modules_transitive_closure, func_modules_add_dummy,
24511         func_modules_notice, func_modules_to_filelist, func_add_file,
24512         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
24513         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
24514         func_create_testdir, func_create_megatestdir): Update documentation.
24515
24516 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24517
24518         * gnulib-tool (func_cache_lookup_module): Store the module name
24519         belonging to the cache variable; error out if two different
24520         module names map to the same cache variable name.
24521
24522 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24523
24524         gnulib-tool: Make caching optional.
24525         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
24526         Update matching short versions of --no-changelog.
24527         (func_usage): Update.
24528         (sed_extract_cache_prog): Renamed from ...
24529         (sed_extract_prog): ... this; revert to old extraction script.
24530         (func_get_description, func_get_status)
24531         (func_get_notice, func_get_applicability, func_get_filelist)
24532         (func_get_dependencies, func_get_autoconf_early_snippet)
24533         (func_get_autoconf_snippet, func_get_automake_snippet)
24534         (func_get_include_directive, func_get_link_directive)
24535         (func_get_license, func_get_maintainer): If $do_cache is false,
24536         use old, non-caching extraction scripts.
24537         Suggestion by Bruno Haible.
24538
24539 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24540
24541         gnulib-tool: cache module metainformation.
24542         * gnulib-tool (sed_extract_prog): Match newline before each
24543         header, and rewrite header to a shell variable suffix.
24544         (func_cache_var, func_cache_lookup_module): New functions,
24545         to turn a module name into a cache variable prefix, and to
24546         look up and cache module metainformation.
24547         (func_get_description, func_get_status)
24548         (func_get_notice, func_get_applicability, func_get_filelist)
24549         (func_get_dependencies, func_get_autoconf_early_snippet)
24550         (func_get_autoconf_snippet, func_get_automake_snippet)
24551         (func_get_include_directive, func_get_link_directive)
24552         (func_get_license, func_get_maintainer): Use
24553         func_cache_lookup_module.
24554
24555 2010-02-07  Bruno Haible  <bruno@clisp.org>
24556
24557         fnctl: Fix missing dependency.
24558         * modules/fcntl (Depends-on): Add getdtablesize.
24559         Reported by John W. Eaton <jwe@gnu.org>.
24560
24561 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24562
24563         Argp: fix recognition of short alias options.
24564
24565         * lib/argp-parse.c (convert_options): Fix improper use of
24566         `|' between character values.
24567         * tests/test-argp.c (group1_option): New alias option
24568         --read (-r).
24569         (group1_parser): Special handling for 'r'.
24570         (test15): New test case.
24571         (test_fun): Add test15.
24572         * tests/test-argp-2.sh: Update expected --help and --usage
24573         outputs.
24574
24575 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24576
24577         * tests/test-argp.c: Fix indentation.
24578
24579 2010-02-04  Eric Blake  <ebb9@byu.net>
24580
24581         gettimeofday: expose type of second argument
24582         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
24583         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
24584         * tests/test-gettimeofday.c: Use it to silence warning.
24585         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
24586         the issue.
24587
24588 2010-02-03  Jim Meyering  <meyering@redhat.com>
24589
24590         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
24591         * lib/regcomp.c (TYPE_SIGNED): Define.
24592         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
24593
24594         regcomp.c: avoid a new -Wshadow warning
24595         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
24596
24597 2010-02-01  Jim Meyering  <meyering@redhat.com>
24598
24599         removing useless parentheses in cpp #define directives
24600         For motivation, see commit c0221df4, "define STREQ(a,b)
24601         consistently, removing useless parentheses"
24602         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
24603         * lib/mountlist.c (MNT_IGNORE): Likewise.
24604         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
24605
24606 2010-02-01  Eric Blake  <ebb9@byu.net>
24607
24608         sys_time: use link-warning
24609         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
24610         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
24611         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
24612         * modules/sys_time (Depends-on): Add warn-on-use.
24613         (Makefile.am): Always build replacement.
24614         (configure.ac): Update substitutions.
24615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
24616         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
24617         bother with SYS_TIME_H.
24618         * modules/gettimeofday (configure.ac): Declare indicator.
24619         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
24620         in use.
24621
24622         closein-tests: silence compiler warning
24623         * tests/test-closein.c (main): Ignore fread result.
24624         * modules/closein-tests (Depends-on): Add ignore-value.
24625
24626         tests: silence warning about system return
24627         * tests/test-areadlink-with-size.c (main): Ignore system result.
24628         * tests/test-areadlink.c (main): Likewise.
24629         * tests/test-areadlinkat-with-size.c (main): Likewise.
24630         * tests/test-areadlinkat.c (main): Likewise.
24631         * tests/test-canonicalize-lgpl.c (main): Likewise.
24632         * tests/test-canonicalize.c (main): Likewise.
24633         * tests/test-chown.c (main): Likewise.
24634         * tests/test-fchownat.c (main): Likewise.
24635         * tests/test-fdutimensat.c (main): Likewise.
24636         * tests/test-fstatat.c (main): Likewise.
24637         * tests/test-futimens.c (main): Likewise.
24638         * tests/test-lchown.c (main): Likewise.
24639         * tests/test-link.c (main): Likewise.
24640         * tests/test-linkat.c (main): Likewise.
24641         * tests/test-lstat.c (main): Likewise.
24642         * tests/test-mkdir.c (main): Likewise.
24643         * tests/test-mkdirat.c (main): Likewise.
24644         * tests/test-mkfifo.c (main): Likewise.
24645         * tests/test-mkfifoat.c (main): Likewise.
24646         * tests/test-mknod.c (main): Likewise.
24647         * tests/test-readlink.c (main): Likewise.
24648         * tests/test-remove.c (main): Likewise.
24649         * tests/test-rename.c (main): Likewise.
24650         * tests/test-renameat.c (main): Likewise.
24651         * tests/test-rmdir.c (main): Likewise.
24652         * tests/test-symlink.c (main): Likewise.
24653         * tests/test-symlinkat.c (main): Likewise.
24654         * tests/test-unlink.c (main): Likewise.
24655         * tests/test-unlinkat.c (main): Likewise.
24656         * tests/test-utimens.c (main): Likewise.
24657         * tests/test-utimensat.c (main): Likewise.
24658         * modules/areadlink-tests (Depends-on): Add ignore-value.
24659         * modules/areadlink-with-size-tests (Depends-on): Likewise.
24660         * modules/areadlinkat-tests (Depends-on): Likewise.
24661         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
24662         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24663         * modules/canonicalize-tests (Depends-on): Likewise.
24664         * modules/chown-tests (Depends-on): Likewise.
24665         * modules/fdutimensat-tests (Depends-on): Likewise.
24666         * modules/futimens-tests (Depends-on): Likewise.
24667         * modules/lchown-tests (Depends-on): Likewise.
24668         * modules/link-tests (Depends-on): Likewise.
24669         * modules/linkat-tests (Depends-on): Likewise.
24670         * modules/lstat-tests (Depends-on): Likewise.
24671         * modules/mkdir-tests (Depends-on): Likewise.
24672         * modules/mkfifo-tests (Depends-on): Likewise.
24673         * modules/mkfifoat-tests (Depends-on): Likewise.
24674         * modules/mknod-tests (Depends-on): Likewise.
24675         * modules/openat-tests (Depends-on): Likewise.
24676         * modules/readlink-tests (Depends-on): Likewise.
24677         * modules/remove-tests (Depends-on): Likewise.
24678         * modules/rename-tests (Depends-on): Likewise.
24679         * modules/renameat-tests (Depends-on): Likewise.
24680         * modules/rmdir-tests (Depends-on): Likewise.
24681         * modules/symlink-tests (Depends-on): Likewise.
24682         * modules/symlinkat-tests (Depends-on): Likewise.
24683         * modules/unlink-tests (Depends-on): Likewise.
24684         * modules/utimens-tests (Depends-on): Likewise.
24685         * modules/utimensat-tests (Depends-on): Likewise.
24686
24687 2010-01-31  Bruno Haible  <bruno@clisp.org>
24688
24689         Perform the same test for many <math.h> functions.
24690         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
24691         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
24692         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
24693         of gl_MATHFUNC.
24694         * modules/acos (configure.ac): Likewise.
24695         * modules/asin (configure.ac): Likewise.
24696         * modules/atan (configure.ac): Likewise.
24697         * modules/atan2 (configure.ac): Likewise.
24698         * modules/cbrt (configure.ac): Likewise.
24699         * modules/copysign (configure.ac): Likewise.
24700         * modules/cos (configure.ac): Likewise.
24701         * modules/cosh (configure.ac): Likewise.
24702         * modules/erf (configure.ac): Likewise.
24703         * modules/erfc (configure.ac): Likewise.
24704         * modules/exp (configure.ac): Likewise.
24705         * modules/fmod (configure.ac): Likewise.
24706         * modules/hypot (configure.ac): Likewise.
24707         * modules/j0 (configure.ac): Likewise.
24708         * modules/j1 (configure.ac): Likewise.
24709         * modules/jn (configure.ac): Likewise.
24710         * modules/lgamma (configure.ac): Likewise.
24711         * modules/log (configure.ac): Likewise.
24712         * modules/log10 (configure.ac): Likewise.
24713         * modules/log1p (configure.ac): Likewise.
24714         * modules/pow (configure.ac): Likewise.
24715         * modules/remainder (configure.ac): Likewise.
24716         * modules/sin (configure.ac): Likewise.
24717         * modules/sinh (configure.ac): Likewise.
24718         * modules/tan (configure.ac): Likewise.
24719         * modules/tanh (configure.ac): Likewise.
24720         * modules/y0 (configure.ac): Likewise.
24721         * modules/y1 (configure.ac): Likewise.
24722         * modules/yn (configure.ac): Likewise.
24723         Suggested by Paolo Bonzini.
24724
24725 2010-01-31  Bruno Haible  <bruno@clisp.org>
24726
24727         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
24728
24729 2010-01-31  Bruno Haible  <bruno@clisp.org>
24730
24731         Work around getdelim() bug on FreeBSD 8.0.
24732         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
24733         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
24734         not work.
24735         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
24736         is 1.
24737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
24738         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
24739         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
24740         a non-zero size.
24741         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
24742
24743 2010-01-31  Bruno Haible  <bruno@clisp.org>
24744
24745         Work around getline() bug on FreeBSD 8.0.
24746         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
24747         and a non-zero size.
24748         * tests/test-getline.c (main): Likewise.
24749         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
24750         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
24751
24752 2010-01-28  Eric Blake  <ebb9@byu.net>
24753
24754         regex: fix build failure
24755         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
24756         platforms.
24757
24758 2010-01-28  Jim Meyering  <meyering@redhat.com>
24759
24760         regex: do not ignore memory allocation failure
24761         * lib/regex_internal.c (create_cd_newstate): Detect
24762         re_node_set_init_copy failure.   Extracted from glibc commit
24763         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24764
24765         regex: sync more white-space changes from libc
24766         * lib/regex_internal.c: White-space only changes.
24767         * lib/regexec.c: Likewise.
24768
24769         regex: add many uses of __attribute_warn_unused_result__
24770         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
24771         * lib/regexec.c: Likewise.
24772         Extracted from a messy glibc commit.
24773
24774         regcomp.c: spelling and merge-artifact from glibc
24775         * lib/regcomp.c: Merge remainder of glibc's
24776         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24777
24778         regcomp.c: sync white-space changes from glibc
24779         * lib/regcomp.c: Merge to accommodate white space
24780         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24781
24782         regcomp.c: do not ignore internal return values
24783         * lib/regcomp.c: Do not ignore internal return values.
24784         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
24785         but without its white-space changes and spelling fixes.
24786
24787         regex_internal.h: define __attribute_warn_unused_result__
24788         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
24789
24790         maint: add a syntax-check rule to check for vulnerable Makefile.in
24791         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
24792
24793 2010-01-27  Jim Meyering  <meyering@redhat.com>
24794
24795         ncftpput-ftp: clean up spaces
24796         * build-aux/ncftpput-ftp: Make Copyright line consistent.
24797         Remove trailing blanks.
24798
24799 2010-01-27  Simon Josefsson  <simon@josefsson.org>
24800
24801         * build-aux/git-version-gen: Fix copyright statement.
24802         * build-aux/gnupload: Likewise.
24803         * tests/test-arcfour.c: Likewise.
24804         * tests/test-arctwo.c: Likewise.
24805         * tests/test-count-one-bits.c: Likewise.
24806         * tests/test-crc.c: Likewise.
24807         * tests/test-des.c: Likewise.
24808         * tests/test-gc-arcfour.c: Likewise.
24809         * tests/test-gc-arctwo.c: Likewise.
24810         * tests/test-gc-des.c: Likewise.
24811         * tests/test-gc-hmac-md5.c: Likewise.
24812         * tests/test-gc-hmac-sha1.c: Likewise.
24813         * tests/test-gc-md2.c: Likewise.
24814         * tests/test-gc-md4.c: Likewise.
24815         * tests/test-gc-md5.c: Likewise.
24816         * tests/test-gc-pbkdf2-sha1.c: Likewise.
24817         * tests/test-gc-rijndael.c: Likewise.
24818         * tests/test-gc-sha1.c: Likewise.
24819         * tests/test-gc.c: Likewise.
24820         * tests/test-gethostname.c: Likewise.
24821         * tests/test-gettimeofday.c: Likewise.
24822         * tests/test-hash.c: Likewise.
24823         * tests/test-hmac-md5.c: Likewise.
24824         * tests/test-hmac-sha1.c: Likewise.
24825         * tests/test-md2.c: Likewise.
24826         * tests/test-md4.c: Likewise.
24827         * tests/test-md5.c: Likewise.
24828         * tests/test-memchr.c: Likewise.
24829         * tests/test-memchr2.c: Likewise.
24830         * tests/test-memcmp.c: Likewise.
24831         * tests/test-memmem.c: Likewise.
24832         * tests/test-memrchr.c: Likewise.
24833         * tests/test-rawmemchr.c: Likewise.
24834         * tests/test-read-file.c: Likewise.
24835         * tests/test-rijndael.c: Likewise.
24836         * tests/test-sockets.c: Likewise.
24837         * tests/test-strchrnul.c: Likewise.
24838         * tests/test-strstr.c: Likewise.
24839         * tests/test-strtod.c: Likewise.
24840         * build-aux/ncftpput-ftp: Likewise.
24841
24842 2010-01-26  Eric Blake  <ebb9@byu.net>
24843
24844         ignore-value: update recommended header name
24845         * modules/ignore-value (Include): Only use <> for headers that
24846         exist in glibc.
24847
24848 2010-01-26  Jim Meyering  <meyering@redhat.com>
24849
24850         test-userspec.c: avoid compiler warnings
24851         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
24852         and "initialization discards qualifiers..." warnings.
24853         Put the first "uid" in its own scope, and make char* members "const".
24854
24855 2010-01-25  Bruno Haible  <bruno@clisp.org>
24856
24857         gnulib-tool: Make warning diagnostics consistent.
24858         * gnulib-tool (func_warning): New function.
24859         Use it everywhere where gnulib-tool produces output to stderr and it is
24860         not a fatal error.
24861
24862 2010-01-25  Bruno Haible  <bruno@clisp.org>
24863
24864         Fix test dependencies.
24865         * modules/xstrtol-tests (Depends-on): Add inttypes.
24866         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
24867
24868 2010-01-25 Pádraig Brady <P@draigBrady.com>
24869
24870         syntax-check: detect incorrect boolean macro values in config.h
24871         * modules/maintainer-makefile (configure.ac): Parameterize the location
24872         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
24873         The logic is from Eric Blake and the location indicated by Jim Meyering.
24874         Note the more natural CONFIG_HEADER name is prohibited by automake
24875         for backwards compatibility reasons.
24876         * top/maint.mk (sc_Wundef_boolean): New rule.
24877
24878 2010-01-25  Jim Meyering  <meyering@redhat.com>
24879
24880         bootstrap: detect MacOS 10.6's shasum, too
24881         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
24882         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
24883
24884 2010-01-23  Jim Meyering  <meyering@redhat.com>
24885
24886         xstrtoll: new module
24887         * modules/xstrtoll: New file.
24888         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
24889         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
24890         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
24891         ./configure fails if you use this module and lack "long long".
24892         * modules/xstrtoll-tests: New module.
24893         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
24894         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
24895         new init.sh-based test framework.
24896
24897 2010-01-24  Bruno Haible  <bruno@clisp.org>
24898
24899         Tests for module 'yn'.
24900         * modules/yn-tests: New file.
24901         * tests/test-yn.c: New file.
24902
24903         Tests for module 'y1'.
24904         * modules/y1-tests: New file.
24905         * tests/test-y1.c: New file.
24906
24907         Tests for module 'y0'.
24908         * modules/y0-tests: New file.
24909         * tests/test-y0.c: New file.
24910
24911         Tests for module 'tanh'.
24912         * modules/tanh-tests: New file.
24913         * tests/test-tanh.c: New file.
24914
24915         Tests for module 'tan'.
24916         * modules/tan-tests: New file.
24917         * tests/test-tan.c: New file.
24918
24919         Tests for module 'sqrt'.
24920         * modules/sqrt-tests: New file.
24921         * tests/test-sqrt.c: New file.
24922
24923         Tests for module 'sinh'.
24924         * modules/sinh-tests: New file.
24925         * tests/test-sinh.c: New file.
24926
24927         Tests for module 'sin'.
24928         * modules/sin-tests: New file.
24929         * tests/test-sin.c: New file.
24930
24931         Tests for module 'rint'.
24932         * modules/rint-tests: New file.
24933         * tests/test-rint.c: New file.
24934
24935         Tests for module 'remainder'.
24936         * modules/remainder-tests: New file.
24937         * tests/test-remainder.c: New file.
24938
24939         Tests for module 'pow'.
24940         * modules/pow-tests: New file.
24941         * tests/test-pow.c: New file.
24942
24943         Tests for module 'nextafter'.
24944         * modules/nextafter-tests: New file.
24945         * tests/test-nextafter.c: New file.
24946
24947         Tests for module 'modf'.
24948         * modules/modf-tests: New file.
24949         * tests/test-modf.c: New file.
24950
24951         Tests for module 'logb'.
24952         * modules/logb-tests: New file.
24953         * tests/test-logb.c: New file.
24954
24955         Tests for module 'log1p'.
24956         * modules/log1p-tests: New file.
24957         * tests/test-log1p.c: New file.
24958
24959         Tests for module 'log10'.
24960         * modules/log10-tests: New file.
24961         * tests/test-log10.c: New file.
24962
24963         Tests for module 'log'.
24964         * modules/log-tests: New file.
24965         * tests/test-log.c: New file.
24966
24967         Tests for module 'lgamma'.
24968         * modules/lgamma-tests: New file.
24969         * tests/test-lgamma.c: New file.
24970
24971         Tests for module 'ldexp'.
24972         * modules/ldexp-tests: New file.
24973         * tests/test-ldexp.c: New file.
24974
24975         Tests for module 'jn'.
24976         * modules/jn-tests: New file.
24977         * tests/test-jn.c: New file.
24978
24979         Tests for module 'j1'.
24980         * modules/j1-tests: New file.
24981         * tests/test-j1.c: New file.
24982
24983         Tests for module 'j0'.
24984         * modules/j0-tests: New file.
24985         * tests/test-j0.c: New file.
24986
24987         Tests for module 'hypot'.
24988         * modules/hypot-tests: New file.
24989         * tests/test-hypot.c: New file.
24990
24991         Tests for module 'fmod'.
24992         * modules/fmod-tests: New file.
24993         * tests/test-fmod.c: New file.
24994
24995         Tests for module 'fabs'.
24996         * modules/fabs-tests: New file.
24997         * tests/test-fabs.c: New file.
24998
24999         Tests for module 'exp'.
25000         * modules/exp-tests: New file.
25001         * tests/test-exp.c: New file.
25002
25003         Tests for module 'erfc'.
25004         * modules/erfc-tests: New file.
25005         * tests/test-erfc.c: New file.
25006
25007         Tests for module 'erf'.
25008         * modules/erf-tests: New file.
25009         * tests/test-erf.c: New file.
25010
25011         Tests for module 'cosh'.
25012         * modules/cosh-tests: New file.
25013         * tests/test-cosh.c: New file.
25014
25015         Tests for module 'cos'.
25016         * modules/cos-tests: New file.
25017         * tests/test-cos.c: New file.
25018
25019         Tests for module 'copysign'.
25020         * modules/copysign-tests: New file.
25021         * tests/test-copysign.c: New file.
25022
25023         Tests for module 'cbrt'.
25024         * modules/cbrt-tests: New file.
25025         * tests/test-cbrt.c: New file.
25026
25027         Tests for module 'atan2'.
25028         * modules/atan2-tests: New file.
25029         * tests/test-atan2.c: New file.
25030
25031         Tests for module 'atan'.
25032         * modules/atan-tests: New file.
25033         * tests/test-atan.c: New file.
25034
25035         Tests for module 'asin'.
25036         * modules/asin-tests: New file.
25037         * tests/test-asin.c: New file.
25038
25039         Tests for module 'acos'.
25040         * modules/acos-tests: New file.
25041         * tests/test-acos.c: New file.
25042
25043 2010-01-24  Bruno Haible  <bruno@clisp.org>
25044
25045         Fix tests for common <math.h> functions.
25046         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
25047         code snippet that references the function pointer, rather than merely
25048         calling the function. Substitute the FUNC_LIBM variable.
25049         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
25050         * modules/acos (configure.ac): Likewise.
25051         * modules/asin (configure.ac): Likewise.
25052         * modules/atan (configure.ac): Likewise.
25053         * modules/atan2 (configure.ac): Likewise.
25054         * modules/cbrt (configure.ac): Likewise.
25055         * modules/copysign (configure.ac): Likewise.
25056         * modules/cos (configure.ac): Likewise.
25057         * modules/cosh (configure.ac): Likewise.
25058         * modules/erf (configure.ac): Likewise.
25059         * modules/erfc (configure.ac): Likewise.
25060         * modules/exp (configure.ac): Likewise.
25061         * modules/fabs (configure.ac): Likewise.
25062         * modules/fmod (configure.ac): Likewise.
25063         * modules/hypot (configure.ac): Likewise.
25064         * modules/j0 (configure.ac): Likewise.
25065         * modules/j1 (configure.ac): Likewise.
25066         * modules/jn (configure.ac): Likewise.
25067         * modules/ldexp (configure.ac): Likewise.
25068         * modules/lgamma (configure.ac): Likewise.
25069         * modules/log (configure.ac): Likewise.
25070         * modules/log10 (configure.ac): Likewise.
25071         * modules/log1p (configure.ac): Likewise.
25072         * modules/logb (configure.ac): Likewise.
25073         * modules/modf (configure.ac): Likewise.
25074         * modules/nextafter (configure.ac): Likewise.
25075         * modules/pow (configure.ac): Likewise.
25076         * modules/remainder (configure.ac): Likewise.
25077         * modules/rint (configure.ac): Likewise.
25078         * modules/sin (configure.ac): Likewise.
25079         * modules/sinh (configure.ac): Likewise.
25080         * modules/tan (configure.ac): Likewise.
25081         * modules/tanh (configure.ac): Likewise.
25082         * modules/y0 (configure.ac): Likewise.
25083         * modules/y1 (configure.ac): Likewise.
25084         * modules/yn (configure.ac): Likewise.
25085
25086 2010-01-24  Bruno Haible  <bruno@clisp.org>
25087
25088         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
25089         * tests/test-acosl.c (x): New variable.
25090         (main): Store argument in x and fetch it from x.
25091         * tests/test-asinl.c (x): New variable.
25092         (main): Store argument in x and fetch it from x.
25093         * tests/test-atanl.c (x): New variable.
25094         (main): Store argument in x and fetch it from x.
25095         * tests/test-cosl.c (x): New variable.
25096         (main): Store argument in x and fetch it from x.
25097         * tests/test-expl.c (x): New variable.
25098         (main): Store argument in x and fetch it from x.
25099         * tests/test-logl.c (x): New variable.
25100         (main): Store argument in x and fetch it from x.
25101         * tests/test-sinl.c (x): New variable.
25102         (main): Store argument in x and fetch it from x.
25103         * tests/test-sqrtl.c (x): New variable.
25104         (main): Store argument in x and fetch it from x.
25105         * tests/test-tanl.c (x): New variable.
25106         (main): Store argument in x and fetch it from x.
25107
25108 2010-01-24  Bruno Haible  <bruno@clisp.org>
25109
25110         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
25111         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
25112         assignments to the initial TESTS_ENVIRONMENT.
25113         * doc/gnulib.texi (Unit test modules): Document it.
25114         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
25115         TESTS_ENVIRONMENT.
25116         * modules/btowc-tests (Makefile.am): Likewise.
25117         * modules/c-stack-tests (Makefile.am): Likewise.
25118         * modules/c-strcase-tests (Makefile.am): Likewise.
25119         * modules/copy-file-tests (Makefile.am): Likewise.
25120         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
25121         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
25122         * modules/mbrtowc-tests (Makefile.am): Likewise.
25123         * modules/mbscasecmp-tests (Makefile.am): Likewise.
25124         * modules/mbscasestr-tests (Makefile.am): Likewise.
25125         * modules/mbschr-tests (Makefile.am): Likewise.
25126         * modules/mbscspn-tests (Makefile.am): Likewise.
25127         * modules/mbsinit-tests (Makefile.am): Likewise.
25128         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
25129         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
25130         * modules/mbspbrk-tests (Makefile.am): Likewise.
25131         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
25132         * modules/mbsrchr-tests (Makefile.am): Likewise.
25133         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
25134         * modules/mbsspn-tests (Makefile.am): Likewise.
25135         * modules/mbsstr-tests (Makefile.am): Likewise.
25136         * modules/nl_langinfo-tests (Makefile.am): Likewise.
25137         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
25138         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
25139         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
25140         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
25141         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
25142         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
25143         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
25144         * modules/wcrtomb-tests (Makefile.am): Likewise.
25145         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
25146         * modules/wcsrtombs-tests (Makefile.am): Likewise.
25147         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
25148         assignments from TESTS_ENVIRONMENT.
25149         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
25150         augmentation.
25151         * modules/argp-version-etc-tests (Makefile.am): Likewise.
25152         * modules/atexit-tests (Makefile.am): Likewise.
25153         * modules/binary-io-tests (Makefile.am): Likewise.
25154         * modules/closein-tests (Makefile.am): Likewise.
25155         * modules/dprintf-posix-tests (Makefile.am): Likewise.
25156         * modules/exclude-tests (Makefile.am): Likewise.
25157         * modules/fflush-tests (Makefile.am): Likewise.
25158         * modules/fpending-tests (Makefile.am): Likewise.
25159         * modules/fprintf-posix-tests (Makefile.am): Likewise.
25160         * modules/freadahead-tests (Makefile.am): Likewise.
25161         * modules/freadptr-tests (Makefile.am): Likewise.
25162         * modules/freadseek-tests (Makefile.am): Likewise.
25163         * modules/fseek-tests (Makefile.am): Likewise.
25164         * modules/fseeko-tests (Makefile.am): Likewise.
25165         * modules/ftell-tests (Makefile.am): Likewise.
25166         * modules/ftello-tests (Makefile.am): Likewise.
25167         * modules/idpriv-drop-tests (Makefile.am): Likewise.
25168         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
25169         * modules/lseek-tests (Makefile.am): Likewise.
25170         * modules/parse-duration-tests (Makefile.am): Likewise.
25171         * modules/perror-tests (Makefile.am): Likewise.
25172         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
25173         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
25174         * modules/pipe-tests (Makefile.am): Likewise.
25175         * modules/pread-tests (Makefile.am): Likewise.
25176         * modules/printf-posix-tests (Makefile.am): Likewise.
25177         * modules/select-tests (Makefile.am): Likewise.
25178         * modules/sigpipe-tests (Makefile.am): Likewise.
25179         * modules/tsearch-tests (Makefile.am): Likewise.
25180         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
25181         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
25182         * modules/uniname/uniname-tests (Makefile.am): Likewise.
25183         * modules/uniwidth/width-tests (Makefile.am): Likewise.
25184         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
25185         * modules/version-etc-tests (Makefile.am): Likewise.
25186         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
25187         * modules/vprintf-posix-tests (Makefile.am): Likewise.
25188         * modules/xalloc-die-tests (Makefile.am): Likewise.
25189         * modules/xprintf-posix-tests (Makefile.am): Likewise.
25190         * modules/xstrtoimax-tests (Makefile.am): Likewise.
25191         * modules/xstrtol-tests (Makefile.am): Likewise.
25192         * modules/xstrtoumax-tests (Makefile.am): Likewise.
25193         * modules/yesno-tests (Makefile.am): Likewise.
25194         Suggested by Jim Meyering.
25195
25196 2010-01-24  Bruno Haible  <bruno@clisp.org>
25197
25198         More documentation.
25199         * doc/gnulib.texi (Writing modules): New chapter.
25200         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
25201         the new chapter.
25202
25203 2010-01-24  Jim Meyering  <meyering@redhat.com>
25204
25205         maint.mk: do not prepend "./" after filtering
25206         * top/maint.mk (_prepend_srcdir_prefix): New variable
25207         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
25208         "./" when $(srcdir) is ".".
25209
25210         define STREQ(a,b) consistently, removing useless parentheses
25211         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
25212         since the only risk is that "a" or "b" contains an unparenthesized
25213         comma, but if either did that, STREQ would have 3 or more arguments.
25214         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
25215         * lib/fts.c (STREQ): Remove unnecessary parentheses.
25216         * lib/hash-triple.c (STREQ): Likewise.
25217         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
25218         * lib/getugroups.c (STREQ): Likewise.
25219
25220 2010-01-23  Jim Meyering  <meyering@redhat.com>
25221
25222         maint.mk: fix syntax-check in a non-srcdir build directory
25223         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
25224         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
25225
25226 2010-01-22  Jim Meyering  <meyering@redhat.com>
25227
25228         userspec: add unit tests
25229         * tests/test-userspec.c: New file.
25230         * modules/userspec-tests: Likewise.
25231
25232 2010-01-21  Jim Meyering  <meyering@redhat.com>
25233
25234         maint.mk: handle source file names containing "." robustly
25235         * top/maint.mk (_dot_escaped_srcdir): Define.
25236         (VC_LIST): Use it in LHS of sed substitution.
25237
25238 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
25239
25240         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
25241         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
25242         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
25243         from a non-srcdir build.
25244
25245 2010-01-20  Eric Blake  <ebb9@byu.net>
25246
25247         warn-on-use: use instead of link-warning
25248         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
25249         * modules/unistd (Depends-on, Makefile.am): Likewise.
25250         * modules/arpa_inet (Depends-on): Replace link-warning with
25251         warn-on-use.
25252         (Makefile.am): Update rules accordingly.
25253         * modules/ctype (Depends-on, Makefile.am): Likewise.
25254         * modules/dirent (Depends-on, Makefile.am): Likewise.
25255         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
25256         * modules/inttypes (Depends-on, Makefile.am): Likewise.
25257         * modules/langinfo (Depends-on, Makefile.am): Likewise.
25258         * modules/locale (Depends-on, Makefile.am): Likewise.
25259         * modules/math (Depends-on, Makefile.am): Likewise.
25260         * modules/search (Depends-on, Makefile.am): Likewise.
25261         * modules/signal (Depends-on, Makefile.am): Likewise.
25262         * modules/spawn (Depends-on, Makefile.am): Likewise.
25263         * modules/stdlib (Depends-on, Makefile.am): Likewise.
25264         * modules/string (Depends-on, Makefile.am): Likewise.
25265         * modules/strings (Depends-on, Makefile.am): Likewise.
25266         * modules/sys_file (Depends-on, Makefile.am): Likewise.
25267         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
25268         * modules/sys_select (Depends-on, Makefile.am): Likewise.
25269         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
25270         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
25271         * modules/sys_times (Depends-on, Makefile.am): Likewise.
25272         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
25273         * modules/wchar (Depends-on, Makefile.am): Likewise.
25274         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
25275         should be poisoned.
25276         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
25277         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
25278         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
25279         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25280         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25281         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25282         * m4/math_h.m4 (gl_MATH_H): Likewise.
25283         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25284         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25285         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25286         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25287         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25288         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25289         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
25290         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
25291         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25292         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25293         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25294         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25295         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25296         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25297         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25298         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25299         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
25300         GL_LINK_WARNING.
25301         * lib/ctype.in.h: Likewise.
25302         * lib/dirent.in.h: Likewise.
25303         * lib/fcntl.in.h: Likewise.
25304         * lib/inttypes.in.h: Likewise.
25305         * lib/langinfo.in.h: Likewise.
25306         * lib/locale.in.h: Likewise.
25307         * lib/math.in.h: Likewise.
25308         * lib/search.in.h: Likewise.
25309         * lib/signal.in.h: Likewise.
25310         * lib/spawn.in.h: Likewise.
25311         * lib/stdio.in.h: Likewise.
25312         * lib/stdlib.in.h: Likewise.
25313         * lib/string.in.h: Likewise.
25314         * lib/strings.in.h: Likewise.
25315         * lib/sys_file.in.h: Likewise.
25316         * lib/sys_ioctl.in.h: Likewise.
25317         * lib/sys_select.in.h: Likewise.
25318         * lib/sys_socket.in.h: Likewise.
25319         * lib/sys_stat.in.h: Likewise.
25320         * lib/sys_times.in.h: Likewise.
25321         * lib/sys_utsname.in.h: Likewise.
25322         * lib/unistd.in.h: Likewise.
25323         * lib/wchar.in.h: Likewise.
25324
25325 2010-01-20  Bruno Haible  <bruno@clisp.org>
25326
25327         Avoid duplicate -lm.
25328         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
25329         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
25330         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
25331         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
25332         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
25333         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
25334         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
25335         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
25336         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
25337         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
25338         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
25339         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25340         Reported by Paolo Bonzini.
25341
25342 2010-01-19  Bruno Haible  <bruno@clisp.org>
25343
25344         langinfo, nl_langinfo: Relicense under LGPLv2+.
25345         * modules/langinfo (License): Change to LGPLv2+.
25346         * modules/nl_langinfo (License): Likewise.
25347         Patch by David Lutterkort <lutter@redhat.com>.
25348
25349 2010-01-19  Bruno Haible  <bruno@clisp.org>
25350
25351         Avoid compilation error with cc on OSF/1 5.1.
25352         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
25353         statement, not before.
25354         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25355
25356 2010-01-18  Bruno Haible  <bruno@clisp.org>
25357
25358         Avoid a link error due to the __printf__ symbol.
25359         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
25360         and 2.6.x.
25361         (__format__, __printf__): Remove definitions.
25362         * lib/argp-fmtstream.h: Likewise.
25363         * lib/argp.h: Likewise.
25364         * lib/error.h: Likewise.
25365         * lib/vasnprintf.h: Likewise.
25366         * lib/xprintf.h: Likewise.
25367         * lib/xvasprintf.h: Likewise.
25368         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25369
25370 2010-01-18  Bruno Haible  <bruno@clisp.org>
25371
25372         Tests for module 'tanl'.
25373         * modules/tanl-tests: New file.
25374         * tests/test-tanl.c: New file.
25375
25376         Tests for module 'sqrtl'.
25377         * modules/sqrtl-tests: New file.
25378         * tests/test-sqrtl.c: New file.
25379
25380         Tests for module 'sinl'.
25381         * modules/sinl-tests: New file.
25382         * tests/test-sinl.c: New file.
25383
25384         Tests for module 'logl'.
25385         * modules/logl-tests: New file.
25386         * tests/test-logl.c: New file.
25387
25388         Tests for module 'expl'.
25389         * modules/expl-tests: New file.
25390         * tests/test-expl.c: New file.
25391
25392         Tests for module 'cosl'.
25393         * modules/cosl-tests: New file.
25394         * tests/test-cosl.c: New file.
25395
25396         Tests for module 'atanl'.
25397         * modules/atanl-tests: New file.
25398         * tests/test-atanl.c: New file.
25399
25400         Tests for module 'asinl'.
25401         * modules/asinl-tests: New file.
25402         * tests/test-asinl.c: New file.
25403
25404         Tests for module 'acosl'.
25405         * modules/acosl-tests: New file.
25406         * tests/test-acosl.c: New file.
25407
25408         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
25409         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
25410         tanl): Use the standard gnulib idiom.
25411         * lib/cosl.c: Don't include trigl.c and sincosl.c.
25412         * lib/sinl.c: Likewise.
25413         * lib/tanl.c: Don't include trigl.c.
25414         (kernel_tanl): Make static.
25415         * lib/sincosl.c: Include trigl.h first.
25416         * lib/trigl.c: Likewise.
25417         * m4/acosl.m4: New file.
25418         * m4/asinl.m4: New file.
25419         * m4/atanl.m4: New file.
25420         * m4/cosl.m4: New file.
25421         * m4/expl.m4: New file.
25422         * m4/logl.m4: New file.
25423         * m4/sinl.m4: New file.
25424         * m4/sqrtl.m4: New file.
25425         * m4/tanl.m4: New file.
25426         * m4/mathl.m4: Remove file.
25427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
25428         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
25429         Don't initialize GNULIB_MATHL.
25430         * modules/acosl: New file.
25431         * modules/asinl: New file.
25432         * modules/atanl: New file.
25433         * modules/cosl: New file.
25434         * modules/expl: New file.
25435         * modules/logl: New file.
25436         * modules/sinl: New file.
25437         * modules/sqrtl: New file.
25438         * modules/tanl: New file.
25439         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
25440         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
25441         substitute GNULIB_MATHL.
25442         * modules/mathl: Rewritten.
25443         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
25444         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
25445         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
25446         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
25447         * doc/posix-functions/expl.texi: Mention the 'expl' module.
25448         * doc/posix-functions/logl.texi: Mention the 'logl' module.
25449         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
25450         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
25451         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
25452
25453 2010-01-18  Bruno Haible  <bruno@clisp.org>
25454
25455         sqrt: Make gl_FUNC_SQRT requirable.
25456         * m4/sqrt.m4: New file.
25457         * modules/sqrt (Files): Add it.
25458         (configure.ac): Invoke gl_FUNC_SQRT.
25459
25460 2010-01-18  Bruno Haible  <bruno@clisp.org>
25461
25462         New modules for common <math.h> functions.
25463         * m4/mathfunc.m4: New file.
25464         * modules/acos: New file.
25465         * modules/asin: New file.
25466         * modules/atan: New file.
25467         * modules/atan2: New file.
25468         * modules/cbrt: New file.
25469         * modules/copysign: New file.
25470         * modules/cos: New file.
25471         * modules/cosh: New file.
25472         * modules/erf: New file.
25473         * modules/erfc: New file.
25474         * modules/exp: New file.
25475         * modules/fabs: New file.
25476         * modules/fmod: New file.
25477         * modules/hypot: New file.
25478         * modules/j0: New file.
25479         * modules/j1: New file.
25480         * modules/jn: New file.
25481         * modules/ldexp: New file.
25482         * modules/lgamma: New file.
25483         * modules/log: New file.
25484         * modules/log10: New file.
25485         * modules/log1p: New file.
25486         * modules/logb: New file.
25487         * modules/modf: New file.
25488         * modules/nextafter: New file.
25489         * modules/pow: New file.
25490         * modules/remainder: New file.
25491         * modules/rint: New file.
25492         * modules/sin: New file.
25493         * modules/sinh: New file.
25494         * modules/sqrt: New file.
25495         * modules/tan: New file.
25496         * modules/tanh: New file.
25497         * modules/y0: New file.
25498         * modules/y1: New file.
25499         * modules/yn: New file.
25500         * doc/posix-functions/acos.texi: Mention the 'acos' module.
25501         * doc/posix-functions/asin.texi: Mention the 'asin' module.
25502         * doc/posix-functions/atan.texi: Mention the 'atan' module.
25503         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
25504         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
25505         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
25506         * doc/posix-functions/cos.texi: Mention the 'cos' module.
25507         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
25508         * doc/posix-functions/erf.texi: Mention the 'erf' module.
25509         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
25510         * doc/posix-functions/exp.texi: Mention the 'exp' module.
25511         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
25512         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
25513         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
25514         * doc/posix-functions/j0.texi: Mention the 'j0' module.
25515         * doc/posix-functions/j1.texi: Mention the 'j1' module.
25516         * doc/posix-functions/jn.texi: Mention the 'jn' module.
25517         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
25518         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
25519         * doc/posix-functions/log.texi: Mention the 'log' module.
25520         * doc/posix-functions/log10.texi: Mention the 'log10' module.
25521         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
25522         * doc/posix-functions/logb.texi: Mention the 'logb' module.
25523         * doc/posix-functions/modf.texi: Mention the 'modf' module.
25524         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
25525         * doc/posix-functions/pow.texi: Mention the 'pow' module.
25526         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
25527         * doc/posix-functions/rint.texi: Mention the 'rint' module.
25528         * doc/posix-functions/sin.texi: Mention the 'sin' module.
25529         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
25530         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
25531         * doc/posix-functions/tan.texi: Mention the 'tan' module.
25532         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
25533         * doc/posix-functions/y0.texi: Mention the 'y0' module.
25534         * doc/posix-functions/y1.texi: Mention the 'y1' module.
25535         * doc/posix-functions/yn.texi: Mention the 'yn' module.
25536
25537 2010-01-18  Jim Meyering  <meyering@redhat.com>
25538
25539         ignore-value: relax license to LGPLv2+
25540         * modules/ignore-value (License): Relax to LGPLv2+.
25541
25542         getdate: don't leak when TZ contains two or more '"'s
25543         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
25544         double quote in TZ after the first one.
25545
25546         readtokens: do not leak internal token_lengths buffer
25547         * lib/readtokens.c (readtokens): Free the local, lengths,
25548         when the supplied "token_lengths" parameter is NULL.
25549
25550 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25551
25552         Fix a couple of missing LIBTHREAD link failures on AIX.
25553         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
25554         $(LIBTHREAD).
25555         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
25556
25557         Link test-poll against INET_PTON_LIB.
25558         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
25559         for inet_pton on Solaris 10.
25560
25561 2010-01-17  Bruno Haible  <bruno@clisp.org>
25562
25563         unistdio/*-sprintf: Fix typo in module description.
25564         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
25565         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
25566         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
25567         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
25568         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
25569         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
25570         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
25571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25572
25573 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25574
25575         gnulib-tool: fix filelist for AIX, HP-UX ksh.
25576         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
25577         variables in shell case patterns, for AIX and HP-UX ksh.
25578
25579         Split large sed scripts, for HP-UX sed.
25580         * modules/stdio: Split sed scripts around 50 sed commands,
25581         to avoid HP-UX limit of 99 commands, in the near future.
25582         * modules/string: Likewise.
25583         * modules/unistd: Likewise.
25584
25585         gnulib-tool: avoid writing in the current directory.
25586         * gnulib-tool (func_emit_lib_Makefile_am)
25587         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
25588         not in the current directory, so concurrent gnulib-tool
25589         instances do not interfere.
25590
25591 2010-01-16  Jim Meyering  <meyering@redhat.com>
25592
25593         doc: update users.txt
25594         * users.txt: Add grep.
25595         (diffutils, gzip): Update URLs.
25596
25597 2010-01-12  Bruno Haible  <bruno@clisp.org>
25598
25599         posix_spawn: Avoid test failure on Cygwin.
25600         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
25601         characters.
25602         Reported by Simon Josefsson.
25603
25604 2010-01-12  Bruno Haible  <bruno@clisp.org>
25605
25606         * tests/test-cond.c (main): When skipping the test, show the reason.
25607
25608 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25609
25610         * lib/striconv.c (str_cd_iconv): Avoid if before free.
25611
25612 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25613
25614         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
25615         VC_LIST_ALWAYS_EXCLUDE_REGEX.
25616
25617 2010-01-12  Eric Blake  <ebb9@byu.net>
25618
25619         build: guarantee AS_VAR_IF
25620         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
25621         (gl_AS_VAR_IF): Move...
25622         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
25623         Reported by Simon Josefsson.
25624
25625 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25626
25627         * lib/stdio.in.h: Fix typo.
25628
25629 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25630
25631         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
25632         libgpg-error.
25633
25634 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25635
25636         * tests/test-xalloc-die.sh: Use $EXEEXT.
25637
25638 2010-01-12  Simon Josefsson  <simon@josefsson.org>
25639             Bruno Haible  <bruno@clisp.org>
25640
25641         getlogin, getlogin_r: Avoid test failure.
25642         * tests/test-getlogin.c: Include <stdio.h>.
25643         (main): Skip the test when the function fails because stdin is not a
25644         tty.
25645         * tests/test-getlogin_r.c: Include <stdio.h>.
25646         (main): Skip the test when the function fails because stdin is not a
25647         tty.
25648
25649 2010-01-11  Eric Blake  <ebb9@byu.net>
25650
25651         tests: avoid more large file warnings
25652         * tests/test-fflush.c: Avoid warning about ftell use.
25653         * tests/test-fseek.c: Avoid warning about fseek use.
25654
25655 2010-01-10  Bruno Haible  <bruno@clisp.org>
25656
25657         nproc: Work better on Linux when /proc and /sys are not mounted.
25658         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
25659         as lower bound when, on glibc/Linux systems,
25660         sysconf (_SC_NPROCESSORS_CONF) returns 1.
25661         Suggested by Pádraig Brady <P@draigbrady.com>.
25662         Reported by Dmitry V. Levin <ldv@altlinux.org>.
25663
25664         nproc: Refactor.
25665         * lib/nproc.c (num_processors_via_affinity_mask): New function,
25666         extracted from num_processors.
25667         (num_processors): Call it.
25668
25669 2010-01-11  Jim Meyering  <meyering@redhat.com>
25670
25671         utimecmp: avoid new warning from upcoming gcc-4.5.0
25672         * lib/utimecmp.c (BILLION): Define using #define rather than an
25673         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
25674
25675 2010-01-11  Eric Blake  <ebb9@byu.net>
25676
25677         math: add portability warnings for classification macros
25678         * modules/math (Depends-on): Add warn-on-use.
25679         (Makefile.am): Provide new substitutions.
25680         * m4/math_h.m4 (gl_MATH_H): Require inline.
25681         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
25682         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
25683         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
25684         implement warnings.
25685
25686         unistd: warn on use of environ without module
25687         * modules/unistd (Depends-on): Add warn-on-use.
25688         (Makefile.am): Provide new substitutions.
25689         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
25690         * lib/unistd.in.h (environ): Wrap with a warning helper function.
25691
25692         stdio: warn on suspicious uses
25693         * modules/stdio (Depends-on): Add warn-on-use.
25694         (Makefile.am): Provide new substitutions.
25695         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
25696         fseeko.
25697         * lib/stdio.in.h (gets): Always warn on use.
25698         (fseek, ftell): Adjust when warnings are issued, and honor
25699         _GL_NO_LARGE_FILES as a way to silence the warning.
25700         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
25701         any warning about large file offsets.
25702         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
25703         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
25704         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
25705         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
25706         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
25707         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
25708         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
25709         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
25710
25711         warn-on-use: new module
25712         * modules/warn-on-use: New file.
25713         * build-aux/warn-on-use.h: Likewise.
25714         * m4/warn-on-use.m4: Likewise.
25715         * MODULES.html.sh (Support for building): Mention it.
25716
25717 2010-01-10  Bruno Haible  <bruno@clisp.org>
25718
25719         Tests for module 'unistr/u32-strdup'.
25720         * modules/unistr/u32-strdup-tests: New file.
25721         * tests/unistr/test-u32-strdup.c: New file.
25722
25723         Tests for module 'unistr/u16-strdup'.
25724         * modules/unistr/u16-strdup-tests: New file.
25725         * tests/unistr/test-u16-strdup.c: New file.
25726
25727         Tests for module 'unistr/u8-strdup'.
25728         * modules/unistr/u8-strdup-tests: New file.
25729         * tests/unistr/test-u8-strdup.c: New file.
25730         * tests/unistr/test-strdup.h: New file.
25731
25732         Tests for module 'unistr/u32-strncmp'.
25733         * modules/unistr/u32-strncmp-tests: New file.
25734         * tests/unistr/test-u32-strncmp.c: New file.
25735
25736         Tests for module 'unistr/u16-strncmp'.
25737         * modules/unistr/u16-strncmp-tests: New file.
25738         * tests/unistr/test-u16-strncmp.c: New file.
25739
25740         Tests for module 'unistr/u8-strncmp'.
25741         * modules/unistr/u8-strncmp-tests: New file.
25742         * tests/unistr/test-u8-strncmp.c: New file.
25743         * tests/unistr/test-strncmp.h: New file.
25744
25745         Tests for module 'unistr/u32-strcoll'.
25746         * modules/unistr/u32-strcoll-tests: New file.
25747         * tests/unistr/test-u32-strcoll.c: New file.
25748
25749         Tests for module 'unistr/u16-strcoll'.
25750         * modules/unistr/u16-strcoll-tests: New file.
25751         * tests/unistr/test-u16-strcoll.c: New file.
25752
25753         Tests for module 'unistr/u8-strcoll'.
25754         * modules/unistr/u8-strcoll-tests: New file.
25755         * tests/unistr/test-u8-strcoll.c: New file.
25756
25757         Tests for module 'unistr/u32-strcmp'.
25758         * modules/unistr/u32-strcmp-tests: New file.
25759         * tests/unistr/test-u32-strcmp.c: New file.
25760         * tests/unistr/test-u32-strcmp.h: New file.
25761
25762         Tests for module 'unistr/u16-strcmp'.
25763         * modules/unistr/u16-strcmp-tests: New file.
25764         * tests/unistr/test-u16-strcmp.c: New file.
25765         * tests/unistr/test-u16-strcmp.h: New file.
25766
25767         Tests for module 'unistr/u8-strcmp'.
25768         * modules/unistr/u8-strcmp-tests: New file.
25769         * tests/unistr/test-u8-strcmp.c: New file.
25770         * tests/unistr/test-u8-strcmp.h: New file.
25771         * tests/unistr/test-strcmp.h: New file.
25772
25773         Tests for module 'unistr/u32-strncat'.
25774         * modules/unistr/u32-strncat-tests: New file.
25775         * tests/unistr/test-u32-strncat.c: New file.
25776
25777         Tests for module 'unistr/u16-strncat'.
25778         * modules/unistr/u16-strncat-tests: New file.
25779         * tests/unistr/test-u16-strncat.c: New file.
25780
25781         Tests for module 'unistr/u8-strncat'.
25782         * modules/unistr/u8-strncat-tests: New file.
25783         * tests/unistr/test-u8-strncat.c: New file.
25784         * tests/unistr/test-strncat.h: New file.
25785
25786         Tests for module 'unistr/u32-strcat'.
25787         * modules/unistr/u32-strcat-tests: New file.
25788         * tests/unistr/test-u32-strcat.c: New file.
25789
25790         Tests for module 'unistr/u16-strcat'.
25791         * modules/unistr/u16-strcat-tests: New file.
25792         * tests/unistr/test-u16-strcat.c: New file.
25793
25794         Tests for module 'unistr/u8-strcat'.
25795         * modules/unistr/u8-strcat-tests: New file.
25796         * tests/unistr/test-u8-strcat.c: New file.
25797         * tests/unistr/test-strcat.h: New file.
25798
25799         Tests for module 'unistr/u32-stpncpy'.
25800         * modules/unistr/u32-stpncpy-tests: New file.
25801         * tests/unistr/test-u32-stpncpy.c: New file.
25802
25803         Tests for module 'unistr/u16-stpncpy'.
25804         * modules/unistr/u16-stpncpy-tests: New file.
25805         * tests/unistr/test-u16-stpncpy.c: New file.
25806
25807         Tests for module 'unistr/u8-stpncpy'.
25808         * modules/unistr/u8-stpncpy-tests: New file.
25809         * tests/unistr/test-u8-stpncpy.c: New file.
25810         * tests/unistr/test-stpncpy.h: New file.
25811
25812         Tests for module 'unistr/u32-strncpy'.
25813         * modules/unistr/u32-strncpy-tests: New file.
25814         * tests/unistr/test-u32-strncpy.c: New file.
25815
25816         Tests for module 'unistr/u16-strncpy'.
25817         * modules/unistr/u16-strncpy-tests: New file.
25818         * tests/unistr/test-u16-strncpy.c: New file.
25819
25820         Tests for module 'unistr/u8-strncpy'.
25821         * modules/unistr/u8-strncpy-tests: New file.
25822         * tests/unistr/test-u8-strncpy.c: New file.
25823         * tests/unistr/test-strncpy.h: New file.
25824
25825         Tests for module 'unistr/u32-stpcpy'.
25826         * modules/unistr/u32-stpcpy-tests: New file.
25827         * tests/unistr/test-u32-stpcpy.c: New file.
25828
25829         Tests for module 'unistr/u16-stpcpy'.
25830         * modules/unistr/u16-stpcpy-tests: New file.
25831         * tests/unistr/test-u16-stpcpy.c: New file.
25832
25833         Tests for module 'unistr/u8-stpcpy'.
25834         * modules/unistr/u8-stpcpy-tests: New file.
25835         * tests/unistr/test-u8-stpcpy.c: New file.
25836         * tests/unistr/test-stpcpy.h: New file.
25837
25838         Tests for module 'unistr/u32-strcpy'.
25839         * modules/unistr/u32-strcpy-tests: New file.
25840         * tests/unistr/test-u32-strcpy.c: New file.
25841
25842         Tests for module 'unistr/u16-strcpy'.
25843         * modules/unistr/u16-strcpy-tests: New file.
25844         * tests/unistr/test-u16-strcpy.c: New file.
25845
25846         Tests for module 'unistr/u8-strcpy'.
25847         * modules/unistr/u8-strcpy-tests: New file.
25848         * tests/unistr/test-u8-strcpy.c: New file.
25849         * tests/unistr/test-strcpy.h: New file.
25850
25851         Tests for module 'unistr/u32-strnlen'.
25852         * modules/unistr/u32-strnlen-tests: New file.
25853         * tests/unistr/test-u32-strnlen.c: New file.
25854
25855         Tests for module 'unistr/u16-strnlen'.
25856         * modules/unistr/u16-strnlen-tests: New file.
25857         * tests/unistr/test-u16-strnlen.c: New file.
25858
25859         Tests for module 'unistr/u8-strnlen'.
25860         * modules/unistr/u8-strnlen-tests: New file.
25861         * tests/unistr/test-u8-strnlen.c: New file.
25862         * tests/unistr/test-strnlen.h: New file.
25863
25864         Tests for module 'unistr/u32-strlen'.
25865         * modules/unistr/u32-strlen-tests: New file.
25866         * tests/unistr/test-u32-strlen.c: New file.
25867
25868         Tests for module 'unistr/u16-strlen'.
25869         * modules/unistr/u16-strlen-tests: New file.
25870         * tests/unistr/test-u16-strlen.c: New file.
25871
25872         Tests for module 'unistr/u8-strlen'.
25873         * modules/unistr/u8-strlen-tests: New file.
25874         * tests/unistr/test-u8-strlen.c: New file.
25875
25876         Tests for module 'unistr/u32-prev'.
25877         * modules/unistr/u32-prev-tests: New file.
25878         * tests/unistr/test-u32-prev.c: New file.
25879
25880         Tests for module 'unistr/u16-prev'.
25881         * modules/unistr/u16-prev-tests: New file.
25882         * tests/unistr/test-u16-prev.c: New file.
25883
25884         Tests for module 'unistr/u8-prev'.
25885         * modules/unistr/u8-prev-tests: New file.
25886         * tests/unistr/test-u8-prev.c: New file.
25887
25888         Tests for module 'unistr/u32-next'.
25889         * modules/unistr/u32-next-tests: New file.
25890         * tests/unistr/test-u32-next.c: New file.
25891
25892         Tests for module 'unistr/u16-next'.
25893         * modules/unistr/u16-next-tests: New file.
25894         * tests/unistr/test-u16-next.c: New file.
25895
25896         Tests for module 'unistr/u8-next'.
25897         * modules/unistr/u8-next-tests: New file.
25898         * tests/unistr/test-u8-next.c: New file.
25899
25900         Tests for module 'unistr/u32-strmbtouc'.
25901         * modules/unistr/u32-strmbtouc-tests: New file.
25902         * tests/unistr/test-u32-strmbtouc.c: New file.
25903
25904         Tests for module 'unistr/u16-strmbtouc'.
25905         * modules/unistr/u16-strmbtouc-tests: New file.
25906         * tests/unistr/test-u16-strmbtouc.c: New file.
25907
25908         Tests for module 'unistr/u8-strmbtouc'.
25909         * modules/unistr/u8-strmbtouc-tests: New file.
25910         * tests/unistr/test-u8-strmbtouc.c: New file.
25911
25912         Tests for module 'unistr/u32-strmblen'.
25913         * modules/unistr/u32-strmblen-tests: New file.
25914         * tests/unistr/test-u32-strmblen.c: New file.
25915
25916         Tests for module 'unistr/u16-strmblen'.
25917         * modules/unistr/u16-strmblen-tests: New file.
25918         * tests/unistr/test-u16-strmblen.c: New file.
25919
25920         Tests for module 'unistr/u8-strmblen'.
25921         * modules/unistr/u8-strmblen-tests: New file.
25922         * tests/unistr/test-u8-strmblen.c: New file.
25923
25924         Tests for module 'unistr/u32-cpy-alloc'.
25925         * modules/unistr/u32-cpy-alloc-tests: New file.
25926         * tests/unistr/test-u32-cpy-alloc.c: New file.
25927
25928         Tests for module 'unistr/u16-cpy-alloc'.
25929         * modules/unistr/u16-cpy-alloc-tests: New file.
25930         * tests/unistr/test-u16-cpy-alloc.c: New file.
25931
25932         Tests for module 'unistr/u8-cpy-alloc'.
25933         * modules/unistr/u8-cpy-alloc-tests: New file.
25934         * tests/unistr/test-u8-cpy-alloc.c: New file.
25935         * tests/unistr/test-cpy-alloc.h: New file.
25936
25937         Tests for module 'unistr/u32-mbsnlen'.
25938         * modules/unistr/u32-mbsnlen-tests: New file.
25939         * tests/unistr/test-u32-mbsnlen.c: New file.
25940
25941         Tests for module 'unistr/u16-mbsnlen'.
25942         * modules/unistr/u16-mbsnlen-tests: New file.
25943         * tests/unistr/test-u16-mbsnlen.c: New file.
25944
25945         Tests for module 'unistr/u8-mbsnlen'.
25946         * modules/unistr/u8-mbsnlen-tests: New file.
25947         * tests/unistr/test-u8-mbsnlen.c: New file.
25948
25949         Tests for module 'unistr/u32-chr'.
25950         * modules/unistr/u32-chr-tests: New file.
25951         * tests/unistr/test-u32-chr.c: New file.
25952
25953         Tests for module 'unistr/u16-chr'.
25954         * modules/unistr/u16-chr-tests: New file.
25955         * tests/unistr/test-u16-chr.c: New file.
25956
25957         Tests for module 'unistr/u8-chr'.
25958         * modules/unistr/u8-chr-tests: New file.
25959         * tests/unistr/test-u8-chr.c: New file.
25960         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
25961
25962         Tests for module 'unistr/u32-cmp2'.
25963         * modules/unistr/u32-cmp2-tests: New file.
25964         * tests/unistr/test-u32-cmp2.c: New file.
25965
25966         Tests for module 'unistr/u16-cmp2'.
25967         * modules/unistr/u16-cmp2-tests: New file.
25968         * tests/unistr/test-u16-cmp2.c: New file.
25969
25970         Tests for module 'unistr/u8-cmp2'.
25971         * modules/unistr/u8-cmp2-tests: New file.
25972         * tests/unistr/test-u8-cmp2.c: New file.
25973         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
25974
25975         Tests for module 'unistr/u32-cmp'.
25976         * modules/unistr/u32-cmp-tests: New file.
25977         * tests/unistr/test-u32-cmp.c: New file.
25978
25979         Tests for module 'unistr/u16-cmp'.
25980         * modules/unistr/u16-cmp-tests: New file.
25981         * tests/unistr/test-u16-cmp.c: New file.
25982
25983         Tests for module 'unistr/u8-cmp'.
25984         * modules/unistr/u8-cmp-tests: New file.
25985         * tests/unistr/test-u8-cmp.c: New file.
25986         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
25987
25988         Tests for module 'unistr/u32-set'.
25989         * modules/unistr/u32-set-tests: New file.
25990         * tests/unistr/test-u32-set.c: New file.
25991
25992         Tests for module 'unistr/u16-set'.
25993         * modules/unistr/u16-set-tests: New file.
25994         * tests/unistr/test-u16-set.c: New file.
25995
25996         Tests for module 'unistr/u8-set'.
25997         * modules/unistr/u8-set-tests: New file.
25998         * tests/unistr/test-u8-set.c: New file.
25999         * tests/unistr/test-set.h: New file.
26000
26001         Tests for module 'unistr/u32-move'.
26002         * modules/unistr/u32-move-tests: New file.
26003         * tests/unistr/test-u32-move.c: New file.
26004
26005         Tests for module 'unistr/u16-move'.
26006         * modules/unistr/u16-move-tests: New file.
26007         * tests/unistr/test-u16-move.c: New file.
26008
26009         Tests for module 'unistr/u8-move'.
26010         * modules/unistr/u8-move-tests: New file.
26011         * tests/unistr/test-u8-move.c: New file.
26012         * tests/unistr/test-move.h: New file.
26013
26014         Tests for module 'unistr/u32-cpy'.
26015         * modules/unistr/u32-cpy-tests: New file.
26016         * tests/unistr/test-u32-cpy.c: New file.
26017
26018         Tests for module 'unistr/u16-cpy'.
26019         * modules/unistr/u16-cpy-tests: New file.
26020         * tests/unistr/test-u16-cpy.c: New file.
26021
26022         Tests for module 'unistr/u8-cpy'.
26023         * modules/unistr/u8-cpy-tests: New file.
26024         * tests/unistr/test-u8-cpy.c: New file.
26025         * tests/unistr/test-cpy.h: New file.
26026
26027 2010-01-09  Bruno Haible  <bruno@clisp.org>
26028
26029         Tests for module 'unistr/u32-uctomb'.
26030         * modules/unistr/u32-uctomb-tests: New file.
26031         * tests/unistr/test-u32-uctomb.c: New file.
26032
26033         Tests for module 'unistr/u16-uctomb'.
26034         * modules/unistr/u16-uctomb-tests: New file.
26035         * tests/unistr/test-u16-uctomb.c: New file.
26036
26037         Tests for module 'unistr/u8-uctomb'.
26038         * modules/unistr/u8-uctomb-tests: New file.
26039         * tests/unistr/test-u8-uctomb.c: New file.
26040
26041         Tests for module 'unistr/u32-mbtoucr'.
26042         * modules/unistr/u32-mbtoucr-tests: New file.
26043         * tests/unistr/test-u32-mbtoucr.c: New file.
26044
26045         Tests for module 'unistr/u16-mbtoucr'.
26046         * modules/unistr/u16-mbtoucr-tests: New file.
26047         * tests/unistr/test-u16-mbtoucr.c: New file.
26048
26049         Tests for module 'unistr/u8-mbtoucr'.
26050         * modules/unistr/u8-mbtoucr-tests: New file.
26051         * tests/unistr/test-u8-mbtoucr.c: New file.
26052
26053         Tests for module 'unistr/u32-mbtouc'.
26054         * modules/unistr/u32-mbtouc-tests: New file.
26055         * tests/unistr/test-u32-mbtouc.c: New file.
26056
26057         Tests for module 'unistr/u16-mbtouc'.
26058         * modules/unistr/u16-mbtouc-tests: New file.
26059         * tests/unistr/test-u16-mbtouc.c: New file.
26060
26061         Tests for module 'unistr/u8-mbtouc'.
26062         * modules/unistr/u8-mbtouc-tests: New file.
26063         * tests/unistr/test-u8-mbtouc.c: New file.
26064
26065         Tests for module 'unistr/u32-mbtouc-unsafe'.
26066         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
26067         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
26068         * tests/unistr/test-u32-mbtouc.h: New file.
26069
26070         Tests for module 'unistr/u16-mbtouc-unsafe'.
26071         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
26072         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
26073         * tests/unistr/test-u16-mbtouc.h: New file.
26074
26075         Tests for module 'unistr/u8-mbtouc-unsafe'.
26076         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
26077         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
26078         * tests/unistr/test-u8-mbtouc.h: New file.
26079
26080         Tests for module 'unistr/u32-mblen'.
26081         * modules/unistr/u32-mblen-tests: New file.
26082         * tests/unistr/test-u32-mblen.c: New file.
26083
26084         Tests for module 'unistr/u16-mblen'.
26085         * modules/unistr/u16-mblen-tests: New file.
26086         * tests/unistr/test-u16-mblen.c: New file.
26087
26088         Tests for module 'unistr/u8-mblen'.
26089         * modules/unistr/u8-mblen-tests: New file.
26090         * tests/unistr/test-u8-mblen.c: New file.
26091
26092         Tests for module 'unistr/u32-to-u16'.
26093         * modules/unistr/u32-to-u16-tests: New file.
26094         * tests/unistr/test-u32-to-u16.c: New file.
26095
26096         Tests for module 'unistr/u32-to-u8'.
26097         * modules/unistr/u32-to-u8-tests: New file.
26098         * tests/unistr/test-u32-to-u8.c: New file.
26099
26100         Tests for module 'unistr/u16-to-u32'.
26101         * modules/unistr/u16-to-u32-tests: New file.
26102         * tests/unistr/test-u16-to-u32.c: New file.
26103
26104         Tests for module 'unistr/u16-to-u8'.
26105         * modules/unistr/u16-to-u8-tests: New file.
26106         * tests/unistr/test-u16-to-u8.c: New file.
26107
26108         Tests for module 'unistr/u8-to-u32'.
26109         * modules/unistr/u8-to-u32-tests: New file.
26110         * tests/unistr/test-u8-to-u32.c: New file.
26111
26112         Tests for module 'unistr/u8-to-u16'.
26113         * modules/unistr/u8-to-u16-tests: New file.
26114         * tests/unistr/test-u8-to-u16.c: New file.
26115
26116         Tests for module 'unistr/u32-check'.
26117         * modules/unistr/u32-check-tests: New file.
26118         * tests/unistr/test-u32-check.c: New file.
26119
26120         Tests for module 'unistr/u16-check'.
26121         * modules/unistr/u16-check-tests: New file.
26122         * tests/unistr/test-u16-check.c: New file.
26123
26124         Tests for module 'unistr/u8-check'.
26125         * modules/unistr/u8-check-tests: New file.
26126         * tests/unistr/test-u8-check.c: New file.
26127
26128         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
26129         (category_equals): New function.
26130         (main): Add more tests.
26131         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
26132
26133         * tests/unictype/test-bidi_byname.c (main): Add more tests.
26134
26135 2010-01-10  Bruno Haible  <bruno@clisp.org>
26136
26137         unistr/u*-strcoll: Try harder to distinguish different strings.
26138         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
26139         compare s1 and s2 to see if they are different.
26140
26141 2010-01-10  Bruno Haible  <bruno@clisp.org>
26142
26143         unistr/u*-stpncpy: Fix the return value.
26144         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
26145         description of the return value consistent with stpncpy in glibc.
26146         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
26147         written non-NUL unit.
26148
26149 2010-01-10  Bruno Haible  <bruno@clisp.org>
26150
26151         unistr/u*-next: Add missing dependencies.
26152         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
26153         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
26154         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
26155
26156 2010-01-10  Bruno Haible  <bruno@clisp.org>
26157
26158         unistr/u8-mbsnlen: Fix return value for incomplete character.
26159         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
26160         u8_mblen.
26161         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
26162         Remove unistr/u8-mblen.
26163         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
26164         u16_mblen.
26165         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
26166         Remove unistr/u16-mblen.
26167
26168 2010-01-10  Bruno Haible  <bruno@clisp.org>
26169
26170         wchar: Fix compilation error when <wchar.h> is used from coreutils.
26171         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
26172         Reported by Brian Gough <bjg@gnu.org> and
26173         Chris Clayton <chris2553@googlemail.com> via
26174         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
26175
26176 2010-01-09  Bruno Haible  <bruno@clisp.org>
26177
26178         unistr/u16-to-u32: Reject invalid input.
26179         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
26180         u16_mbtouc.
26181         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
26182         Remove unistr/u16-mbtouc.
26183
26184         unistr/u16-to-u8: Reject invalid input.
26185         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
26186         u16_mbtouc.
26187         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
26188         Remove unistr/u16-mbtouc.
26189
26190         unistr/u8-to-u32: Reject invalid input.
26191         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
26192         u8_mbtouc.
26193         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
26194         Remove unistr/u8-mbtouc.
26195
26196         unistr/u8-to-u16: Reject invalid input.
26197         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
26198         u8_mbtouc.
26199         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
26200         Remove unistr/u8-mbtouc.
26201
26202 2010-01-09  Bruno Haible  <bruno@clisp.org>
26203
26204         Tests for module 'getlogin'.
26205         * modules/getlogin-tests: New file.
26206         * tests/test-getlogin.c: New file.
26207
26208         New module 'getlogin'.
26209         * lib/unistd.in.h (getlogin): New declaration.
26210         * lib/getlogin.c: New file.
26211         * m4/getlogin.m4: New file.
26212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
26213         HAVE_GETLOGIN.
26214         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
26215         HAVE_GETLOGIN.
26216         * modules/getlogin: New file.
26217         * doc/posix-functions/getlogin.texi: Mention the new module.
26218         Reported by John W. Eaton <jwe@gnu.org>.
26219
26220 2010-01-09  Bruno Haible  <bruno@clisp.org>
26221
26222         getlogin_r: Support for native Windows.
26223         * lib/getlogin_r.c: Include <windows.h>
26224         (getlogin_r): Implement for native Windows.
26225         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
26226         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
26227         via John W. Eaton <jwe@gnu.org>.
26228
26229 2010-01-09  Bruno Haible  <bruno@clisp.org>
26230
26231         getlogin_r: Small fixes.
26232         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
26233         succeeds.
26234         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
26235         before testing whether getlogin_r is declared. No need to set
26236         HAVE_DECL_GETLOGIN_R to 1.
26237         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
26238
26239 2010-01-09  Bruno Haible  <bruno@clisp.org>
26240
26241         * lib/unistd.in.h (getlogin_r): Add comment.
26242
26243 2010-01-09  Bruno Haible  <bruno@clisp.org>
26244
26245         Tests for module 'getlogin_r'.
26246         * modules/getlogin_r-tests: New file.
26247         * tests/test-getlogin_r.c: New file.
26248
26249 2010-01-09  Jim Meyering  <meyering@redhat.com>
26250
26251         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
26252         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
26253         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
26254
26255 2010-01-08  Simon Josefsson  <simon@josefsson.org>
26256
26257         * lib/dup2.c (rpl_dup2): Improve comment.
26258
26259 2010-01-08  Eric Blake  <ebb9@byu.net>
26260
26261         maint.mk: allow packages to add makefile @@ exceptions
26262         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
26263         (sc_makefile_check): Rename...
26264         (sc_makefile_at_at_check): ...to this, and use hook.
26265
26266         dup2: work around mingw bug
26267         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
26268         Reported by Simon Josefsson.
26269
26270 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
26271
26272         glob: Fix C++ compilation.
26273         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
26274         C++.
26275
26276 2010-01-07  Bruno Haible  <bruno@clisp.org>
26277
26278         Fix indentation of wctype.in.h, broken since 2007-01-06.
26279         * lib/wctype.in.h: Fix indentation of preprocessor directives.
26280
26281 2010-01-07  Bruno Haible  <bruno@clisp.org>
26282
26283         mbslen: Avoid collision with system function.
26284         * lib/string.in.h [MirBSD]: Include <wchar.h>.
26285         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
26286         * m4/mbslen.m4: New file.
26287         * modules/mbslen (Files): Add it.
26288         (configure.ac): Invoke gl_MBSLEN.
26289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
26290         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
26291         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
26292         via Ian Beckwith <ianb@erislabs.net>.
26293
26294 2010-01-07  Bruno Haible  <bruno@clisp.org>
26295
26296         dirent: Document the last fix.
26297         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
26298
26299 2010-01-07  Bruno Haible  <bruno@clisp.org>
26300
26301         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
26302         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
26303         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
26304         va_list are defined.
26305         * doc/posix-headers/stdio.texi: Document the bug of missing types.
26306         Reported by Eric Blake.
26307
26308 2010-01-07  Bruno Haible  <bruno@clisp.org>
26309
26310         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
26311         * modules/xlist (Depends-on): Add 'list',
26312         * modules/xoset (Depends-on): Add 'oset'.
26313         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26314
26315 2010-01-07  Bruno Haible  <bruno@clisp.org>
26316
26317         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
26318         * doc/posix-functions/strncasecmp.texi: Likewise.
26319
26320 2010-01-07  Bruno Haible  <bruno@clisp.org>
26321
26322         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
26323
26324 2010-01-07  John W. Eaton  <jwe@octave.org>
26325
26326         wctype: allow C++ use
26327         * lib/wctype.in.h: Add extern "C" block for C++.
26328
26329 2010-01-06  Eric Blake  <ebb9@byu.net>
26330
26331         maint.mk: detect incorrect GFDL usage
26332         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
26333
26334 2010-01-06  Jim Meyering  <meyering@redhat.com>
26335         and Eric Blake  <ebb9@byu.net>
26336
26337         maint.mk: ignore multi-line copyright in NEWS
26338         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
26339
26340 2010-01-06  Eric Blake  <ebb9@byu.net>
26341
26342         select: add missing dependency
26343         * modules/select-tests (Depends-on): Move sockets dependency...
26344         * modules/select (Depends-on): ...here.
26345         Reported by Ian Beckwith.
26346
26347         doc: regenerate INSTALL
26348         * doc/INSTALL: Reflect recent autoconf update.
26349         * doc/INSTALL.ISO: Likewise.
26350         * doc/INSTALL.UTF-8: Likewise.
26351
26352         pread: fix compilation on glibc
26353         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
26354         Reported by Ralf Wildenhues.
26355
26356         dirent: fix test failure
26357         * lib/dirent.in.h (includes): Guarantee ino_t.
26358         Reported by Ralf Wildenhues.
26359
26360 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
26361
26362         linkat, renameat: avoid bad free
26363         * lib/at-func2.c (at_func2): Fix typo.
26364         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
26365
26366 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26367
26368         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
26369         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
26370         to avoid failure of symlink test later.
26371
26372 2010-01-06  Eric Blake  <ebb9@byu.net>
26373
26374         stdio, unistd: guarantee ssize_t
26375         * lib/unistd.in.h (includes): Ensure that types required by POSIX
26376         2008 are exposed when needed.
26377         * lib/stdio.in.h (includes): Likewise.
26378         Reported by Ralf Wildenhues.
26379
26380 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
26381
26382         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
26383         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
26384         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
26385
26386 2010-01-06  Jim Meyering  <meyering@redhat.com>
26387
26388         readtokens: this module *does* require xalloc.h
26389         It uses only functions that were omitted by the old syntax-check rule.
26390         * lib/readtokens.c: Include "xalloc.h" once again.
26391         * modules/readtokens (Depends-on): Add xalloc.
26392         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
26393
26394 2010-01-05  Eric Blake  <ebb9@byu.net>
26395
26396         maint: support 'make announcement' from a VPATH build
26397         * top/maint.mk (announcement): Look for correct NEWS file.
26398
26399 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
26400
26401         utimens (fdutimens): ignore a negative FD, per contract
26402         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
26403         when we have a valid file descriptor.  Otherwise, using a brand
26404         new glibc (with just-patched futimens that now fails with EBADF)
26405         would cause this function to fail with ENOSYS.
26406         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
26407         See also http://bugzilla.redhat.com/552320.
26408
26409 2010-01-05  Eric Blake  <ebb9@byu.net>
26410
26411         strcase: document what it provides
26412         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
26413         gnulib module.
26414         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
26415         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
26416
26417 2010-01-05  Jim Meyering  <meyering@redhat.com>
26418
26419         maint: remove useless inclusions of "xalloc.h"
26420         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
26421         * lib/readtokens.c: Likewise.
26422         * lib/same.c: Likewise.
26423         * modules/getloadavg (Depends-on): Remove xalloc.
26424         * modules/readtokens: Likewise.
26425         * modules/same: Likewise.
26426
26427         maint.mk: include 4 more function names in alloca.h-checking regexp
26428         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
26429         regexp.  Before, we would give a false-positive (saying alloca.h
26430         is included unnecessarily) when the only uses involved omitted symbols.
26431
26432         xalloc.h: use consistent formatting
26433         * lib/xalloc.h: Move declarations to start in the first column.
26434
26435 2010-01-05  Eric Blake  <ebb9@byu.net>
26436
26437         mkdir: avoid xalloc
26438         * lib/mkdir.c (includes): Drop unused header.
26439         Reported by John W. Eaton.
26440
26441 2010-01-04  Jim Meyering  <meyering@redhat.com>
26442
26443         nl_langinfo: avoid configure-time syntax error
26444         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
26445         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
26446         the empty string.  Don't let that provoke a shell syntax error.
26447
26448         regcomp, regexec, fnmatch: avoid array bounds read error
26449         * lib/regcomp.c (build_equiv_class): From glibc:
26450         Use only the low 24 bits of a findidx return value as an index
26451         into the weights array.  Patch by Ulrich Drepper:
26452         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
26453         * lib/regexec.c (check_node_accept_bytes): Likewise.
26454         * lib/fnmatch_loop.c (FCT): Likewise.
26455
26456         regcomp: skip collseq lookup when there are no rules
26457         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
26458         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
26459
26460         regcomp: recognize ill-formed { } expressions
26461         * lib/regcomp.c (parse_dup_op): From glibc:
26462         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
26463
26464         regcomp: fix typo in comment
26465         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
26466         s/satisfy/satisfies/.
26467
26468         regcomp: sync from glibc: remove dead store
26469         * lib/regcomp.c (duplicate_node_closure): Remove useless
26470         search_duplicated_node call and dead store.
26471
26472         regcomp: sync from glibc; always use nl_langinfo
26473         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
26474         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
26475         * modules/regex (Depends-on): Add nl_langinfo.
26476
26477 2010-01-04  Eric Blake  <ebb9@byu.net>
26478
26479         fdopendir: fix configure test
26480         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
26481
26482 2010-01-01  Bruno Haible  <bruno@clisp.org>
26483
26484         wchar: Remove unused configure check.
26485         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
26486
26487 2010-01-01  Eric Blake  <ebb9@byu.net>
26488
26489         headers: make check of system header explicit
26490         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
26491         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
26492         ourselves.
26493         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26494         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26495         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
26496         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
26497         internals.
26498         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
26499         missing.
26500         Suggested by Bruno Haible.
26501
26502 2010-01-01  Jim Meyering  <meyering@redhat.com>
26503
26504         ChangeLog: tweak to eliminate unnecessary copyright line
26505         * ChangeLog: Remove a copyright line that was mistakenly updated
26506         by today's update-copyright run.  Reported by Eric Blake.
26507
26508         test-update-copyright: don't let envvar setting cause test failure
26509         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
26510
26511 2010-01-01  Bruno Haible  <bruno@clisp.org>
26512
26513         localename: Avoid gcc warning.
26514         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
26515         function if it is not used.
26516
26517 2010-01-01  Jim Meyering  <meyering@redhat.com>
26518
26519         update nearly all FSF copyright year lists to include 2010
26520         Use the same procedure as for 2009, outlined in
26521         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
26522
26523         version-etc: set COPYRIGHT_YEAR to 2010
26524         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
26525
26526 2009-12-31  Eric Blake  <ebb9@byu.net>
26527
26528         doc: correct availability of cygwin 1.5.x getopt
26529         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
26530         variables.
26531         * doc/posix-functions/opterr.texi (opterr): Likewise.
26532         * doc/posix-functions/optind.texi (optind): Likewise.
26533         * doc/posix-functions/optopt.texi (optopt): Likewise.
26534         * doc/posix-functions/tzname.texi (tzname): Likewise.
26535
26536         openat: update maintainer
26537         * modules/openat (Maintainer): Add myself.
26538
26539         utimens: avoid shadowing warning
26540         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
26541         buffers into one, to avoid shadowing, as well as avoiding a
26542         redundant stat.
26543         Reported by Jim Meyering.
26544
26545         test-dup2: avoid compiler warning
26546         * tests/test-dup2.c (is_inheritable): Only define if used.
26547
26548 2010-01-01  Bruno Haible  <bruno@clisp.org>
26549
26550         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
26551         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
26552         defined, use wctomb instead of wcrtomb.
26553
26554 2010-01-01  Bruno Haible  <bruno@clisp.org>
26555
26556         iconv: Reject native Solaris iconv.
26557         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
26558         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
26559
26560 2009-12-31  Bruno Haible  <bruno@clisp.org>
26561
26562         * tests/test-signal.c (main): Remove test of 'SIG'.
26563
26564 2009-12-31  Bruno Haible  <bruno@clisp.org>
26565
26566         spawn: Fix incomplete fix.
26567         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
26568         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
26569         warnings for GNULIB_POSIXCHECK again.
26570         Reported by Eric Blake.
26571
26572 2009-12-31  Bruno Haible  <bruno@clisp.org>
26573
26574         Avoid namespace pollution on glibc systems.
26575         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
26576         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
26577         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
26578         glibc systems.
26579
26580 2009-12-31  Bruno Haible  <bruno@clisp.org>
26581
26582         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
26583         (gl_REPLACE_WCHAR_H): Turn into a no-op.
26584         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
26585         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
26586         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
26587         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
26588         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
26589
26590 2009-12-31  Bruno Haible  <bruno@clisp.org>
26591
26592         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
26593         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
26594         afterwards.
26595
26596 2009-12-31  Bruno Haible  <bruno@clisp.org>
26597
26598         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
26599         SYS_UTSNAME_H.
26600
26601 2009-12-31  Bruno Haible  <bruno@clisp.org>
26602
26603         spawn: Fix misapplied patch.
26604         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
26605         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
26606         warnings for GNULIB_POSIXCHECK.
26607
26608 2009-12-31  Bruno Haible  <bruno@clisp.org>
26609
26610         times: Update after sys_times changed.
26611         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
26612         * modules/times (Files): Add it.
26613         (configure.ac): Invoke gl_FUNC_TIMES.
26614
26615 2009-12-31  Bruno Haible  <bruno@clisp.org>
26616
26617         Use AC_C_INLINE where necessary.
26618         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
26619         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26620         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
26621         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
26622         * m4/mbfile.m4 (gl_MBFILE): Likewise.
26623         * m4/mbiter.m4 (gl_MBITER): Likewise.
26624         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
26625         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26626         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
26627         * modules/u64 (configure.ac): Likewise.
26628
26629 2009-12-31  Bruno Haible  <bruno@clisp.org>
26630
26631         Use AC_C_INLINE instead of module 'inline' where possible.
26632         * modules/inline (Description): Clarify purpose.
26633         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
26634         * modules/count-one-bits (Depends-on): Remove inline.
26635         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
26636         * modules/openat (Depends-on): Remove inline.
26637         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
26638         instead of depending on module 'inline'.
26639         * modules/filevercmp (Depends-on, configure.ac): Likewise.
26640         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
26641         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
26642         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
26643         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
26644         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
26645         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
26646         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
26647         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
26648         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
26649         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
26650         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
26651         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
26652         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
26653         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
26654         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
26655         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
26656         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
26657         Likewise.
26658         * modules/unictype/property-ascii-hex-digit (Depends-on,
26659         configure.ac): Likewise.
26660         * modules/unictype/property-bidi-arabic-digit (Depends-on,
26661         configure.ac): Likewise.
26662         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
26663         configure.ac): Likewise.
26664         * modules/unictype/property-bidi-block-separator (Depends-on,
26665         configure.ac): Likewise.
26666         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
26667         configure.ac): Likewise.
26668         * modules/unictype/property-bidi-common-separator (Depends-on,
26669         configure.ac): Likewise.
26670         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
26671         Likewise.
26672         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
26673         configure.ac): Likewise.
26674         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
26675         configure.ac): Likewise.
26676         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
26677         configure.ac): Likewise.
26678         * modules/unictype/property-bidi-european-digit (Depends-on,
26679         configure.ac): Likewise.
26680         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
26681         configure.ac): Likewise.
26682         * modules/unictype/property-bidi-left-to-right (Depends-on,
26683         configure.ac): Likewise.
26684         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
26685         configure.ac): Likewise.
26686         * modules/unictype/property-bidi-other-neutral (Depends-on,
26687         configure.ac): Likewise.
26688         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
26689         Likewise.
26690         * modules/unictype/property-bidi-segment-separator (Depends-on,
26691         configure.ac): Likewise.
26692         * modules/unictype/property-bidi-whitespace (Depends-on,
26693         configure.ac): Likewise.
26694         * modules/unictype/property-combining (Depends-on, configure.ac):
26695         Likewise.
26696         * modules/unictype/property-composite (Depends-on, configure.ac):
26697         Likewise.
26698         * modules/unictype/property-currency-symbol (Depends-on,
26699         configure.ac): Likewise.
26700         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
26701         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
26702         Likewise.
26703         * modules/unictype/property-default-ignorable-code-point (Depends-on,
26704         configure.ac): Likewise.
26705         * modules/unictype/property-deprecated (Depends-on, configure.ac):
26706         Likewise.
26707         * modules/unictype/property-diacritic (Depends-on, configure.ac):
26708         Likewise.
26709         * modules/unictype/property-extender (Depends-on, configure.ac):
26710         Likewise.
26711         * modules/unictype/property-format-control (Depends-on, configure.ac):
26712         Likewise.
26713         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
26714         Likewise.
26715         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
26716         Likewise.
26717         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
26718         Likewise.
26719         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
26720         Likewise.
26721         * modules/unictype/property-hyphen (Depends-on, configure.ac):
26722         Likewise.
26723         * modules/unictype/property-id-continue (Depends-on, configure.ac):
26724         Likewise.
26725         * modules/unictype/property-id-start (Depends-on, configure.ac):
26726         Likewise.
26727         * modules/unictype/property-ideographic (Depends-on, configure.ac):
26728         Likewise.
26729         * modules/unictype/property-ids-binary-operator (Depends-on,
26730         configure.ac): Likewise.
26731         * modules/unictype/property-ids-trinary-operator (Depends-on,
26732         configure.ac): Likewise.
26733         * modules/unictype/property-ignorable-control (Depends-on,
26734         configure.ac): Likewise.
26735         * modules/unictype/property-iso-control (Depends-on, configure.ac):
26736         Likewise.
26737         * modules/unictype/property-join-control (Depends-on, configure.ac):
26738         Likewise.
26739         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
26740         Likewise.
26741         * modules/unictype/property-line-separator (Depends-on, configure.ac):
26742         Likewise.
26743         * modules/unictype/property-logical-order-exception (Depends-on,
26744         configure.ac): Likewise.
26745         * modules/unictype/property-lowercase (Depends-on, configure.ac):
26746         Likewise.
26747         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
26748         * modules/unictype/property-non-break (Depends-on, configure.ac):
26749         Likewise.
26750         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
26751         Likewise.
26752         * modules/unictype/property-numeric (Depends-on, configure.ac):
26753         Likewise.
26754         * modules/unictype/property-other-alphabetic (Depends-on,
26755         configure.ac): Likewise.
26756         * modules/unictype/property-other-default-ignorable-code-point
26757         (Depends-on, configure.ac): Likewise.
26758         * modules/unictype/property-other-grapheme-extend (Depends-on,
26759         configure.ac): Likewise.
26760         * modules/unictype/property-other-id-continue (Depends-on,
26761         configure.ac): Likewise.
26762         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
26763         Likewise.
26764         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
26765         Likewise.
26766         * modules/unictype/property-other-math (Depends-on, configure.ac):
26767         Likewise.
26768         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
26769         Likewise.
26770         * modules/unictype/property-paired-punctuation (Depends-on,
26771         configure.ac): Likewise.
26772         * modules/unictype/property-paragraph-separator (Depends-on,
26773         configure.ac): Likewise.
26774         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
26775         Likewise.
26776         * modules/unictype/property-pattern-white-space (Depends-on,
26777         configure.ac): Likewise.
26778         * modules/unictype/property-private-use (Depends-on, configure.ac):
26779         Likewise.
26780         * modules/unictype/property-punctuation (Depends-on, configure.ac):
26781         Likewise.
26782         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
26783         Likewise.
26784         * modules/unictype/property-radical (Depends-on, configure.ac):
26785         Likewise.
26786         * modules/unictype/property-sentence-terminal (Depends-on,
26787         configure.ac): Likewise.
26788         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
26789         Likewise.
26790         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
26791         * modules/unictype/property-terminal-punctuation (Depends-on,
26792         configure.ac): Likewise.
26793         * modules/unictype/property-titlecase (Depends-on, configure.ac):
26794         Likewise.
26795         * modules/unictype/property-unassigned-code-value (Depends-on,
26796         configure.ac): Likewise.
26797         * modules/unictype/property-unified-ideograph (Depends-on,
26798         configure.ac): Likewise.
26799         * modules/unictype/property-uppercase (Depends-on, configure.ac):
26800         Likewise.
26801         * modules/unictype/property-variation-selector (Depends-on,
26802         configure.ac): Likewise.
26803         * modules/unictype/property-white-space (Depends-on, configure.ac):
26804         Likewise.
26805         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
26806         Likewise.
26807         * modules/unictype/property-xid-start (Depends-on, configure.ac):
26808         Likewise.
26809         * modules/unictype/property-zero-width (Depends-on, configure.ac):
26810         Likewise.
26811         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
26812         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
26813         Likewise.
26814
26815 2009-12-31  Bruno Haible  <bruno@clisp.org>
26816
26817         Remove unnecessary AC_C_INLINE invocation.
26818         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
26819         since 2009-08-21.
26820
26821 2009-12-31  Jim Meyering  <meyering@redhat.com>
26822
26823         maint.mk: don't require explicit gpg_key_ID in cfg.mk
26824         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
26825         With this change, we can all remove the gpg_key_ID = ... definition
26826         from our respective cfg.mk files.
26827
26828         maint.mk: create announcement template in ~/, not in /tmp
26829         * top/maint.mk (emit_upload_commands): Adjust.
26830         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
26831         Remove temporary file, .ci-msg.
26832
26833 2009-12-31  Eric Blake  <ebb9@byu.net>
26834
26835         link-warning: always build headers with link warnings
26836         * modules/arpa_inet (Makefile.am): Always build replacement
26837         header.
26838         * modules/ctype (Makefile.am): Likewise.
26839         * modules/dirent (Makefile.am): Likewise.
26840         * modules/inttypes (Makefile.am): Likewise.
26841         * modules/langinfo (Makefile.am): Likewise.
26842         * modules/locale (Makefile.am): Likewise.
26843         * modules/spawn (Makefile.am): Likewise.
26844         * modules/sys_file (Makefile.am): Likewise.
26845         * modules/sys_ioctl (Makefile.am): Likewise.
26846         * modules/sys_select (Makefile.am): Likewise.
26847         * modules/sys_socket (Makefile.am): Likewise.
26848         * modules/sys_times (Makefile.am): Likewise.
26849         * modules/sys_utsname (Makefile.am): Likewise.
26850         * modules/sys_wait (Makefile.am): Likewise.
26851         * modules/wchar (Makefile.am): Likewise.
26852         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
26853         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
26854         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
26855         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
26856         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
26857         Likewise.
26858         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26859         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26860         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
26861         Likewise.
26862         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
26863         Likewise.
26864         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
26865         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
26866         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
26867         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26868         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26869         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
26870         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
26871         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
26872         (gl_WCHAR_H_DEFAULTS): Likewise.
26873
26874 2009-12-31  Eric Blake  <ebb9@byu.net>
26875
26876         signal, spawn: use link warnings
26877         * lib/signal.in.h (sigset_t): Make unconditional.
26878         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
26879         (sigpending, sigprocmask, sigaction): Add link warnings.
26880         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
26881         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
26882         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
26883         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
26884         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
26885         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
26886         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
26887         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
26888         (posix_spawn_file_actions_destroy)
26889         (posix_spawn_file_actions_addopen)
26890         (posix_spawn_file_actions_addclose)
26891         (posix_spawn_file_actions_adddup2): Likewise.
26892         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
26893         * tests/test-signal.c (main): Enhance test.
26894
26895         spawn: improve wrapper support
26896         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
26897         (gl_SPAWN_H_DEFAULTS): New defaults.
26898         * modules/spawn (Makefile.am): Substitute them.
26899         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
26900         Only declare if missing or broken.
26901
26902         sys_times, sys_utsname: use include_next
26903         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
26904         header.
26905         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
26906         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
26907         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
26908         * modules/sys_times (Depends-on): Add include_next.
26909         (Makefile.am): Substitute additional values.
26910         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
26911         * lib/sys_times.in.h (includes): Include native header, if
26912         available.
26913         * lib/sys_utsname.in.h (includes): Likewise.
26914         * tests/test-sys_times.c (main): Enhance test.
26915
26916         fdutimensat: revert prior patch
26917         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
26918         utimens.h.
26919         Reported by Bruno Haible.
26920
26921 2009-12-30  Eric Blake  <ebb9@byu.net>
26922
26923         sys_wait: drop link-warning dependency
26924         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
26925         link-warning efforts.
26926         * lib/sys_wait.in.h: Likewise.
26927
26928         fdutimensat: remove bogus dependency
26929         * modules/fdutimensat (Depends-on): Drop inline.
26930
26931         unistd: fix typo
26932         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
26933
26934 2009-12-30  Bruno Haible  <bruno@clisp.org>
26935
26936         Fix compilation error with Solaris cc.
26937         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
26938         * lib/unicase/u16-is-invariant.c: Likewise.
26939         * lib/unicase/u32-is-invariant.c: Likewise.
26940         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26941
26942 2009-12-30  Bruno Haible  <bruno@clisp.org>
26943
26944         Fix test crash.
26945         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
26946         locales.
26947         Reported by Simon Josefsson <simon@josefsson.org>.
26948
26949 2009-12-30  Bruno Haible  <bruno@clisp.org>
26950
26951         Fix compilation error on most platforms.
26952         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
26953         Reported by Simon Josefsson <simon@josefsson.org>
26954         and Nelson H. F. Beebe <beebe@math.utah.edu>.
26955
26956 2009-12-30  Eric Blake  <ebb9@byu.net>
26957
26958         futimens, utimensat: work around ntfs-3g bug
26959         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
26960         a ctime bug is present, and expand workaround to cover ntfs-3g.
26961         * lib/utimens.c (fdutimens, lutimens): Likewise.
26962         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
26963         (validate_timespec): Adjust return value.
26964         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
26965         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26966         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
26967
26968 2009-12-29  Eric Blake  <ebb9@byu.net>
26969
26970         link-warning: make usage consistent
26971         * modules/ctype (Depends-on): Add link-warning.
26972         (Makefile.am): Update rules accordingly.
26973         * modules/langinfo (Depends-on, Makefile.am): Likewise.
26974         * modules/locale (Depends-on, Makefile.am): Likewise.
26975         * modules/sys_file (Makefile.am): Likewise.
26976         * modules/getopt-posix (Makefile.am): Delete unused link warning
26977         efforts.
26978         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
26979         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
26980         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
26981         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
26982
26983         stdio: remove unused variables
26984         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
26985         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
26986         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26987
26988         tests: test more substitute headers
26989         * modules/ctype-tests: New file.
26990         * modules/dirent-tests: Likewise.
26991         * modules/spawn-tests: Likewise.
26992         * modules/sys_file-tests: Likewise.
26993         * modules/sys_ioctl-tests: Likewise.
26994         * modules/sys_wait-tests: Likewise.
26995         * tests/test-ctype.c: Likewise.
26996         * tests/test-dirent.c: Likewise.
26997         * tests/test-spawn.c: Likewise.
26998         * tests/test-sys_file.c: Likewise.
26999         * tests/test-sys_ioctl.c: Likewise.
27000         * tests/test-sys_wait.c: Likewise.
27001         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
27002         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
27003         whether or not flock is in use.
27004
27005         tests: remove License section from module
27006         * modules/arpa_inet-tests: Remove unneeded section.
27007         * modules/byteswap-tests: Likewise.
27008         * modules/ceilf-tests: Likewise.
27009         * modules/ceill-tests: Likewise.
27010         * modules/crypto/des-tests: Likewise.
27011         * modules/crypto/gc-arcfour-tests: Likewise.
27012         * modules/crypto/gc-arctwo-tests: Likewise.
27013         * modules/crypto/gc-des-tests: Likewise.
27014         * modules/crypto/gc-hmac-md5-tests: Likewise.
27015         * modules/crypto/gc-hmac-sha1-tests: Likewise.
27016         * modules/crypto/gc-md2-tests: Likewise.
27017         * modules/crypto/gc-md4-tests: Likewise.
27018         * modules/crypto/gc-md5-tests: Likewise.
27019         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
27020         * modules/crypto/gc-rijndael-tests: Likewise.
27021         * modules/crypto/gc-sha1-tests: Likewise.
27022         * modules/crypto/gc-tests: Likewise.
27023         * modules/crypto/md2-tests: Likewise.
27024         * modules/crypto/md4-tests: Likewise.
27025         * modules/fcntl-h-tests: Likewise.
27026         * modules/floorf-tests: Likewise.
27027         * modules/floorl-tests: Likewise.
27028         * modules/frexp-nolibm-tests: Likewise.
27029         * modules/frexp-tests: Likewise.
27030         * modules/frexpl-nolibm-tests: Likewise.
27031         * modules/frexpl-tests: Likewise.
27032         * modules/getaddrinfo-tests: Likewise.
27033         * modules/inttypes-tests: Likewise.
27034         * modules/isfinite-tests: Likewise.
27035         * modules/isinf-tests: Likewise.
27036         * modules/ldexpl-tests: Likewise.
27037         * modules/locale-tests: Likewise.
27038         * modules/math-tests: Likewise.
27039         * modules/netdb-tests: Likewise.
27040         * modules/netinet_in-tests: Likewise.
27041         * modules/printf-frexp-tests: Likewise.
27042         * modules/printf-frexpl-tests: Likewise.
27043         * modules/priv-set-tests: Likewise.
27044         * modules/random_r-tests: Likewise.
27045         * modules/round-tests: Likewise.
27046         * modules/roundf-tests: Likewise.
27047         * modules/roundl-tests: Likewise.
27048         * modules/search-tests: Likewise.
27049         * modules/select-tests: Likewise.
27050         * modules/signal-tests: Likewise.
27051         * modules/stdbool-tests: Likewise.
27052         * modules/stddef-tests: Likewise.
27053         * modules/stdint-tests: Likewise.
27054         * modules/stdio-tests: Likewise.
27055         * modules/stdlib-tests: Likewise.
27056         * modules/string-tests: Likewise.
27057         * modules/strings-tests: Likewise.
27058         * modules/sys_select-tests: Likewise.
27059         * modules/sys_socket-tests: Likewise.
27060         * modules/sys_stat-tests: Likewise.
27061         * modules/sys_time-tests: Likewise.
27062         * modules/sys_utsname-tests: Likewise.
27063         * modules/sysexits-tests: Likewise.
27064         * modules/time-tests: Likewise.
27065         * modules/trunc-tests: Likewise.
27066         * modules/truncf-tests: Likewise.
27067         * modules/truncl-tests: Likewise.
27068         * modules/tsearch-tests: Likewise.
27069         * modules/unistd-tests: Likewise.
27070         * modules/wchar-tests: Likewise.
27071         * modules/wctype-tests: Likewise.
27072
27073         tests: fix license on several tests
27074         * tests/test-des.c: Update to GPLv3+.
27075         * tests/test-flock.c: Likewise.
27076         * tests/test-fsync.c: Likewise.
27077         * tests/test-futimens.h: Likewise.
27078         * tests/test-gc-arcfour.c: Likewise.
27079         * tests/test-gc-arctwo.c: Likewise.
27080         * tests/test-gc-des.c: Likewise.
27081         * tests/test-gc-hmac-md5.c: Likewise.
27082         * tests/test-gc-hmac-sha1.c: Likewise.
27083         * tests/test-gc-md2.c: Likewise.
27084         * tests/test-gc-md4.c: Likewise.
27085         * tests/test-gc-md5.c: Likewise.
27086         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27087         * tests/test-gc-rijndael.c: Likewise.
27088         * tests/test-gc-sha1.c: Likewise.
27089         * tests/test-gc.c: Likewise.
27090         * tests/test-getcwd.c: Likewise.
27091         * tests/test-link.c: Likewise.
27092         * tests/test-link.h: Likewise.
27093         * tests/test-lutimens.h: Likewise.
27094         * tests/test-md2.c: Likewise.
27095         * tests/test-md4.c: Likewise.
27096         * tests/test-mkdir.h: Likewise.
27097         * tests/test-rename.c: Likewise.
27098         * tests/test-rename.h: Likewise.
27099         * tests/test-safe-alloc.c: Likewise.
27100         * tests/test-utimens-common.h: Likewise.
27101         * tests/test-utimens.h: Likewise.
27102
27103         maint: sync license texts
27104         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
27105         * doc/gpl-3.0.texi: Revert copyright year update.
27106         * doc/lgpl-3.0.texi: Likewise.
27107
27108 2009-12-29  Jim Meyering  <meyering@redhat.com>
27109
27110         update nearly all FSF copyright year lists to include 2009
27111         The files named by the following are exempted:
27112             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
27113               test -f "$dst" && { echo "$dst"; continue; }
27114               test -d "$dst" || continue
27115               echo "$dst"/$(basename "$src")
27116             done > exempt
27117             git ls-files tests/unictype >> exempt
27118         In the remaining files, convert to all-interval notation if
27119         - there is already at least one year interval like 2000-2003
27120         - the file is maintained by me
27121         - the file is in lib/uni*/, where that style already prevails
27122         Otherwise, use update-copyright's default.
27123
27124 2009-12-29  Simon Josefsson  <simon@josefsson.org>
27125         and Eric Blake  <ebb9@byu.net>
27126
27127         tests: don't require debug system() to pass
27128         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
27129         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27130         * tests/test-unlink.h (test_unlink_func): Likewise.
27131         * tests/test-fstatat.c (main): ...into callers.
27132         * tests/test-lstat.c (main): Likewise.
27133         * tests/test-rmdir.c (main): Likewise.
27134         * tests/test-unlink.c (main): Likewise.
27135         * tests/test-unlinkat.c (main): Likewise.
27136         * tests/test-areadlink-with-size.c (main): Don't require a
27137         debug-only system call to pass, aiding cross-testing to mingw.
27138         * tests/test-areadlink.c (main): Likewise.
27139         * tests/test-areadlinkat-with-size.c (main): Likewise.
27140         * tests/test-areadlinkat.c (main): Likewise.
27141         * tests/test-canonicalize-lgpl.c (main): Likewise.
27142         * tests/test-canonicalize.c (main): Likewise.
27143         * tests/test-chown.c (main): Likewise.
27144         * tests/test-fchownat.c (main): Likewise.
27145         * tests/test-lchown.c (main): Likewise.
27146         * tests/test-fdutimensat.c (main): Likewise.
27147         * tests/test-futimens.c (main): Likewise.
27148         * tests/test-link.c (main): Likewise.
27149         * tests/test-linkat.c (main): Likewise.
27150         * tests/test-mkdir.c (main): Likewise.
27151         * tests/test-mkdirat.c (main): Likewise.
27152         * tests/test-mkfifo.c (main): Likewise.
27153         * tests/test-mkfifoat.c (main): Likewise.
27154         * tests/test-mknod.c (main): Likewise.
27155         * tests/test-readlink.c (main): Likewise.
27156         * tests/test-remove.c (main): Likewise.
27157         * tests/test-rename.c (main): Likewise.
27158         * tests/test-renameat.c (main): Likewise.
27159         * tests/test-symlink.c (main): Likewise.
27160         * tests/test-symlinkat.c (main): Likewise.
27161         * tests/test-utimens.c (main): Likewise.
27162         * tests/test-utimensat.c (main): Likewise.
27163
27164 2009-12-29  Simon Josefsson  <simon@josefsson.org>
27165
27166         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
27167         on $(UNUSED_PARAMETER_H) to avoid build failure.
27168
27169 2009-12-28  Jim Meyering  <meyering@redhat.com>
27170
27171         update-copyright: you may specify a max. line length other than 72
27172         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
27173
27174         maint: use consistent FSF copyright line syntax
27175         * lib/posixtm.c: Add missing comma in FSF copyright line.
27176         * lib/posixtm.h: Likewise.
27177         * lib/getugroups.c: Add missing ", Inc.".
27178
27179         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
27180         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
27181         FSF copyright line.  Remove trailing blanks.
27182
27183 2009-12-28  Eric Blake  <ebb9@byu.net>
27184
27185         test-dup2: reduce dependencies
27186         * modules/cloexec (Configure.ac): Set witness.
27187         * modules/dup2-tests (Depends-on): Drop cloexec.
27188         * tests/test-dup2.c (main): Skip portion of test if cloexec module
27189         not present.
27190         Suggested by Bruno Haible.
27191
27192 2009-12-26  Bruno Haible  <bruno@clisp.org>
27193
27194         Remove an unneeded dependency.
27195         * modules/fseterr (Depends-on): Remove dup2.
27196
27197 2009-12-26  Eric Blake  <ebb9@byu.net>
27198
27199         tests: use macros.h in more places
27200         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
27201         (ASSERT_STREAM): Provide default of stderr.
27202         * tests/test-dirent-safer.c: Include macros.h, using alternate
27203         stream for assertions.
27204         * tests/test-dup-safer.c: Likewise.
27205         * tests/test-freopen-safer.c: Likewise.
27206         * tests/test-getopt.c: Likewise.
27207         * tests/test-openat-safer.c: Likewise.
27208         * tests/test-pipe.c: Likewise.
27209         * tests/test-popen-safer.c: Likewise.
27210         * modules/dirent-safer-tests (Files): Include macros.h.
27211         * modules/unistd-safer-tests (Files): Likewise.
27212         * modules/freopen-safer-tests (Files): Likewise.
27213         * modules/getopt-posix-tests (Files): Likewise.
27214         * modules/openat-safer-tests (Files): Likewise.
27215         * modules/pipe-tests (Files): Likewise.
27216
27217 2009-12-26  Bruno Haible  <bruno@clisp.org>
27218
27219         javacomp: Portability fix.
27220         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
27221         that it also works on Solaris.
27222
27223 2009-12-26  Bruno Haible  <bruno@clisp.org>
27224
27225         localename: Fix storage allocation of gl_locale_name_thread's result.
27226         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
27227         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
27228         all platforms that have 'uselocale'.
27229         (gl_locale_name_thread_unsafe): New function, extracted from
27230         gl_locale_name_thread.
27231         (gl_locale_name_thread): Call struniq on all platforms that have
27232         'uselocale'.
27233         * tests/test-localename.c (test_locale_name_thread): Check that the
27234         resulting strings are permanently allocated.
27235         * modules/localename-tests (Depends-on): Add strdup.
27236
27237 2009-12-26  Bruno Haible  <bruno@clisp.org>
27238
27239         * tests/test-localename.c (categories): Fill in the strings.
27240
27241 2009-12-26  Jim Meyering  <meyering@redhat.com>
27242
27243         isdir: complete the removal of m4/isdir.m4
27244         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
27245
27246         isdir: clean up, since at least grep still uses it
27247         * lib/isdir.c: Include "isdir.h".
27248         (S_ISDIR): Remove now-unneeded definition.
27249         * modules/isdir (Files): Add lib/isdir.h.
27250         * lib/isdir.h: New file, with declaration.
27251         * m4/isdir.m4: Remove file -- unneeded.
27252
27253 2009-12-25  Bruno Haible  <bruno@clisp.org>
27254
27255         selinux-h: Make generated .h files standalone.
27256         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
27257         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
27258         * lib/se-selinux.in.h: Likewise.
27259         * modules/selinux-h (Depends-on): Add unused-parameter.
27260         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
27261         selinux/selinux.h and selinux/context.h.
27262         Suggested by Eric Blake.
27263
27264 2009-12-25  Bruno Haible  <bruno@clisp.org>
27265
27266         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
27267         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
27268         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
27269         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
27270         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
27271
27272 2009-12-24  Bruno Haible  <bruno@clisp.org>
27273
27274         openat: Fix warning.
27275         * lib/openat-proc.c: Include <unistd.h>.
27276
27277 2009-12-24  Bruno Haible  <bruno@clisp.org>
27278
27279         New module 'unused-parameter'.
27280         * build-aux/unused-parameter.h: New file, extracted from earlier
27281         gnulib-common.m4.
27282         * modules/unused-parameter: New file.
27283         * lib/unistr.h: Include unused-parameter.h.
27284         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
27285         _GL_UNUSED.
27286         * modules/unistr/base (Depends-on): Add unused-parameter.
27287
27288 2009-12-24  Bruno Haible  <bruno@clisp.org>
27289
27290         Add missing dependencies to 'extensions' module.
27291         * m4/extensions.m4: Add comment.
27292         * modules/accept4 (Depends-on): Add extensions.
27293         * modules/dup3 (Depends-on): Likewise.
27294         * modules/fcntl (Depends-on): Likewise.
27295         * modules/futimens (Depends-on): Likewise.
27296         * modules/mknod (Depends-on): Likewise.
27297         * modules/pipe2 (Depends-on): Likewise.
27298         * modules/stat-time (Depends-on): Likewise.
27299         * modules/strcasestr-simple (Depends-on): Likewise.
27300         * modules/strsignal (Depends-on): Likewise.
27301         * modules/utimensat (Depends-on): Likewise.
27302         * modules/localcharset (Depends-on): Likewise. Needed because of
27303         gl_FCNTL_O_FLAGS.
27304         * modules/wcrtomb (Depends-on): Likewise. Needed because of
27305         AC_TYPE_MBSTATE_T.
27306         * modules/wcsnrtombs (Depends-on): Likewise.
27307         * modules/wcsrtombs (Depends-on): Likewise.
27308
27309 2009-12-24  Bruno Haible  <bruno@clisp.org>
27310
27311         binary-io: Avoid gcc warning due to SET_BINARY.
27312         * lib/binary-io.h (SET_BINARY): Cast the result to void.
27313         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
27314
27315 2009-12-24  Bruno Haible  <bruno@clisp.org>
27316
27317         Avoid future namespace pollution on glibc systems.
27318         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
27319         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
27320         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
27321         glibc systems.
27322
27323 2009-12-24  Bruno Haible  <bruno@clisp.org>
27324
27325         Refactor common macros used in tests.
27326         * tests/macros.h: New file.
27327         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
27328         and/or <stdlib.h>, if appropriate.
27329         (ASSERT, SIZEOF): Remove macros.
27330         * tests/test-areadlink-with-size.c: Likewise.
27331         * tests/test-areadlinkat.c: Likewise.
27332         * tests/test-areadlinkat-with-size.c: Likewise.
27333         * tests/test-argmatch.c: Likewise.
27334         * tests/test-argv-iter.c: Likewise.
27335         * tests/test-array-mergesort.c: Likewise.
27336         * tests/test-array_list.c: Likewise.
27337         * tests/test-array_oset.c: Likewise.
27338         * tests/test-avltree_list.c: Likewise.
27339         * tests/test-avltree_oset.c: Likewise.
27340         * tests/test-avltreehash_list.c: Likewise.
27341         * tests/test-base64.c: Likewise.
27342         * tests/test-binary-io.c: Likewise.
27343         * tests/test-bitrotate.c: Likewise.
27344         * tests/test-btowc.c: Likewise.
27345         * tests/test-byteswap.c: Likewise.
27346         * tests/test-c-ctype.c: Likewise.
27347         * tests/test-c-stack.c: Likewise.
27348         * tests/test-c-strcasecmp.c: Likewise.
27349         * tests/test-c-strcasestr.c: Likewise.
27350         * tests/test-c-strncasecmp.c: Likewise.
27351         * tests/test-c-strstr.c: Likewise.
27352         * tests/test-canonicalize-lgpl.c: Likewise.
27353         * tests/test-canonicalize.c: Likewise.
27354         * tests/test-carray_list.c: Likewise.
27355         * tests/test-ceilf1.c: Likewise.
27356         * tests/test-ceilf2.c: Likewise.
27357         * tests/test-ceill.c: Likewise.
27358         * tests/test-chown.c: Likewise.
27359         * tests/test-cloexec.c: Likewise.
27360         * tests/test-copy-acl.c: Likewise.
27361         * tests/test-copy-file.c: Likewise.
27362         * tests/test-count-one-bits.c: Likewise.
27363         * tests/test-dprintf-posix.c: Likewise.
27364         * tests/test-dup2.c: Likewise.
27365         * tests/test-dup3.c: Likewise.
27366         * tests/test-duplocale.c: Likewise.
27367         * tests/test-fbufmode.c: Likewise.
27368         * tests/test-fchdir.c: Likewise.
27369         * tests/test-fchownat.c: Likewise.
27370         * tests/test-fcntl-safer.c: Likewise.
27371         * tests/test-fcntl.c: Likewise.
27372         * tests/test-fdopendir.c: Likewise.
27373         * tests/test-fdutimensat.c: Likewise.
27374         * tests/test-fflush2.c: Likewise.
27375         * tests/test-file-has-acl.c: Likewise.
27376         * tests/test-filevercmp.c: Likewise.
27377         * tests/test-flock.c: Likewise.
27378         * tests/test-floorf1.c: Likewise.
27379         * tests/test-floorf2.c: Likewise.
27380         * tests/test-floorl.c: Likewise.
27381         * tests/test-fnmatch.c: Likewise.
27382         * tests/test-fopen.h: Likewise.
27383         * tests/test-fpending.c: Likewise.
27384         * tests/test-fprintf-posix.c: Likewise.
27385         * tests/test-fpurge.c: Likewise.
27386         * tests/test-freadable.c: Likewise.
27387         * tests/test-freadahead.c: Likewise.
27388         * tests/test-freading.c: Likewise.
27389         * tests/test-freadptr.c: Likewise.
27390         * tests/test-freadptr2.c: Likewise.
27391         * tests/test-freadseek.c: Likewise.
27392         * tests/test-freopen.c: Likewise.
27393         * tests/test-frexp.c: Likewise.
27394         * tests/test-frexpl.c: Likewise.
27395         * tests/test-fseek.c: Likewise.
27396         * tests/test-fseeko.c: Likewise.
27397         * tests/test-fstatat.c: Likewise.
27398         * tests/test-fstrcmp.c: Likewise.
27399         * tests/test-fsync.c: Likewise.
27400         * tests/test-ftell.c: Likewise.
27401         * tests/test-ftello.c: Likewise.
27402         * tests/test-func.c: Likewise.
27403         * tests/test-futimens.c: Likewise.
27404         * tests/test-fwritable.c: Likewise.
27405         * tests/test-fwriting.c: Likewise.
27406         * tests/test-getcwd.c: Likewise.
27407         * tests/test-getdate.c: Likewise.
27408         * tests/test-getdelim.c: Likewise.
27409         * tests/test-getdtablesize.c: Likewise.
27410         * tests/test-getgroups.c: Likewise.
27411         * tests/test-getline.c: Likewise.
27412         * tests/test-getndelim2.c: Likewise.
27413         * tests/test-glob.c: Likewise.
27414         * tests/test-hash.c: Likewise.
27415         * tests/test-i-ring.c: Likewise.
27416         * tests/test-iconv-utf.c: Likewise.
27417         * tests/test-iconv.c: Likewise.
27418         * tests/test-idpriv-drop.c: Likewise.
27419         * tests/test-idpriv-droptemp.c: Likewise.
27420         * tests/test-inet_ntop.c: Likewise.
27421         * tests/test-inet_pton.c: Likewise.
27422         * tests/test-isblank.c: Likewise.
27423         * tests/test-isfinite.c: Likewise.
27424         * tests/test-isinf.c: Likewise.
27425         * tests/test-isnan.c: Likewise.
27426         * tests/test-isnand.h: Likewise.
27427         * tests/test-isnanf.h: Likewise.
27428         * tests/test-isnanl.h: Likewise.
27429         * tests/test-lchown.c: Likewise.
27430         * tests/test-ldexpl.c: Likewise.
27431         * tests/test-link.c: Likewise.
27432         * tests/test-linkat.c: Likewise.
27433         * tests/test-linked_list.c: Likewise.
27434         * tests/test-linkedhash_list.c: Likewise.
27435         * tests/test-localename.c: Likewise.
27436         * tests/test-lseek.c: Likewise.
27437         * tests/test-lstat.c: Likewise.
27438         * tests/test-mbmemcasecmp.c: Likewise.
27439         * tests/test-mbmemcasecoll.c: Likewise.
27440         * tests/test-mbrtowc.c: Likewise.
27441         * tests/test-mbscasecmp.c: Likewise.
27442         * tests/test-mbscasestr1.c: Likewise.
27443         * tests/test-mbscasestr2.c: Likewise.
27444         * tests/test-mbscasestr3.c: Likewise.
27445         * tests/test-mbscasestr4.c: Likewise.
27446         * tests/test-mbschr.c: Likewise.
27447         * tests/test-mbscspn.c: Likewise.
27448         * tests/test-mbsinit.c: Likewise.
27449         * tests/test-mbsncasecmp.c: Likewise.
27450         * tests/test-mbsnrtowcs.c: Likewise.
27451         * tests/test-mbspbrk.c: Likewise.
27452         * tests/test-mbspcasecmp.c: Likewise.
27453         * tests/test-mbsrchr.c: Likewise.
27454         * tests/test-mbsrtowcs.c: Likewise.
27455         * tests/test-mbsspn.c: Likewise.
27456         * tests/test-mbsstr1.c: Likewise.
27457         * tests/test-mbsstr2.c: Likewise.
27458         * tests/test-mbsstr3.c: Likewise.
27459         * tests/test-memchr.c: Likewise.
27460         * tests/test-memchr2.c: Likewise.
27461         * tests/test-memcmp.c: Likewise.
27462         * tests/test-memmem.c: Likewise.
27463         * tests/test-memrchr.c: Likewise.
27464         * tests/test-mkdir.c: Likewise.
27465         * tests/test-mkdirat.c: Likewise.
27466         * tests/test-mkfifo.c: Likewise.
27467         * tests/test-mkfifoat.c: Likewise.
27468         * tests/test-mknod.c: Likewise.
27469         * tests/test-nanosleep.c: Likewise.
27470         * tests/test-nl_langinfo.c: Likewise.
27471         * tests/test-obstack-printf.c: Likewise.
27472         * tests/test-open.c: Likewise.
27473         * tests/test-openat.c: Likewise.
27474         * tests/test-pipe-filter-gi1.c: Likewise.
27475         * tests/test-pipe-filter-gi2-main.c: Likewise.
27476         * tests/test-pipe-filter-ii1.c: Likewise.
27477         * tests/test-pipe-filter-ii2-main.c: Likewise.
27478         * tests/test-pipe2.c: Likewise.
27479         * tests/test-popen.h: Likewise.
27480         * tests/test-posixtm.c: Likewise.
27481         * tests/test-pread.c: Likewise.
27482         * tests/test-printf-frexp.c: Likewise.
27483         * tests/test-printf-frexpl.c: Likewise.
27484         * tests/test-printf-posix.c: Likewise.
27485         * tests/test-priv-set.c: Likewise.
27486         * tests/test-quotearg.c: Likewise.
27487         * tests/test-random_r.c: Likewise.
27488         * tests/test-rawmemchr.c: Likewise.
27489         * tests/test-rbtree_list.c: Likewise.
27490         * tests/test-rbtree_oset.c: Likewise.
27491         * tests/test-rbtreehash_list.c: Likewise.
27492         * tests/test-readlink.c: Likewise.
27493         * tests/test-remove.c: Likewise.
27494         * tests/test-rename.c: Likewise.
27495         * tests/test-renameat.c: Likewise.
27496         * tests/test-rmdir.c: Likewise.
27497         * tests/test-round1.c: Likewise.
27498         * tests/test-roundf1.c: Likewise.
27499         * tests/test-roundl.c: Likewise.
27500         * tests/test-safe-alloc.c: Likewise.
27501         * tests/test-sameacls.c: Likewise.
27502         * tests/test-set-mode-acl.c: Likewise.
27503         * tests/test-setenv.c: Likewise.
27504         * tests/test-sigaction.c: Likewise.
27505         * tests/test-signbit.c: Likewise.
27506         * tests/test-sleep.c: Likewise.
27507         * tests/test-snprintf-posix.c: Likewise.
27508         * tests/test-snprintf.c: Likewise.
27509         * tests/test-sprintf-posix.c: Likewise.
27510         * tests/test-stat-time.c: Likewise.
27511         * tests/test-stat.c: Likewise.
27512         * tests/test-strcasestr.c: Likewise.
27513         * tests/test-strchrnul.c: Likewise.
27514         * tests/test-strerror.c: Likewise.
27515         * tests/test-striconv.c: Likewise.
27516         * tests/test-striconveh.c: Likewise.
27517         * tests/test-striconveha.c: Likewise.
27518         * tests/test-strsignal.c: Likewise.
27519         * tests/test-strstr.c: Likewise.
27520         * tests/test-strtod.c: Likewise.
27521         * tests/test-strverscmp.c: Likewise.
27522         * tests/test-symlink.c: Likewise.
27523         * tests/test-symlinkat.c: Likewise.
27524         * tests/test-trunc1.c: Likewise.
27525         * tests/test-trunc2.c: Likewise.
27526         * tests/test-truncf1.c: Likewise.
27527         * tests/test-truncf2.c: Likewise.
27528         * tests/test-truncl.c: Likewise.
27529         * tests/test-uname.c: Likewise.
27530         * tests/test-unlink.c: Likewise.
27531         * tests/test-unlinkat.c: Likewise.
27532         * tests/test-unsetenv.c: Likewise.
27533         * tests/test-usleep.c: Likewise.
27534         * tests/test-utimens.c: Likewise.
27535         * tests/test-utimensat.c: Likewise.
27536         * tests/test-vasnprintf-posix.c: Likewise.
27537         * tests/test-vasnprintf-posix2.c: Likewise.
27538         * tests/test-vasnprintf.c: Likewise.
27539         * tests/test-vasprintf-posix.c: Likewise.
27540         * tests/test-vasprintf.c: Likewise.
27541         * tests/test-vdprintf-posix.c: Likewise.
27542         * tests/test-vfprintf-posix.c: Likewise.
27543         * tests/test-vprintf-posix.c: Likewise.
27544         * tests/test-vsnprintf-posix.c: Likewise.
27545         * tests/test-vsnprintf.c: Likewise.
27546         * tests/test-vsprintf-posix.c: Likewise.
27547         * tests/test-wcrtomb.c: Likewise.
27548         * tests/test-wcsnrtombs.c: Likewise.
27549         * tests/test-wcsrtombs.c: Likewise.
27550         * tests/test-wctype.c: Likewise.
27551         * tests/test-wcwidth.c: Likewise.
27552         * tests/test-xfprintf-posix.c: Likewise.
27553         * tests/test-xmemdup0.c: Likewise.
27554         * tests/test-xprintf-posix.c: Likewise.
27555         * tests/test-xvasprintf.c: Likewise.
27556         * tests/unicase/test-locale-language.c: Likewise.
27557         * tests/unicase/test-mapping-part1.h: Likewise.
27558         * tests/unicase/test-predicate-part1.h: Likewise.
27559         * tests/unicase/test-u8-casecmp.c: Likewise.
27560         * tests/unicase/test-u8-casecoll.c: Likewise.
27561         * tests/unicase/test-u8-casefold.c: Likewise.
27562         * tests/unicase/test-u8-is-cased.c: Likewise.
27563         * tests/unicase/test-u8-is-casefolded.c: Likewise.
27564         * tests/unicase/test-u8-is-lowercase.c: Likewise.
27565         * tests/unicase/test-u8-is-titlecase.c: Likewise.
27566         * tests/unicase/test-u8-is-uppercase.c: Likewise.
27567         * tests/unicase/test-u8-tolower.c: Likewise.
27568         * tests/unicase/test-u8-totitle.c: Likewise.
27569         * tests/unicase/test-u8-toupper.c: Likewise.
27570         * tests/unicase/test-u16-casecmp.c: Likewise.
27571         * tests/unicase/test-u16-casecoll.c: Likewise.
27572         * tests/unicase/test-u16-casefold.c: Likewise.
27573         * tests/unicase/test-u16-is-cased.c: Likewise.
27574         * tests/unicase/test-u16-is-casefolded.c: Likewise.
27575         * tests/unicase/test-u16-is-lowercase.c: Likewise.
27576         * tests/unicase/test-u16-is-titlecase.c: Likewise.
27577         * tests/unicase/test-u16-is-uppercase.c: Likewise.
27578         * tests/unicase/test-u16-tolower.c: Likewise.
27579         * tests/unicase/test-u16-totitle.c: Likewise.
27580         * tests/unicase/test-u16-toupper.c: Likewise.
27581         * tests/unicase/test-u32-casecmp.c: Likewise.
27582         * tests/unicase/test-u32-casecoll.c: Likewise.
27583         * tests/unicase/test-u32-casefold.c: Likewise.
27584         * tests/unicase/test-u32-is-cased.c: Likewise.
27585         * tests/unicase/test-u32-is-casefolded.c: Likewise.
27586         * tests/unicase/test-u32-is-lowercase.c: Likewise.
27587         * tests/unicase/test-u32-is-titlecase.c: Likewise.
27588         * tests/unicase/test-u32-is-uppercase.c: Likewise.
27589         * tests/unicase/test-u32-tolower.c: Likewise.
27590         * tests/unicase/test-u32-totitle.c: Likewise.
27591         * tests/unicase/test-u32-toupper.c: Likewise.
27592         * tests/unicase/test-ulc-casecmp.c: Likewise.
27593         * tests/unicase/test-ulc-casecoll.c: Likewise.
27594         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
27595         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
27596         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
27597         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
27598         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
27599         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
27600         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
27601         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
27602         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
27603         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
27604         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
27605         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
27606         * tests/unictype/test-bidi_byname.c: Likewise.
27607         * tests/unictype/test-bidi_name.c: Likewise.
27608         * tests/unictype/test-bidi_of.c: Likewise.
27609         * tests/unictype/test-bidi_test.c: Likewise.
27610         * tests/unictype/test-block_list.c: Likewise.
27611         * tests/unictype/test-block_of.c: Likewise.
27612         * tests/unictype/test-block_test.c: Likewise.
27613         * tests/unictype/test-categ_and.c: Likewise.
27614         * tests/unictype/test-categ_and_not.c: Likewise.
27615         * tests/unictype/test-categ_byname.c: Likewise.
27616         * tests/unictype/test-categ_name.c: Likewise.
27617         * tests/unictype/test-categ_none.c: Likewise.
27618         * tests/unictype/test-categ_of.c: Likewise.
27619         * tests/unictype/test-categ_or.c: Likewise.
27620         * tests/unictype/test-categ_test_withtable.c: Likewise.
27621         * tests/unictype/test-combining.c: Likewise.
27622         * tests/unictype/test-decdigit.c: Likewise.
27623         * tests/unictype/test-digit.c: Likewise.
27624         * tests/unictype/test-mirror.c: Likewise.
27625         * tests/unictype/test-numeric.c: Likewise.
27626         * tests/unictype/test-pr_byname.c: Likewise.
27627         * tests/unictype/test-pr_test.c: Likewise.
27628         * tests/unictype/test-predicate-part1.h: Likewise.
27629         * tests/unictype/test-scripts.c: Likewise.
27630         * tests/unictype/test-sy_c_ident.c: Likewise.
27631         * tests/unictype/test-sy_java_ident.c: Likewise.
27632         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
27633         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
27634         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
27635         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
27636         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
27637         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
27638         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
27639         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
27640         * tests/uninorm/test-canonical-decomposition.c: Likewise.
27641         * tests/uninorm/test-compat-decomposition.c: Likewise.
27642         * tests/uninorm/test-composition.c: Likewise.
27643         * tests/uninorm/test-decomposing-form.c: Likewise.
27644         * tests/uninorm/test-decomposition.c: Likewise.
27645         * tests/uninorm/test-u8-nfc.c: Likewise.
27646         * tests/uninorm/test-u8-nfd.c: Likewise.
27647         * tests/uninorm/test-u8-nfkc.c: Likewise.
27648         * tests/uninorm/test-u8-nfkd.c: Likewise.
27649         * tests/uninorm/test-u8-normcmp.c: Likewise.
27650         * tests/uninorm/test-u8-normcoll.c: Likewise.
27651         * tests/uninorm/test-u16-nfc.c: Likewise.
27652         * tests/uninorm/test-u16-nfd.c: Likewise.
27653         * tests/uninorm/test-u16-nfkc.c: Likewise.
27654         * tests/uninorm/test-u16-nfkd.c: Likewise.
27655         * tests/uninorm/test-u16-normcmp.c: Likewise.
27656         * tests/uninorm/test-u16-normcoll.c: Likewise.
27657         * tests/uninorm/test-u32-nfc.c: Likewise.
27658         * tests/uninorm/test-u32-nfd.c: Likewise.
27659         * tests/uninorm/test-u32-nfkc.c: Likewise.
27660         * tests/uninorm/test-u32-nfkd.c: Likewise.
27661         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27662         * tests/uninorm/test-u32-normcmp.c: Likewise.
27663         * tests/uninorm/test-u32-normcoll.c: Likewise.
27664         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
27665         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
27666         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
27667         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
27668         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
27669         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
27670         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27671         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27672         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
27673         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
27674         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
27675         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
27676         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
27677         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27678         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27679         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
27680         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
27681         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
27682         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
27683         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
27684         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27685         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27686         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
27687         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
27688         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
27689         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
27690         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
27691         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27692         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27693         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
27694         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
27695         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
27696         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
27697         * tests/uniwidth/test-u8-strwidth.c: Likewise.
27698         * tests/uniwidth/test-u8-width.c: Likewise.
27699         * tests/uniwidth/test-u16-strwidth.c: Likewise.
27700         * tests/uniwidth/test-u16-width.c: Likewise.
27701         * tests/uniwidth/test-u32-strwidth.c: Likewise.
27702         * tests/uniwidth/test-u32-width.c: Likewise.
27703         * tests/uniwidth/test-uc_width.c: Likewise.
27704         * tests/uniwidth/test-uc_width2.c: Likewise.
27705         * modules/acl-tests (Files): Add tests/macros.h.
27706         * modules/areadlink-tests (Files): Likewise.
27707         * modules/areadlink-with-size-tests (Files): Likewise.
27708         * modules/areadlinkat-tests (Files): Likewise.
27709         * modules/areadlinkat-with-size-tests (Files): Likewise.
27710         * modules/argmatch-tests (Files): Likewise.
27711         * modules/argv-iter-tests (Files): Likewise.
27712         * modules/array-list-tests (Files): Likewise.
27713         * modules/array-mergesort-tests (Files): Likewise.
27714         * modules/array-oset-tests (Files): Likewise.
27715         * modules/avltree-list-tests (Files): Likewise.
27716         * modules/avltree-oset-tests (Files): Likewise.
27717         * modules/avltreehash-list-tests (Files): Likewise.
27718         * modules/base64-tests (Files): Likewise.
27719         * modules/binary-io-tests (Files): Likewise.
27720         * modules/bitrotate-tests (Files): Likewise.
27721         * modules/btowc-tests (Files): Likewise.
27722         * modules/byteswap-tests (Files): Likewise.
27723         * modules/c-ctype-tests (Files): Likewise.
27724         * modules/c-stack-tests (Files): Likewise.
27725         * modules/c-strcase-tests (Files): Likewise.
27726         * modules/c-strcasestr-tests (Files): Likewise.
27727         * modules/c-strstr-tests (Files): Likewise.
27728         * modules/canonicalize-lgpl-tests (Files): Likewise.
27729         * modules/canonicalize-tests (Files): Likewise.
27730         * modules/carray-list-tests (Files): Likewise.
27731         * modules/ceilf-tests (Files): Likewise.
27732         * modules/ceill-tests (Files): Likewise.
27733         * modules/chown-tests (Files): Likewise.
27734         * modules/cloexec-tests (Files): Likewise.
27735         * modules/copy-file-tests (Files): Likewise.
27736         * modules/count-one-bits-tests (Files): Likewise.
27737         * modules/dprintf-posix-tests (Files): Likewise.
27738         * modules/dup2-tests (Files): Likewise.
27739         * modules/dup3-tests (Files): Likewise.
27740         * modules/duplocale-tests (Files): Likewise.
27741         * modules/fbufmode-tests (Files): Likewise.
27742         * modules/fchdir-tests (Files): Likewise.
27743         * modules/fcntl-safer-tests (Files): Likewise.
27744         * modules/fcntl-tests (Files): Likewise.
27745         * modules/fdopendir-tests (Files): Likewise.
27746         * modules/fdutimensat-tests (Files): Likewise.
27747         * modules/fflush-tests (Files): Likewise.
27748         * modules/filevercmp-tests (Files): Likewise.
27749         * modules/flock-tests (Files): Likewise.
27750         * modules/floorf-tests (Files): Likewise.
27751         * modules/floorl-tests (Files): Likewise.
27752         * modules/fnmatch-tests (Files): Likewise.
27753         * modules/fopen-safer-tests (Files): Likewise.
27754         * modules/fopen-tests (Files): Likewise.
27755         * modules/fpending-tests (Files): Likewise.
27756         * modules/fprintf-posix-tests (Files): Likewise.
27757         * modules/fpurge-tests (Files): Likewise.
27758         * modules/freadable-tests (Files): Likewise.
27759         * modules/freadahead-tests (Files): Likewise.
27760         * modules/freading-tests (Files): Likewise.
27761         * modules/freadptr-tests (Files): Likewise.
27762         * modules/freadseek-tests (Files): Likewise.
27763         * modules/freopen-tests (Files): Likewise.
27764         * modules/frexp-nolibm-tests (Files): Likewise.
27765         * modules/frexp-tests (Files): Likewise.
27766         * modules/frexpl-nolibm-tests (Files): Likewise.
27767         * modules/frexpl-tests (Files): Likewise.
27768         * modules/fseek-tests (Files): Likewise.
27769         * modules/fseeko-tests (Files): Likewise.
27770         * modules/fstrcmp-tests (Files): Likewise.
27771         * modules/fsync-tests (Files): Likewise.
27772         * modules/ftell-tests (Files): Likewise.
27773         * modules/ftello-tests (Files): Likewise.
27774         * modules/func-tests (Files): Likewise.
27775         * modules/futimens-tests (Files): Likewise.
27776         * modules/fwritable-tests (Files): Likewise.
27777         * modules/fwriting-tests (Files): Likewise.
27778         * modules/getcwd-tests (Files): Likewise.
27779         * modules/getdate-tests (Files): Likewise.
27780         * modules/getdelim-tests (Files): Likewise.
27781         * modules/getdtablesize-tests (Files): Likewise.
27782         * modules/getgroups-tests (Files): Likewise.
27783         * modules/getline-tests (Files): Likewise.
27784         * modules/getndelim2-tests (Files): Likewise.
27785         * modules/glob-tests (Files): Likewise.
27786         * modules/hash-tests (Files): Likewise.
27787         * modules/i-ring-tests (Files): Likewise.
27788         * modules/iconv-tests (Files): Likewise.
27789         * modules/iconv_open-utf-tests (Files): Likewise.
27790         * modules/idpriv-drop-tests (Files): Likewise.
27791         * modules/idpriv-droptemp-tests (Files): Likewise.
27792         * modules/inet_ntop-tests (Files): Likewise.
27793         * modules/inet_pton-tests (Files): Likewise.
27794         * modules/isblank-tests (Files): Likewise.
27795         * modules/isfinite-tests (Files): Likewise.
27796         * modules/isinf-tests (Files): Likewise.
27797         * modules/isnan-tests (Files): Likewise.
27798         * modules/isnand-nolibm-tests (Files): Likewise.
27799         * modules/isnand-tests (Files): Likewise.
27800         * modules/isnanf-nolibm-tests (Files): Likewise.
27801         * modules/isnanf-tests (Files): Likewise.
27802         * modules/isnanl-nolibm-tests (Files): Likewise.
27803         * modules/isnanl-tests (Files): Likewise.
27804         * modules/lchown-tests (Files): Likewise.
27805         * modules/ldexpl-tests (Files): Likewise.
27806         * modules/link-tests (Files): Likewise.
27807         * modules/linkat-tests (Files): Likewise.
27808         * modules/linked-list-tests (Files): Likewise.
27809         * modules/linkedhash-list-tests (Files): Likewise.
27810         * modules/localename-tests (Files): Likewise.
27811         * modules/lseek-tests (Files): Likewise.
27812         * modules/lstat-tests (Files): Likewise.
27813         * modules/mbmemcasecmp-tests (Files): Likewise.
27814         * modules/mbmemcasecoll-tests (Files): Likewise.
27815         * modules/mbrtowc-tests (Files): Likewise.
27816         * modules/mbscasecmp-tests (Files): Likewise.
27817         * modules/mbscasestr-tests (Files): Likewise.
27818         * modules/mbschr-tests (Files): Likewise.
27819         * modules/mbscspn-tests (Files): Likewise.
27820         * modules/mbsinit-tests (Files): Likewise.
27821         * modules/mbsncasecmp-tests (Files): Likewise.
27822         * modules/mbsnrtowcs-tests (Files): Likewise.
27823         * modules/mbspbrk-tests (Files): Likewise.
27824         * modules/mbspcasecmp-tests (Files): Likewise.
27825         * modules/mbsrchr-tests (Files): Likewise.
27826         * modules/mbsrtowcs-tests (Files): Likewise.
27827         * modules/mbsspn-tests (Files): Likewise.
27828         * modules/mbsstr-tests (Files): Likewise.
27829         * modules/memchr-tests (Files): Likewise.
27830         * modules/memchr2-tests (Files): Likewise.
27831         * modules/memcmp-tests (Files): Likewise.
27832         * modules/memmem-tests (Files): Likewise.
27833         * modules/memrchr-tests (Files): Likewise.
27834         * modules/mkdir-tests (Files): Likewise.
27835         * modules/mkfifo-tests (Files): Likewise.
27836         * modules/mkfifoat-tests (Files): Likewise.
27837         * modules/mknod-tests (Files): Likewise.
27838         * modules/nanosleep-tests (Files): Likewise.
27839         * modules/nl_langinfo-tests (Files): Likewise.
27840         * modules/obstack-printf-tests (Files): Likewise.
27841         * modules/open-tests (Files): Likewise.
27842         * modules/openat-tests (Files): Likewise.
27843         * modules/pipe-filter-gi-tests (Files): Likewise.
27844         * modules/pipe-filter-ii-tests (Files): Likewise.
27845         * modules/pipe2-tests (Files): Likewise.
27846         * modules/popen-safer-tests (Files): Likewise.
27847         * modules/popen-tests (Files): Likewise.
27848         * modules/posixtm-tests (Files): Likewise.
27849         * modules/pread-tests (Files): Likewise.
27850         * modules/printf-frexp-tests (Files): Likewise.
27851         * modules/printf-frexpl-tests (Files): Likewise.
27852         * modules/printf-posix-tests (Files): Likewise.
27853         * modules/priv-set-tests (Files): Likewise.
27854         * modules/quotearg-tests (Files): Likewise.
27855         * modules/random_r-tests (Files): Likewise.
27856         * modules/rawmemchr-tests (Files): Likewise.
27857         * modules/rbtree-list-tests (Files): Likewise.
27858         * modules/rbtree-oset-tests (Files): Likewise.
27859         * modules/rbtreehash-list-tests (Files): Likewise.
27860         * modules/readlink-tests (Files): Likewise.
27861         * modules/remove-tests (Files): Likewise.
27862         * modules/rename-tests (Files): Likewise.
27863         * modules/renameat-tests (Files): Likewise.
27864         * modules/rmdir-tests (Files): Likewise.
27865         * modules/round-tests (Files): Likewise.
27866         * modules/roundf-tests (Files): Likewise.
27867         * modules/roundl-tests (Files): Likewise.
27868         * modules/safe-alloc-tests (Files): Likewise.
27869         * modules/setenv-tests (Files): Likewise.
27870         * modules/sigaction-tests (Files): Likewise.
27871         * modules/signbit-tests (Files): Likewise.
27872         * modules/sleep-tests (Files): Likewise.
27873         * modules/snprintf-posix-tests (Files): Likewise.
27874         * modules/snprintf-tests (Files): Likewise.
27875         * modules/sprintf-posix-tests (Files): Likewise.
27876         * modules/stat-tests (Files): Likewise.
27877         * modules/stat-time-tests (Files): Likewise.
27878         * modules/strcasestr-tests (Files): Likewise.
27879         * modules/strchrnul-tests (Files): Likewise.
27880         * modules/strerror-tests (Files): Likewise.
27881         * modules/striconv-tests (Files): Likewise.
27882         * modules/striconveh-tests (Files): Likewise.
27883         * modules/striconveha-tests (Files): Likewise.
27884         * modules/strsignal-tests (Files): Likewise.
27885         * modules/strstr-tests (Files): Likewise.
27886         * modules/strtod-tests (Files): Likewise.
27887         * modules/strverscmp-tests (Files): Likewise.
27888         * modules/symlink-tests (Files): Likewise.
27889         * modules/symlinkat-tests (Files): Likewise.
27890         * modules/trunc-tests (Files): Likewise.
27891         * modules/truncf-tests (Files): Likewise.
27892         * modules/truncl-tests (Files): Likewise.
27893         * modules/uname-tests (Files): Likewise.
27894         * modules/unicase/cased-tests (Files): Likewise.
27895         * modules/unicase/ignorable-tests (Files): Likewise.
27896         * modules/unicase/locale-language-tests (Files): Likewise.
27897         * modules/unicase/tolower-tests (Files): Likewise.
27898         * modules/unicase/totitle-tests (Files): Likewise.
27899         * modules/unicase/toupper-tests (Files): Likewise.
27900         * modules/unicase/u8-casecmp-tests (Files): Likewise.
27901         * modules/unicase/u8-casecoll-tests (Files): Likewise.
27902         * modules/unicase/u8-casefold-tests (Files): Likewise.
27903         * modules/unicase/u8-is-cased-tests (Files): Likewise.
27904         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
27905         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
27906         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
27907         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
27908         * modules/unicase/u8-tolower-tests (Files): Likewise.
27909         * modules/unicase/u8-totitle-tests (Files): Likewise.
27910         * modules/unicase/u8-toupper-tests (Files): Likewise.
27911         * modules/unicase/u16-casecmp-tests (Files): Likewise.
27912         * modules/unicase/u16-casecoll-tests (Files): Likewise.
27913         * modules/unicase/u16-casefold-tests (Files): Likewise.
27914         * modules/unicase/u16-is-cased-tests (Files): Likewise.
27915         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
27916         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
27917         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
27918         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
27919         * modules/unicase/u16-tolower-tests (Files): Likewise.
27920         * modules/unicase/u16-totitle-tests (Files): Likewise.
27921         * modules/unicase/u16-toupper-tests (Files): Likewise.
27922         * modules/unicase/u32-casecmp-tests (Files): Likewise.
27923         * modules/unicase/u32-casecoll-tests (Files): Likewise.
27924         * modules/unicase/u32-casefold-tests (Files): Likewise.
27925         * modules/unicase/u32-is-cased-tests (Files): Likewise.
27926         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
27927         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
27928         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
27929         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
27930         * modules/unicase/u32-tolower-tests (Files): Likewise.
27931         * modules/unicase/u32-totitle-tests (Files): Likewise.
27932         * modules/unicase/u32-toupper-tests (Files): Likewise.
27933         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
27934         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
27935         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
27936         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
27937         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
27938         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
27939         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
27940         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
27941         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
27942         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
27943         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
27944         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
27945         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
27946         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
27947         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
27948         * modules/unictype/bidicategory-name-tests (Files): Likewise.
27949         * modules/unictype/bidicategory-of-tests (Files): Likewise.
27950         * modules/unictype/bidicategory-test-tests (Files): Likewise.
27951         * modules/unictype/block-list-tests (Files): Likewise.
27952         * modules/unictype/block-of-tests (Files): Likewise.
27953         * modules/unictype/block-test-tests (Files): Likewise.
27954         * modules/unictype/category-C-tests (Files): Likewise.
27955         * modules/unictype/category-Cc-tests (Files): Likewise.
27956         * modules/unictype/category-Cf-tests (Files): Likewise.
27957         * modules/unictype/category-Cn-tests (Files): Likewise.
27958         * modules/unictype/category-Co-tests (Files): Likewise.
27959         * modules/unictype/category-Cs-tests (Files): Likewise.
27960         * modules/unictype/category-L-tests (Files): Likewise.
27961         * modules/unictype/category-Ll-tests (Files): Likewise.
27962         * modules/unictype/category-Lm-tests (Files): Likewise.
27963         * modules/unictype/category-Lo-tests (Files): Likewise.
27964         * modules/unictype/category-Lt-tests (Files): Likewise.
27965         * modules/unictype/category-Lu-tests (Files): Likewise.
27966         * modules/unictype/category-M-tests (Files): Likewise.
27967         * modules/unictype/category-Mc-tests (Files): Likewise.
27968         * modules/unictype/category-Me-tests (Files): Likewise.
27969         * modules/unictype/category-Mn-tests (Files): Likewise.
27970         * modules/unictype/category-N-tests (Files): Likewise.
27971         * modules/unictype/category-Nd-tests (Files): Likewise.
27972         * modules/unictype/category-Nl-tests (Files): Likewise.
27973         * modules/unictype/category-No-tests (Files): Likewise.
27974         * modules/unictype/category-P-tests (Files): Likewise.
27975         * modules/unictype/category-Pc-tests (Files): Likewise.
27976         * modules/unictype/category-Pd-tests (Files): Likewise.
27977         * modules/unictype/category-Pe-tests (Files): Likewise.
27978         * modules/unictype/category-Pf-tests (Files): Likewise.
27979         * modules/unictype/category-Pi-tests (Files): Likewise.
27980         * modules/unictype/category-Po-tests (Files): Likewise.
27981         * modules/unictype/category-Ps-tests (Files): Likewise.
27982         * modules/unictype/category-S-tests (Files): Likewise.
27983         * modules/unictype/category-Sc-tests (Files): Likewise.
27984         * modules/unictype/category-Sk-tests (Files): Likewise.
27985         * modules/unictype/category-Sm-tests (Files): Likewise.
27986         * modules/unictype/category-So-tests (Files): Likewise.
27987         * modules/unictype/category-Z-tests (Files): Likewise.
27988         * modules/unictype/category-Zl-tests (Files): Likewise.
27989         * modules/unictype/category-Zp-tests (Files): Likewise.
27990         * modules/unictype/category-Zs-tests (Files): Likewise.
27991         * modules/unictype/category-and-not-tests (Files): Likewise.
27992         * modules/unictype/category-and-tests (Files): Likewise.
27993         * modules/unictype/category-byname-tests (Files): Likewise.
27994         * modules/unictype/category-name-tests (Files): Likewise.
27995         * modules/unictype/category-none-tests (Files): Likewise.
27996         * modules/unictype/category-of-tests (Files): Likewise.
27997         * modules/unictype/category-or-tests (Files): Likewise.
27998         * modules/unictype/category-test-withtable-tests (Files): Likewise.
27999         * modules/unictype/combining-class-tests (Files): Likewise.
28000         * modules/unictype/ctype-alnum-tests (Files): Likewise.
28001         * modules/unictype/ctype-alpha-tests (Files): Likewise.
28002         * modules/unictype/ctype-blank-tests (Files): Likewise.
28003         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
28004         * modules/unictype/ctype-digit-tests (Files): Likewise.
28005         * modules/unictype/ctype-graph-tests (Files): Likewise.
28006         * modules/unictype/ctype-lower-tests (Files): Likewise.
28007         * modules/unictype/ctype-print-tests (Files): Likewise.
28008         * modules/unictype/ctype-punct-tests (Files): Likewise.
28009         * modules/unictype/ctype-space-tests (Files): Likewise.
28010         * modules/unictype/ctype-upper-tests (Files): Likewise.
28011         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
28012         * modules/unictype/decimal-digit-tests (Files): Likewise.
28013         * modules/unictype/digit-tests (Files): Likewise.
28014         * modules/unictype/mirror-tests (Files): Likewise.
28015         * modules/unictype/numeric-tests (Files): Likewise.
28016         * modules/unictype/property-alphabetic-tests (Files): Likewise.
28017         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
28018         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
28019         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
28020         Likewise.
28021         * modules/unictype/property-bidi-block-separator-tests (Files):
28022         Likewise.
28023         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
28024         Likewise.
28025         * modules/unictype/property-bidi-common-separator-tests (Files):
28026         Likewise.
28027         * modules/unictype/property-bidi-control-tests (Files): Likewise.
28028         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
28029         Likewise.
28030         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
28031         Likewise.
28032         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
28033         Likewise.
28034         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
28035         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
28036         Likewise.
28037         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
28038         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
28039         Likewise.
28040         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
28041         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
28042         * modules/unictype/property-bidi-segment-separator-tests (Files):
28043         Likewise.
28044         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
28045         * modules/unictype/property-byname-tests (Files): Likewise.
28046         * modules/unictype/property-combining-tests (Files): Likewise.
28047         * modules/unictype/property-composite-tests (Files): Likewise.
28048         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
28049         * modules/unictype/property-dash-tests (Files): Likewise.
28050         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
28051         * modules/unictype/property-default-ignorable-code-point-tests (Files):
28052         Likewise.
28053         * modules/unictype/property-deprecated-tests (Files): Likewise.
28054         * modules/unictype/property-diacritic-tests (Files): Likewise.
28055         * modules/unictype/property-extender-tests (Files): Likewise.
28056         * modules/unictype/property-format-control-tests (Files): Likewise.
28057         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
28058         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
28059         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
28060         * modules/unictype/property-hex-digit-tests (Files): Likewise.
28061         * modules/unictype/property-hyphen-tests (Files): Likewise.
28062         * modules/unictype/property-id-continue-tests (Files): Likewise.
28063         * modules/unictype/property-id-start-tests (Files): Likewise.
28064         * modules/unictype/property-ideographic-tests (Files): Likewise.
28065         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
28066         * modules/unictype/property-ids-trinary-operator-tests (Files):
28067         Likewise.
28068         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
28069         * modules/unictype/property-iso-control-tests (Files): Likewise.
28070         * modules/unictype/property-join-control-tests (Files): Likewise.
28071         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
28072         * modules/unictype/property-line-separator-tests (Files): Likewise.
28073         * modules/unictype/property-logical-order-exception-tests (Files):
28074         Likewise.
28075         * modules/unictype/property-lowercase-tests (Files): Likewise.
28076         * modules/unictype/property-math-tests (Files): Likewise.
28077         * modules/unictype/property-non-break-tests (Files): Likewise.
28078         * modules/unictype/property-not-a-character-tests (Files): Likewise.
28079         * modules/unictype/property-numeric-tests (Files): Likewise.
28080         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
28081         * modules/unictype/property-other-default-ignorable-code-point-tests
28082         (Files): Likewise.
28083         * modules/unictype/property-other-grapheme-extend-tests (Files):
28084         Likewise.
28085         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
28086         * modules/unictype/property-other-id-start-tests (Files): Likewise.
28087         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
28088         * modules/unictype/property-other-math-tests (Files): Likewise.
28089         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
28090         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
28091         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
28092         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
28093         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
28094         * modules/unictype/property-private-use-tests (Files): Likewise.
28095         * modules/unictype/property-punctuation-tests (Files): Likewise.
28096         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
28097         * modules/unictype/property-radical-tests (Files): Likewise.
28098         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
28099         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
28100         * modules/unictype/property-space-tests (Files): Likewise.
28101         * modules/unictype/property-terminal-punctuation-tests (Files):
28102         Likewise.
28103         * modules/unictype/property-test-tests (Files): Likewise.
28104         * modules/unictype/property-titlecase-tests (Files): Likewise.
28105         * modules/unictype/property-unassigned-code-value-tests (Files):
28106         Likewise.
28107         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
28108         * modules/unictype/property-uppercase-tests (Files): Likewise.
28109         * modules/unictype/property-variation-selector-tests (Files): Likewise.
28110         * modules/unictype/property-white-space-tests (Files): Likewise.
28111         * modules/unictype/property-xid-continue-tests (Files): Likewise.
28112         * modules/unictype/property-xid-start-tests (Files): Likewise.
28113         * modules/unictype/property-zero-width-tests (Files): Likewise.
28114         * modules/unictype/scripts-tests (Files): Likewise.
28115         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
28116         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
28117         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
28118         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
28119         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
28120         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
28121         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
28122         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
28123         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
28124         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
28125         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
28126         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
28127         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
28128         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
28129         * modules/uninorm/composition-tests (Files): Likewise.
28130         * modules/uninorm/decomposing-form-tests (Files): Likewise.
28131         * modules/uninorm/decomposition-tests (Files): Likewise.
28132         * modules/uninorm/filter-tests (Files): Likewise.
28133         * modules/uninorm/nfc-tests (Files): Likewise.
28134         * modules/uninorm/nfd-tests (Files): Likewise.
28135         * modules/uninorm/nfkc-tests (Files): Likewise.
28136         * modules/uninorm/nfkd-tests (Files): Likewise.
28137         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
28138         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
28139         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
28140         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
28141         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
28142         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
28143         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
28144         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
28145         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
28146         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
28147         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
28148         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
28149         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
28150         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
28151         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
28152         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
28153         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
28154         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
28155         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
28156         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
28157         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
28158         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
28159         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
28160         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
28161         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
28162         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
28163         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
28164         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
28165         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
28166         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
28167         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
28168         * modules/uniwidth/u8-width-tests (Files): Likewise.
28169         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
28170         * modules/uniwidth/u16-width-tests (Files): Likewise.
28171         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
28172         * modules/uniwidth/u32-width-tests (Files): Likewise.
28173         * modules/uniwidth/width-tests (Files): Likewise.
28174         * modules/unlink-tests (Files): Likewise.
28175         * modules/unsetenv-tests (Files): Likewise.
28176         * modules/usleep-tests (Files): Likewise.
28177         * modules/utimens-tests (Files): Likewise.
28178         * modules/utimensat-tests (Files): Likewise.
28179         * modules/vasnprintf-posix-tests (Files): Likewise.
28180         * modules/vasnprintf-tests (Files): Likewise.
28181         * modules/vasprintf-posix-tests (Files): Likewise.
28182         * modules/vasprintf-tests (Files): Likewise.
28183         * modules/vdprintf-posix-tests (Files): Likewise.
28184         * modules/vfprintf-posix-tests (Files): Likewise.
28185         * modules/vprintf-posix-tests (Files): Likewise.
28186         * modules/vsnprintf-posix-tests (Files): Likewise.
28187         * modules/vsnprintf-tests (Files): Likewise.
28188         * modules/vsprintf-posix-tests (Files): Likewise.
28189         * modules/wcrtomb-tests (Files): Likewise.
28190         * modules/wcsnrtombs-tests (Files): Likewise.
28191         * modules/wcsrtombs-tests (Files): Likewise.
28192         * modules/wctype-tests (Files): Likewise.
28193         * modules/wcwidth-tests (Files): Likewise.
28194         * modules/xmemdup0-tests (Files): Likewise.
28195         * modules/xprintf-posix-tests (Files): Likewise.
28196         * modules/xvasprintf-tests (Files): Likewise.
28197
28198 2009-12-24  Eric Blake  <ebb9@byu.net>
28199
28200         test-nanosleep: fix typo
28201         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
28202         patch.
28203         Reported by Bruno Haible.
28204
28205 2009-12-24  Bruno Haible  <bruno@clisp.org>
28206
28207         Reduce namespace pollution on glibc systems.
28208         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
28209         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
28210         systems.
28211         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
28212         <getopt.h> on glibc systems.
28213         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
28214         systems.
28215         * lib/fcntl.c: Include <unistd.h> here instead.
28216
28217 2009-12-24  Bruno Haible  <bruno@clisp.org>
28218
28219         * lib/stdlib.in.h (includes): Fix typo in today's commit.
28220
28221 2009-12-24  Eric Blake  <ebb9@byu.net>
28222
28223         tests: add signature checks
28224         * tests/signature.h (SIGNATURE_CHECK): New file.
28225         * modules/atexit-tests (Files): Use it.
28226         * modules/btowc-tests (Files): Likewise.
28227         * modules/canonicalize-lgpl-tests (Files): Likewise.
28228         * modules/ceilf-tests (Files): Likewise.
28229         * modules/ceill-tests (Files): Likewise.
28230         * modules/chown-tests (Files): Likewise.
28231         * modules/dprintf-posix-tests (Files): Likewise.
28232         * modules/dup2-tests (Files): Likewise.
28233         * modules/dup3-tests (Files): Likewise.
28234         * modules/duplocale-tests (Files): Likewise.
28235         * modules/fchdir-tests (Files): Likewise.
28236         * modules/fcntl-tests (Files): Likewise.
28237         * modules/fdopendir-tests (Files): Likewise.
28238         * modules/fflush-tests (Files): Likewise.
28239         * modules/flock-tests (Files): Likewise.
28240         * modules/floorf-tests (Files): Likewise.
28241         * modules/floorl-tests (Files): Likewise.
28242         * modules/fnmatch-tests (Files): Likewise.
28243         * modules/fopen-tests (Files): Likewise.
28244         * modules/fprintf-posix-tests (Files): Likewise.
28245         * modules/freopen-tests (Files): Likewise.
28246         * modules/frexp-nolibm-tests (Files): Likewise.
28247         * modules/frexp-tests (Files): Likewise.
28248         * modules/frexpl-nolibm-tests (Files): Likewise.
28249         * modules/frexpl-tests (Files): Likewise.
28250         * modules/fseek-tests (Files): Likewise.
28251         * modules/fseeko-tests (Files): Likewise.
28252         * modules/fsync-tests (Files): Likewise.
28253         * modules/ftell-tests (Files): Likewise.
28254         * modules/ftello-tests (Files): Likewise.
28255         * modules/futimens-tests (Files): Likewise.
28256         * modules/getaddrinfo-tests (Files): Likewise.
28257         * modules/getcwd-tests (Files): Likewise.
28258         * modules/getdelim-tests (Files): Likewise.
28259         * modules/getdtablesize-tests (Files): Likewise.
28260         * modules/getgroups-tests (Files): Likewise.
28261         * modules/gethostname-tests (Files): Likewise.
28262         * modules/getline-tests (Files): Likewise.
28263         * modules/getopt-posix-tests (Files): Likewise.
28264         * modules/gettimeofday-tests (Files): Likewise.
28265         * modules/glob-tests (Files): Likewise.
28266         * modules/iconv-tests (Files): Likewise.
28267         * modules/inet_ntop-tests (Files): Likewise.
28268         * modules/inet_pton-tests (Files): Likewise.
28269         * modules/isblank-tests (Files): Likewise.
28270         * modules/lchown-tests (Files): Likewise.
28271         * modules/ldexpl-tests (Files): Likewise.
28272         * modules/link-tests (Files): Likewise.
28273         * modules/linkat-tests (Files): Likewise.
28274         * modules/lseek-tests (Files): Likewise.
28275         * modules/lstat-tests (Files): Likewise.
28276         * modules/mbrtowc-tests (Files): Likewise.
28277         * modules/mbsinit-tests (Files): Likewise.
28278         * modules/mbsnrtowcs-tests (Files): Likewise.
28279         * modules/mbsrtowcs-tests (Files): Likewise.
28280         * modules/memchr-tests (Files): Likewise.
28281         * modules/memcmp-tests (Files): Likewise.
28282         * modules/memmem-tests (Files): Likewise.
28283         * modules/memrchr-tests (Files): Likewise.
28284         * modules/mkdir-tests (Files): Likewise.
28285         * modules/mkfifo-tests (Files): Likewise.
28286         * modules/mkfifoat-tests (Files): Likewise.
28287         * modules/mknod-tests (Files): Likewise.
28288         * modules/nanosleep-tests (Files): Likewise.
28289         * modules/nl_langinfo-tests (Files): Likewise.
28290         * modules/obstack-printf-tests (Files): Likewise.
28291         * modules/open-tests (Files): Likewise.
28292         * modules/openat-tests (Files): Likewise.
28293         * modules/perror-tests (Files): Likewise.
28294         * modules/pipe2-tests (Files): Likewise.
28295         * modules/poll-tests (Files): Likewise.
28296         * modules/popen-tests (Files): Likewise.
28297         * modules/posix_spawn-tests (Files): Likewise.
28298         * modules/posix_spawnp-tests (Files): Likewise.
28299         * modules/pread-tests (Files): Likewise.
28300         * modules/printf-posix-tests (Files): Likewise.
28301         * modules/pty-tests (Files): Likewise.
28302         * modules/random_r-tests (Files): Likewise.
28303         * modules/rawmemchr-tests (Files): Likewise.
28304         * modules/readlink-tests (Files): Likewise.
28305         * modules/remove-tests (Files): Likewise.
28306         * modules/rename-tests (Files): Likewise.
28307         * modules/renameat-tests (Files): Likewise.
28308         * modules/rmdir-tests (Files): Likewise.
28309         * modules/round-tests (Files): Likewise.
28310         * modules/roundf-tests (Files): Likewise.
28311         * modules/roundl-tests (Files): Likewise.
28312         * modules/select-tests (Files): Likewise.
28313         * modules/setenv-tests (Files): Likewise.
28314         * modules/sigaction-tests (Files): Likewise.
28315         * modules/sleep-tests (Files): Likewise.
28316         * modules/snprintf-posix-tests (Files): Likewise.
28317         * modules/snprintf-tests (Files): Likewise.
28318         * modules/sprintf-posix-tests (Files): Likewise.
28319         * modules/stat-tests (Files): Likewise.
28320         * modules/strcasestr-tests (Files): Likewise.
28321         * modules/strchrnul-tests (Files): Likewise.
28322         * modules/strerror-tests (Files): Likewise.
28323         * modules/strsignal-tests (Files): Likewise.
28324         * modules/strstr-tests (Files): Likewise.
28325         * modules/strtod-tests (Files): Likewise.
28326         * modules/strverscmp-tests (Files): Likewise.
28327         * modules/symlink-tests (Files): Likewise.
28328         * modules/symlinkat-tests (Files): Likewise.
28329         * modules/times-tests (Files): Likewise.
28330         * modules/trunc-tests (Files): Likewise.
28331         * modules/truncf-tests (Files): Likewise.
28332         * modules/truncl-tests (Files): Likewise.
28333         * modules/tsearch-tests (Files): Likewise.
28334         * modules/uname-tests (Files): Likewise.
28335         * modules/unlink-tests (Files): Likewise.
28336         * modules/unsetenv-tests (Files): Likewise.
28337         * modules/usleep-tests (Files): Likewise.
28338         * modules/utimensat-tests (Files): Likewise.
28339         * modules/vasprintf-tests (Files): Likewise.
28340         * modules/vdprintf-posix-tests (Files): Likewise.
28341         * modules/vfprintf-posix-tests (Files): Likewise.
28342         * modules/vprintf-posix-tests (Files): Likewise.
28343         * modules/vsnprintf-posix-tests (Files): Likewise.
28344         * modules/vsnprintf-tests (Files): Likewise.
28345         * modules/vsprintf-posix-tests (Files): Likewise.
28346         * modules/wcrtomb-tests (Files): Likewise.
28347         * modules/wcsnrtombs-tests (Files): Likewise.
28348         * modules/wcsrtombs-tests (Files): Likewise.
28349         * modules/wcwidth-tests (Files): Likewise.
28350         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
28351         * tests/test-isinf.c (isinf): Likewise.
28352         * tests/test-isnan.c (isnan): Likewise.
28353         * tests/test-signbit.c (signbit): Likewise.
28354         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
28355         declaration, either as macro or with correct signature.
28356         (select): Ensure function under test is declared with correct
28357         signature in correct header.
28358         * tests/test-atexit.c (atexit): Likewise.
28359         * tests/test-btowc.c (btowc): Likewise.
28360         * tests/test-canonicalize-lgpl.c (realpath)
28361         (canonicalize_file_name): Likewise.
28362         * tests/test-ceilf1.c (ceilf): Likewise.
28363         * tests/test-ceill.c (ceill): Likewise.
28364         * tests/test-chown.c (chown): Likewise.
28365         * tests/test-dprintf-posix.c (dprintf): Likewise.
28366         * tests/test-dup2.c (dup2): Likewise.
28367         * tests/test-dup3.c (dup3): Likewise.
28368         * tests/test-duplocale.c (duplocale): Likewise.
28369         * tests/test-fchdir.c (fchdir): Likewise.
28370         * tests/test-fchownat.c (fchownat): Likewise.
28371         * tests/test-fcntl.c (fcntl): Likewise.
28372         * tests/test-fdopendir.c (fdopendir): Likewise.
28373         * tests/test-fflush.c (fflush): Likewise.
28374         * tests/test-flock.c (flock): Likewise.
28375         * tests/test-floorf1.c (floorf): Likewise.
28376         * tests/test-floorl.c (floorl): Likewise.
28377         * tests/test-fnmatch.c (fnmatch): Likewise.
28378         * tests/test-fopen.c (fopen): Likewise.
28379         * tests/test-fprintf-posix.c (fprintf): Likewise.
28380         * tests/test-freopen.c (freopen): Likewise.
28381         * tests/test-frexp.c (frexp): Likewise.
28382         * tests/test-frexpl.c (frexpl): Likewise.
28383         * tests/test-fseek.c (fseek): Likewise.
28384         * tests/test-fseeko.c (fseeko): Likewise.
28385         * tests/test-fstatat.c (fstatat): Likewise.
28386         * tests/test-fsync.c (fsync): Likewise.
28387         * tests/test-ftell.c (ftell): Likewise.
28388         * tests/test-ftello.c (ftello): Likewise.
28389         * tests/test-futimens.c (futimens): Likewise.
28390         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
28391         (gai_strerror): Likewise.
28392         * tests/test-getcwd.c (getcwd): Likewise.
28393         * tests/test-getdelim.c (getdelim): Likewise.
28394         * tests/test-getdtablesize.c (getdtablesize): Likewise.
28395         * tests/test-getgroups.c (getgroups): Likewise.
28396         * tests/test-gethostname.c (gethostname): Likewise.
28397         * tests/test-getline.c (getline): Likewise.
28398         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
28399         Likewise.
28400         * tests/test-gettimeofday.c (gettimeofday): Likewise.
28401         * tests/test-glob.c (glob, globfree): Likewise.
28402         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
28403         * tests/test-inet_ntop.c (inet_ntop): Likewise.
28404         * tests/test-inet_pton.c (inet_pton): Likewise.
28405         * tests/test-isblank.c (isblank): Likewise.
28406         * tests/test-lchown.c (lchown): Likewise.
28407         * tests/test-ldexpl.c (ldexpl): Likewise.
28408         * tests/test-link.c (link): Likewise.
28409         * tests/test-linkat.c (linkat): Likewise.
28410         * tests/test-lseek.c (lseek): Likewise.
28411         * tests/test-lstat.c (lstat): Likewise.
28412         * tests/test-mbrtowc.c (mbrtowc): Likewise.
28413         * tests/test-mbsinit.c (mbsinit): Likewise.
28414         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
28415         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
28416         * tests/test-memchr.c (memchr): Likewise.
28417         * tests/test-memcmp.c (memcmp): Likewise.
28418         * tests/test-memmem.c (memmem): Likewise.
28419         * tests/test-memrchr.c (memrchr): Likewise.
28420         * tests/test-mkdir.c (mkdir): Likewise.
28421         * tests/test-mkdirat.c (mkdirat): Likewise.
28422         * tests/test-mkfifo.c (mkfifo): Likewise.
28423         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
28424         * tests/test-mknod.c (mknod): Likewise.
28425         * tests/test-nanosleep.c (nanosleep): Likewise.
28426         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
28427         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
28428         Likewise.
28429         * tests/test-open.c (open): Likewise.
28430         * tests/test-openat.c (openat): Likewise.
28431         * tests/test-perror.c (perror): Likewise.
28432         * tests/test-pipe2.c (pipe2): Likewise.
28433         * tests/test-poll.c (poll): Likewise.
28434         * tests/test-popen.c (popen, pclose): Likewise.
28435         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
28436         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
28437         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
28438         (posix_spawn_file_actions_destroy)
28439         (posix_spawn_file_actions_addclose)
28440         (posix_spawn_file_actions_addopen)
28441         (posix_spawn_file_actions_adddup2): Likewise.
28442         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
28443         * tests/test-pread.c (pread): Likewise.
28444         * tests/test-printf-posix.c (printf): Likewise.
28445         * tests/test-pty.c (openpty, forkpty): Likewise.
28446         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
28447         (random_r): Likewise.
28448         * tests/test-rawmemchr.c (rawmemchr): Likewise.
28449         * tests/test-readlink.c (readlink): Likewise.
28450         * tests/test-remove.c (remove): Likewise.
28451         * tests/test-rename.c (rename): Likewise.
28452         * tests/test-renameat.c (renameat): Likewise.
28453         * tests/test-rmdir.c (rmdir): Likewise.
28454         * tests/test-round1.c (round): Likewise.
28455         * tests/test-roundf1.c (roundf): Likewise.
28456         * tests/test-roundl.c (roundl): Likewise.
28457         * tests/test-setenv.c (setenv): Likewise.
28458         * tests/test-sigaction.c (sigaction): Likewise.
28459         * tests/test-sleep.c (sleep): Likewise.
28460         * tests/test-snprintf.c (snprintf): Likewise.
28461         * tests/test-sprintf-posix.c (sprintf): Likewise.
28462         * tests/test-stat.c (stat): Likewise.
28463         * tests/test-stpncpy.c (stpncpy): Likewise.
28464         * tests/test-strcasestr.c (strcasestr): Likewise.
28465         * tests/test-strchrnul.c (strchrnul): Likewise.
28466         * tests/test-strerror.c (strerror): Likewise.
28467         * tests/test-strsignal.c (strsignal): Likewise.
28468         * tests/test-strstr.c (strstr): Likewise.
28469         * tests/test-strtod.c (strtod): Likewise.
28470         * tests/test-strverscmp.c (strverscmp): Likewise.
28471         * tests/test-symlink.c (symlink): Likewise.
28472         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
28473         * tests/test-times.c (times): Likewise.
28474         * tests/test-trunc1.c (trunc): Likewise.
28475         * tests/test-truncf1.c (truncf): Likewise.
28476         * tests/test-truncl.c (truncl): Likewise.
28477         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
28478         Likewise.
28479         * tests/test-uname.c (uname): Likewise.
28480         * tests/test-unlink.c (unlink): Likewise.
28481         * tests/test-unlinkat.c (unlinkat): Likewise.
28482         * tests/test-unsetenv.c (unsetenv): Likewise.
28483         * tests/test-usleep.c (usleep): Likewise.
28484         * tests/test-utimensat.c (utimensat): Likewise.
28485         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
28486         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
28487         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
28488         * tests/test-vprintf-posix.c (vprintf): Likewise.
28489         * tests/test-vsnprintf.c (vsnprintf): Likewise.
28490         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
28491         * tests/test-wcrtomb.c (wcrtomb): Likewise.
28492         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
28493         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
28494         * tests/test-wcwidth.c (wcwidth): Likewise.
28495
28496         build: pull in conditional headers during GNULIB_POSIXCHECK
28497         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
28498         definitions from any conditionally-included headers.
28499         * lib/stdlib.in.h (includes): Likewise.
28500         * lib/unistd.in.h (includes): Likewise.
28501
28502 2009-12-24  Bruno Haible  <bruno@clisp.org>
28503
28504         * tests/test-argv-iter.c: Include header file being tested immediately
28505         after config.h.
28506         * tests/test-base64.c: Likewise.
28507         * tests/test-flock.c: Likewise.
28508         * tests/test-fsync.c: Likewise.
28509         * tests/test-getdate.c: Likewise.
28510         * tests/test-getndelim2.c: Likewise.
28511         * tests/test-isfinite.c: Likewise.
28512         * tests/test-isinf.c: Likewise.
28513         * tests/test-strerror.c: Likewise.
28514         * tests/test-strsignal.c: Likewise.
28515
28516 2009-12-23  Eric Blake  <ebb9@byu.net>
28517
28518         unistd: work around cygwin bug
28519         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
28520         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
28521         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28522
28523 2009-12-23  Bruno Haible  <bruno@clisp.org>
28524
28525         localename: More tests.
28526         * tests/test-localename.c (SIZEOF): New macro.
28527         (categories): New variable.
28528         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
28529         test_locale_name_default): Add test w.r.t. thread locale.
28530         (test_locale_name_thread): New function.
28531         (main): Invoke it.
28532
28533         localename: Make aware of thread locale.
28534         * lib/localename.h (gl_locale_name_thread): New declaration.
28535         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
28536         behaviour with respect to thread locale.
28537         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
28538         <langinfo.h>, glthread/lock.h.
28539         (SIZE_BITS): New macro.
28540         (string_hash): New function.
28541         (struct hash_node): New type.
28542         (HASH_TABLE_SIZE): New macro.
28543         (struniq_hash_table, struniq_lock): New variables.
28544         (struniq): New function.
28545         (gl_locale_name_thread): New function.
28546         (gl_locale_name): Invoke it.
28547         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
28548         * modules/localename (Depends-on): Add lock.
28549         Reported by Mike Gran <spk121@yahoo.com>.
28550
28551 2009-12-23  Eric Blake  <ebb9@byu.net>
28552
28553         va-args: new module
28554         * modules/va-args: New file.
28555         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
28556         * MODULES.html.sh (Core language properties): Mention it.
28557
28558         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
28559         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
28560         named alias for __attribute__((__unused__)).
28561         * lib/chown.c: Update client.
28562         * lib/fchmodat.c: Likewise.
28563         * lib/fts.c: Likewise.
28564         * lib/getdate.y: Likewise.
28565         * lib/getgroups.c: Likewise.
28566         * lib/getopt.c: Likewise.
28567         * lib/getugroups.c: Likewise.
28568         * lib/mkdir.c: Likewise.
28569         * lib/mkfifo.c: Likewise.
28570         * lib/mkfifoat.c: Likewise.
28571         * lib/mknod.c: Likewise.
28572         * lib/mknodat.c: Likewise.
28573         * lib/readlink.c: Likewise.
28574         * lib/se-context.in.h: Likewise.
28575         * lib/se-selinux.in.h: Likewise.
28576         * lib/sockets.c: Likewise.
28577         * lib/symlink.c: Likewise.
28578         * lib/symlinkat.c: Likewise.
28579         * lib/unicodeio.c: Likewise.
28580         * lib/unistr.h: Likewise.
28581         * tests/test-areadlink.c: Likewise.
28582         * tests/test-areadlinkat.c: Likewise.
28583         * tests/test-filenamecat.c: Likewise.
28584         * tests/test-fseeko.c: Likewise.
28585         * tests/test-ftello.c: Likewise.
28586         * tests/test-getdate.c: Likewise.
28587         * tests/test-getgroups.c: Likewise.
28588         * tests/test-gethostname.c: Likewise.
28589         * tests/test-quotearg.c: Likewise.
28590         * tests/test-version-etc.c: Likewise.
28591         * tests/test-xalloc-die.c: Likewise.
28592         * tests/test-xfprintf-posix.c: Likewise.
28593         * tests/test-xprintf-posix.c: Likewise.
28594         * tests/test-xvasprintf.c: Likewise.
28595
28596         tests: avoid compiler warnings
28597         * tests/test-fcntl.c (main): Delete unused parameters.
28598         * tests/test-freopen-safer.c (main): Likewise.
28599         * tests/test-xalloc-die.c (main): Mark unused parameters.
28600         * tests/test-fseeko.c (main): Likewise.
28601         * tests/test-ftello.c (main): Likewise.
28602         * tests/test-nanosleep.c (main): Avoid declaration warning.
28603         * tests/test-sleep.c (main): Likewise.
28604         * tests/test-unsetenv.c (main): Silence warning about string
28605         literal.
28606         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28607
28608 2009-12-23  Bruno Haible  <bruno@clisp.org>
28609
28610         * tests/test-localename.c (test_locale_name): New function, extracted
28611         from main. Also test mixed situations.
28612         (test_locale_name_posix, test_locale_name_environ,
28613         test_locale_name_default): New functions.
28614         (main): Invoke them all.
28615         * modules/localename-tests (configure.ac): Test for newlocale.
28616
28617 2009-12-23  Bruno Haible  <bruno@clisp.org>
28618
28619         unistd: Ensure getcwd gets declared before being overridden.
28620         * lib/unistd.in.h: Conditionally include <io.h>.
28621
28622 2009-12-22  Bruno Haible  <bruno@clisp.org>
28623
28624         wchar: Diagnose broken combination of glibc and gcc versions and flags.
28625         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
28626         (gl_WCHAR_H): Invoke it.
28627         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
28628         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
28629         Reported by Karl Berry <karl@freefriends.org>.
28630
28631 2009-12-22  Eric Blake  <ebb9@byu.net>
28632
28633         math, unistd: avoid redundant includes
28634         * lib/math.in.h (isnan): No need to re-include <math.h>.
28635         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
28636
28637         getsubopt: work around cygwin bug
28638         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
28639         avoid conflicting with system getsubopt.
28640         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
28641         bug.
28642
28643         getopt: synchronize from glibc
28644         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
28645         parameter order.  Adjust all callers.
28646         (_getopt_internal_r, main): Adjust quoting in error messages.
28647         Drop considerations for outdated POSIX 1003.2 error message.
28648         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
28649         callers.
28650         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
28651
28652         test-getopt: test stderr behavior
28653         * modules/getopt-posix-tests (Depends-on): Add dup2.
28654         * tests/test-getopt.c (ASSERT): Avoid stderr.
28655         (main): Move stderr to a temporary file.
28656         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
28657         Instead, add parameter to inform caller if output occurred.
28658         (test_getopt): Adjust all existing tests to expect silence, and
28659         add new tests of leading ":".
28660         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
28661         glibc shortcomings with leading "-:" or "+:" in optstring.
28662         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28663         Likewise.
28664         * doc/posix-functions/getopt.texi (getopt): Likewise.
28665
28666         test-getopt: enhance test
28667         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
28668         supports optind=0.
28669         * tests/test-getopt.c (OPTIND_MIN): Move...
28670         * tests/test-getopt.h (OPTIND_MIN): ...here.
28671         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
28672         Require that optind=0 works, since modern BSD supports it in
28673         addition to optreset, and since coreutils expects it.
28674         (test_getopt_long_only): New test.
28675         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
28676         glibc shortcomings with 'W;', and enforcement of optind=0.
28677         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28678         Likewise.
28679
28680 2009-12-21  Bruno Haible  <bruno@clisp.org>
28681
28682         localename: Improvements for MacOS X and Cygwin.
28683         * lib/localename.h (gl_locale_name_environ): New declaration.
28684         * lib/localename.c (gl_locale_name_environ): New function, extracted from
28685         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
28686         (gl_locale_name_posix): Invoke it.
28687         (gl_locale_name_default): Add comments. Use Windows native API also on
28688         Cygwin.
28689
28690 2009-12-21  Bruno Haible  <bruno@clisp.org>
28691
28692         Update list of Win32 locale ids.
28693         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
28694         (LANG_SAMI): Renamed from LANG_SAAMI.
28695         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
28696         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
28697         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
28698         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
28699         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
28700         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
28701         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
28702         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
28703         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
28704         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
28705         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
28706         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
28707         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
28708         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
28709         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
28710         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
28711         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
28712         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
28713         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
28714         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
28715         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
28716         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
28717         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
28718         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
28719         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
28720         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
28721         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
28722         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
28723         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
28724         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
28725         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
28726         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
28727         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
28728         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
28729         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
28730         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
28731         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
28732         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
28733         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
28734         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
28735         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
28736         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
28737         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
28738         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
28739         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
28740         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
28741         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
28742         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
28743         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
28744         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
28745         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
28746         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
28747         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
28748         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
28749         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
28750         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
28751         Add more languages and countries for Sami, Sorbian. Add more countries
28752         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
28753         for Pashto. Change country for Syriac, Tswana.
28754
28755 2009-12-21  Eric Blake  <ebb9@byu.net>
28756
28757         test-utimens: avoid spurious failure
28758         * tests/test-chown.h (nap): Factor...
28759         * tests/nap.h: ...into new file.
28760         * tests/test-lchown.h (nap): Avoid duplication.
28761         * tests/test-utimens-common.h (nap): Use shared implementation,
28762         necessary on file systems with 1-second resolution.
28763         * modules/chown-tests (Files): Include new file.
28764         * modules/fdutimensat-tests (Files): Likewise.
28765         * modules/futimens-tests (Files): Likewise.
28766         * modules/lchown-tests (Files): Likewise.
28767         * modules/openat-tests (Files): Likewise.
28768         * modules/utimens-tests (Files): Likewise.
28769         * modules/utimensat-tests (Files): Likewise.
28770
28771 2009-12-19  Eric Blake  <ebb9@byu.net>
28772
28773         futimens, utimensat: work around Linux bug
28774         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
28775         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28776         * lib/utimensat.c (rpl_utimensat): Work around it.
28777         * lib/futimens.c (rpl_futimens): Adjust comment.
28778
28779         utimens: work around Linux ctime bug
28780         * lib/utimens.c (detect_ctime_bug): New helper function.
28781         (update_timespec): Differentiate between workaround needed for
28782         this bug vs. what is needed for systems that lack utimensat.
28783         (fdutimens, lutimens): Work around bug.
28784
28785         utimens: check for ctime update
28786         * tests/test-utimens-common.h (check_ctime): Define.
28787         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
28788         * tests/test-futimens.h (test_futimens): Likewise.
28789         * tests/test-lutimens.h (test_lutimens): Likewise.
28790         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28791         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28792
28793 2009-12-19  Bruno Haible  <bruno@clisp.org>
28794
28795         dprintf-posix: Check against memory leak fixed on 2009-12-15.
28796         * tests/test-dprintf-posix2.sh: New file.
28797         * tests/test-dprintf-posix2.c: New file.
28798         * modules/dprintf-posix-tests (Files): Add them.
28799         (configure.ac): Check for getrlimit and setrlimit.
28800         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
28801
28802 2009-12-19  Bruno Haible  <bruno@clisp.org>
28803
28804         fprintf-posix: Check against memory leak fixed on 2009-12-15.
28805         * tests/test-fprintf-posix3.sh: New file.
28806         * tests/test-fprintf-posix3.c: New file.
28807         * modules/fprintf-posix-tests (Files): Add them.
28808         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
28809
28810 2009-12-19  Eric Blake  <ebb9@byu.net>
28811
28812         dirfd: fix prototype
28813         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
28814         * lib/dirfd.c (dirfd): Likewise.
28815
28816         canonicalize: reduce memory usage
28817         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
28818         allocation to size.
28819         Reported by Solar Designer <solar@openwall.com>.
28820
28821 2009-12-19  Bruno Haible  <bruno@clisp.org>
28822
28823         New module attribute 'Applicability'.
28824         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
28825         * gnulib-tool: New option --extract-applicability.
28826         (func_usage): Document it.
28827         (sed_extract_prog): Recognize it.
28828         (func_get_applicability): New function.
28829         (func_import): Generalize handling of 'link-warning' module.
28830         * modules/link-warning (Applicability): New section.
28831         * modules/arg-nonnull (Applicability): New section.
28832         Repoted by Simon Josefsson <simon@josefsson.org>.
28833
28834 2009-12-19  Bruno Haible  <bruno@clisp.org>
28835
28836         fflush: tweak
28837         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
28838         * lib/fseeko.c (rpl_fseeko): Likewise.
28839
28840 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
28841
28842         * lib/gl_list.h: Fix typo in comment.
28843
28844 2009-12-16  Eric Blake  <ebb9@byu.net>
28845
28846         fcntl: use to simplify other modules
28847         * modules/cloexec (Depends-on): Add fcntl.
28848         * modules/fchdir (Depends-on): Likewise.
28849         * modules/fd-safer-flag (Depends-on): Likewise.
28850         * modules/unistd-safer (Depends-on): Likewise.
28851         * modules/dup3 (configure.ac): Set module indicator.
28852         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
28853         missing.
28854         * lib/fchdir.c (_gl_register_dup): Fix comment.
28855         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
28856         * lib/dup-safer.c (dup_safer): Likewise.
28857         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
28858         * lib/dup3.c (dup3): Likewise.
28859         * tests/test-fchdir.c (main): Enhance test.
28860         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
28861
28862         fcntl: port portions of fcntl to mingw
28863         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
28864         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
28865         replacement for mingw.
28866         * modules/fcntl (Description): Update.
28867         (Depends-on): Add dup2.
28868         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
28869         * modules/fcntl-h (Makefile.am): Substitute it.
28870         * lib/fcntl.in.h (fcntl): Update declaration.
28871         (F_DUPFD, F_GETFD): New macros, when needed.
28872         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28873         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
28874         * tests/test-fcntl.c (check_flags, main): Enhance test for items
28875         we now guarantee.
28876
28877         fcntl: work around cygwin bug in F_DUPFD
28878         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
28879         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
28880         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
28881         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
28882         * doc/posix-functions/fcntl.texi (fcntl): Document it.
28883
28884         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
28885         * modules/fcntl (Files): List new files.
28886         (configure.ac): Run a test.
28887         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
28888         * lib/fcntl.c (rpl_fcntl): Likewise.
28889         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
28890         (gl_FCNTL_H): Always replace fcntl.h.
28891         * modules/fcntl-h (Makefile.am): Substitute witnesses.
28892         * lib/fcntl.in.h (fcntl): Declare replacement.
28893         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
28894         needed, plus a witness.
28895         * doc/posix-functions/fcntl.texi (fcntl): Document this.
28896         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28897         * tests/test-fcntl.c: New file.
28898         * modules/fcntl-tests: Likewise.
28899
28900         binary-io: avoid potential compilation warning
28901         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
28902         directives.
28903
28904         fflush: avoid compilation error on NetBSD
28905         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
28906         between off_t and fpos_t, since the latter is sometimes a struct.
28907         * lib/fseeko.c (rpl_fseeko): Likewise.
28908         Reported by Alexander Nasonov <alnsn@yandex.ru>.
28909
28910 2009-12-15  Eric Blake  <ebb9@byu.net>
28911
28912         fcntl-h, stdio, sys_ioctl: fix declarations
28913         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
28914         function must not take arguments.
28915         * lib/sys_ioctl.in.h (ioctl): Likewise.
28916         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
28917         (open): Add a link warning.
28918
28919 2009-12-15  Jim Meyering  <meyering@redhat.com>
28920
28921         areadlink, areadlink-with-size: relax license to LGPLv2+
28922         * modules/areadlink (License): Relax to LGPLv2+.
28923         * modules/areadlink-with-size (License): Likewise.
28924
28925 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
28926             Bruno Haible  <bruno@clisp.org>
28927
28928         *printf: Fix memory leak.
28929         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
28930         * lib/vfprintf.c (vfprintf): Likewise.
28931         * lib/dprintf.c (dprintf): Likewise.
28932         * lib/vdprintf.c (vdprintf): Likewise.
28933
28934 2009-12-14  Eric Blake  <ebb9@byu.net>
28935
28936         accept4: adjust module dependencies
28937         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
28938
28939         utimens: one more try at avoiding compiler warning
28940         * lib/utimens.c (lutimens): Lower scope of result.
28941
28942 2009-12-13  Bruno Haible  <bruno@clisp.org>
28943
28944         Move the malloc checking from module 'list' to new module 'xlist'.
28945         * modules/xlist: New file.
28946         * lib/gl_xlist.h: New file.
28947         * lib/gl_xlist.c: New file.
28948         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
28949         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
28950         gl_list_add_last, gl_list_add_before, gl_list_add_after,
28951         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
28952         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
28953         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
28954         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
28955         gl_sortedlist_nx_add): New declarations.
28956         (struct gl_list_implementation): Rename and change methods accordingly.
28957         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
28958         (gl_list_nx_create): Renamed from gl_list_create.
28959         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
28960         (gl_list_nx_set_at): Renamed from gl_list_set_at.
28961         (gl_list_nx_add_first): Renamed from gl_list_add_first.
28962         (gl_list_nx_add_last): Renamed from gl_list_add_last.
28963         (gl_list_nx_add_before): Renamed from gl_list_add_before.
28964         (gl_list_nx_add_after): Renamed from gl_list_add_after.
28965         (gl_list_nx_add_at): Renamed from gl_list_add_at.
28966         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
28967         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
28968         gl_list_create_empty.
28969         (gl_list_nx_create): Renamed from gl_list_create.
28970         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
28971         (gl_list_nx_set_at): Renamed from gl_list_set_at.
28972         (gl_list_nx_add_first): Renamed from gl_list_add_first.
28973         (gl_list_nx_add_last): Renamed from gl_list_add_last.
28974         (gl_list_nx_add_before): Renamed from gl_list_add_before.
28975         (gl_list_nx_add_after): Renamed from gl_list_add_after.
28976         (gl_list_nx_add_at): Renamed from gl_list_add_at.
28977         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
28978         * lib/gl_array_list.c: Don't include xalloc.h.
28979         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
28980         NULL upon out-of-memory.
28981         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
28982         out-of-memory.
28983         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
28984         Change return type to 'int'.
28985         (gl_array_nx_set_at): Renamed from gl_array_set_at.
28986         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
28987         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
28988         upon out-of-memory.
28989         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
28990         upon out-of-memory.
28991         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
28992         upon out-of-memory.
28993         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
28994         upon out-of-memory.
28995         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
28996         out-of-memory.
28997         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
28998         Update.
28999         (gl_array_list_implementation): Update.
29000         * lib/gl_carray_list.c: Don't include xalloc.h.
29001         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
29002         Return NULL upon out-of-memory.
29003         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
29004         out-of-memory.
29005         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
29006         Change return type to 'int'.
29007         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
29008         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
29009         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
29010         upon out-of-memory.
29011         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
29012         upon out-of-memory.
29013         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
29014         out-of-memory.
29015         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
29016         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
29017         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
29018         Update.
29019         (gl_carray_list_implementation): Update.
29020         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
29021         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
29022         gl_linked_create_empty. Return NULL upon out-of-memory.
29023         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
29024         out-of-memory.
29025         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
29026         Change return type to 'int'. Return -1 upon out-of-memory.
29027         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
29028         out-of-memory.
29029         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
29030         upon out-of-memory.
29031         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
29032         upon out-of-memory.
29033         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
29034         NULL upon out-of-memory.
29035         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
29036         upon out-of-memory.
29037         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
29038         out-of-memory.
29039         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
29040         Update.
29041         * lib/gl_linked_list.c: Don't include xalloc.h.
29042         (gl_linked_list_implementation): Update.
29043         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
29044         (add_to_bucket): Change return type to 'int'.
29045         (gl_linkedhash_list_implementation): Update.
29046         * lib/gl_anytree_list1.h (free_subtree): New function.
29047         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
29048         gl_tree_create_empty. Return NULL upon out-of-memory.
29049         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
29050         Change return type to 'int'. Return -1 upon out-of-memory.
29051         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
29052         out-of-memory.
29053         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
29054         (gl_tree_remove_node): New function, moved here from
29055         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
29056         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
29057         Update.
29058         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
29059         malloc, not xmalloc. Return NULL upon out-of-memory.
29060         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
29061         out-of-memory.
29062         (gl_tree_remove_node_from_tree): New function, extracted from
29063         gl_tree_remove_node.
29064         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
29065         upon out-of-memory.
29066         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
29067         out-of-memory.
29068         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
29069         upon out-of-memory.
29070         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
29071         upon out-of-memory.
29072         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
29073         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
29074         not xmalloc. Return NULL upon out-of-memory.
29075         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
29076         out-of-memory.
29077         (gl_tree_remove_node_from_tree): New function, extracted from
29078         gl_tree_remove_node.
29079         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
29080         upon out-of-memory.
29081         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
29082         out-of-memory.
29083         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
29084         upon out-of-memory.
29085         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
29086         upon out-of-memory.
29087         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
29088         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
29089         gl_anytree_list1.h before gl_anyavltree_list2.h.
29090         (gl_avltree_list_implementation): Update.
29091         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
29092         gl_anytree_list1.h before gl_anyavltree_list2.h.
29093         (gl_rbtree_list_implementation): Update.
29094         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
29095         Change return type to 'int'. Return -1 upon out-of-memory. Use
29096         __builtin_expect.
29097         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
29098         (gl_avltreehash_list_implementation): Update.
29099         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
29100         (gl_rbtreehash_list_implementation): Update.
29101         * modules/array-list (Depends-on): Remove xalloc.
29102         * modules/carray-list (Depends-on): Likewise.
29103         * modules/linked-list (Depends-on): Likewise.
29104         * modules/linkedhash-list (Depends-on): Likewise.
29105         * modules/avltree-list (Depends-on): Likewise.
29106         * modules/rbtree-list (Depends-on): Likewise.
29107         * modules/avltreehash-list (Depends-on): Likewise.
29108         * modules/rbtreehash-list (Depends-on): Likewise.
29109
29110         * modules/xsublist: New file.
29111         * lib/gl_xsublist.h: New file.
29112         * lib/gl_xsublist.c: New file.
29113         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
29114         (gl_sublist_nx_create): New declaration.
29115         * lib/gl_sublist.c: Don't include xalloc.h.
29116         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
29117         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
29118         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
29119         Change return type to 'int'. Return -1 upon out-of-memory.
29120         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
29121         upon out-of-memory.
29122         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
29123         NULL upon out-of-memory.
29124         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
29125         upon out-of-memory.
29126         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
29127         NULL upon out-of-memory.
29128         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
29129         NULL upon out-of-memory.
29130         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
29131         upon out-of-memory.
29132         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
29133         (gl_sublist_list_implementation): Update.
29134         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
29135         upon out-of-memory.
29136         * modules/sublist (Depends-on): Remove xalloc.
29137
29138         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
29139         * tests/test-carray_list.c: Likewise.
29140         * tests/test-linked_list.c: Likewise.
29141         * tests/test-linkedhash_list.c: Likewise.
29142         * tests/test-avltree_list.c: Likewise.
29143         * tests/test-rbtree_list.c: Likewise.
29144         * tests/test-avltreehash_list.c: Likewise.
29145         * tests/test-rbtreehash_list.c: Likewise.
29146         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
29147         * modules/carray-list-tests (Makefile.am): Likewise.
29148         * modules/linked-list-tests (Makefile.am): Likewise.
29149         * modules/linkedhash-list-tests (Makefile.am): Likewise.
29150         * modules/avltree-list-tests (Makefile.am): Likewise.
29151         * modules/rbtree-list-tests (Makefile.am): Likewise.
29152         * modules/avltreehash-list-tests (Makefile.am): Likewise.
29153         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
29154
29155         * NEWS: Mention the changes.
29156
29157         * lib/clean-temp.c: Include gl_xlist.h.
29158         * modules/clean-temp (Depends-on): Add xlist.
29159
29160         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
29161         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
29162
29163         * tests/test-array_oset.c: Include gl_xlist.h.
29164         * modules/array-oset-tests (Depends-on): Add xlist.
29165
29166         Reported by José E. Marchesi <jemarch@gnu.org>.
29167
29168 2009-12-13  Bruno Haible  <bruno@clisp.org>
29169
29170         Move the malloc checking from module 'oset' to new module 'xoset'.
29171         * modules/xoset: New file.
29172         * lib/gl_xoset.h: New file.
29173         * lib/gl_xoset.c: New file.
29174         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
29175         declarations.
29176         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
29177         (struct gl_oset_implementation): Rename and change methods accordingly.
29178         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
29179         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
29180         'int'. Mark as __warn_unused_result__.
29181         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
29182         gl_oset_create_empty.
29183         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
29184         'int'.
29185         * lib/gl_array_oset.c: Don't include xalloc.h.
29186         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
29187         malloc, not xmalloc.
29188         (grow): Change return type to 'int'. Don't call xalloc_die.
29189         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
29190         to 'int'.
29191         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
29192         'int'.
29193         (gl_array_oset_implementation): Update.
29194         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
29195         gl_tree_create_empty.
29196         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
29197         'int'.
29198         * lib/gl_avltree_oset.c: Don't include xalloc.h.
29199         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
29200         xmalloc.
29201         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
29202         not xmalloc.
29203         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
29204         xmalloc.
29205         (gl_avltree_oset_implementation): Update.
29206         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
29207         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
29208         xmalloc.
29209         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
29210         not xmalloc.
29211         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
29212         xmalloc.
29213         (gl_rbtree_oset_implementation): Update.
29214         * modules/array-oset (Depends-on): Remove xalloc.
29215         * modules/avltree-oset (Depends-on): Likewise.
29216         * modules/rbtree-oset (Depends-on): Likewise.
29217         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
29218         * tests/test-avltree_oset.c: Likewise.
29219         * tests/test-rbtree_oset.c: Likewise.
29220         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
29221         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
29222         * modules/rbtree-oset-tests (Makefile.am): Likewise.
29223         * NEWS: Mention the change.
29224
29225 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
29226
29227         maint.mk: allow a project to override release-prep commands
29228         * top/maint.mk (alpha, beta, stable): Move release-preparatory
29229         commands into a new rule.
29230         (release-prep): New rule.
29231         (release-prep-hook): New overridable variable.
29232
29233 2009-12-13  Bruno Haible  <bruno@clisp.org>
29234
29235         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
29236
29237 2009-12-13  Jim Meyering  <meyering@redhat.com>
29238
29239         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
29240         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
29241
29242 2009-12-12  Bruno Haible  <bruno@clisp.org>
29243
29244         duplocale: Tweak.
29245         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
29246
29247 2009-12-12  Karl Berry  <karl@gnu.org>
29248
29249         * config/srclist.txt (strtoll.c): tab changes, no more sync.
29250
29251 2009-12-12  Bruno Haible  <bruno@clisp.org>
29252
29253         * m4/po.m4: Undo incorrect untabification.
29254
29255 2009-12-12  Bruno Haible  <bruno@clisp.org>
29256
29257         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
29258         * modules/c-strtod (Depends-on): Add locale.
29259         * modules/c-strtold (Depends-on): Likewise.
29260
29261 2009-12-12  Bruno Haible  <bruno@clisp.org>
29262
29263         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
29264
29265 2009-12-11  Eric Blake  <ebb9@byu.net>
29266
29267         setenv: relax requirement in light of POSIX ruling
29268         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
29269         not NULL.
29270         * tests/test-setenv.c (main): Relax test.
29271         * tests/test-unsetenv.c (main): Likewise.
29272         * doc/posix-functions/setenv.texi (setenv): Document this.
29273         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
29274
29275 2009-12-11  Bruno Haible  <bruno@clisp.org>
29276
29277         New module 'fd-safer-flag'.
29278         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
29279         * lib/dup-safer.c (dup_safer_flag): Remove function.
29280         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
29281         * lib/fd-safer.c (fd_safer_flag): Remove function.
29282         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
29283         * modules/cloexec (configure.ac): Drop indicator macro.
29284         * modules/fd-safer-flag: New file.
29285         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
29286         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
29287         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
29288
29289 2009-12-11  Bruno Haible  <bruno@clisp.org>
29290
29291         Tests for module 'nl_langinfo'.
29292         * modules/nl_langinfo-tests: New file.
29293         * tests/test-nl_langinfo.sh: New file.
29294         * tests/test-nl_langinfo.c: New file.
29295
29296         New module 'nl_langinfo'.
29297         * lib/nl_langinfo.c: New file.
29298         * m4/nl_langinfo.m4: New file.
29299         * modules/nl_langinfo: New file.
29300         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
29301
29302 2009-12-11  Bruno Haible  <bruno@clisp.org>
29303
29304         Tests for module 'langinfo'.
29305         * modules/langinfo-tests: New file.
29306         * tests/test-langinfo.c: New file.
29307
29308         New module 'langinfo'.
29309         * lib/langinfo.in.h: New file.
29310         * m4/langinfo_h.m4: New file.
29311         * modules/langinfo: New file.
29312         * doc/posix-headers/langinfo.texi: Mention the new module.
29313
29314 2009-12-11  Bruno Haible  <bruno@clisp.org>
29315
29316         * lib/config.charset: Untabify.
29317
29318 2009-12-11  Bruno Haible  <bruno@clisp.org>
29319
29320         * modules/unistd-safer (configure.ac): Drop indicator macro.
29321
29322 2009-12-11  Bruno Haible  <bruno@clisp.org>
29323
29324         Move pipe2-safer code to its own file.
29325         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
29326         * lib/pipe-safer.c (pipe2_safer): Remove function.
29327         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
29328         (Makefile.am): Add it to lib_SOURCES.
29329
29330 2009-12-10  Bruno Haible  <bruno@clisp.org>
29331
29332         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
29333
29334 2009-12-10  Bruno Haible  <bruno@clisp.org>
29335
29336         Declare which arguments expect non-NULL values, for GCC and clang.
29337         * build-aux/arg-nonnull.h: New file.
29338         * modules/arg-nonnull: New file.
29339         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
29340         (inet_ntop, inet_pton): Use it.
29341         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
29342         (closedir, dirfd, opendir, scandir, alphasort): Use it.
29343         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
29344         (open, openat): Use it.
29345         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
29346         (fnmatch): Use it.
29347         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
29348         (getopt, getopt_long, getopt_long_only): Use it.
29349         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
29350         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
29351         Use it.
29352         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
29353         (iconv_open): Use it.
29354         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
29355         (strtoimax, strtoumax): Use it.
29356         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
29357         (duplocale): Use it.
29358         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
29359         (frexp, frexpl): Use it.
29360         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
29361         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
29362         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
29363         (tsearch, tfind, tdelete, twalk): Use it.
29364         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
29365         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29366         sigpending): Use it.
29367         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
29368         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29369         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29370         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29371         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29372         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29373         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29374         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29375         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29376         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29377         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29378         Use it.
29379         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
29380         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
29381         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
29382         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
29383         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
29384         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
29385         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
29386         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
29387         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
29388         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
29389         strtoull, unsetenv): Use it.
29390         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
29391         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29392         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29393         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
29394         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
29395         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
29396         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
29397         (strcasecmp, strncasecmp): Use it.
29398         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
29399         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
29400         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
29401         rpl_setsockopt): Use it.
29402         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
29403         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
29404         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
29405         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
29406         (gettimeofday): Use it.
29407         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
29408         (times): Use it.
29409         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
29410         (uname): Use it.
29411         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
29412         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
29413         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
29414         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
29415         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
29416         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
29417         unlinkat, write): Use it.
29418         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
29419         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
29420         * lib/argv-iter.h: Include arg-nonnull.h.
29421         (_ATTRIBUTE_NONNULL_): Remove macro.
29422         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
29423         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
29424         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
29425         optimization.
29426         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
29427         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
29428         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
29429         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
29430         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
29431         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
29432         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
29433         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
29434         * modules/arpa_inet (Depends-on): Add arg-nonnull.
29435         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
29436         * modules/dirent (Depends-on): Add arg-nonnull.
29437         (Makefile.am): Insert arg-nonnull.h into dirent.h.
29438         * modules/fcntl-h (Depends-on): Add arg-nonnull.
29439         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
29440         * modules/fnmatch (Depends-on): Add arg-nonnull.
29441         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
29442         * modules/getopt-posix (Depends-on): Add arg-nonnull.
29443         (Makefile.am): Insert arg-nonnull.h into getopt.h.
29444         * modules/glob (Depends-on): Add arg-nonnull.
29445         (Makefile.am): Insert arg-nonnull.h into glob.h.
29446         * modules/iconv_open (Depends-on): Add arg-nonnull.
29447         (Makefile.am): Insert arg-nonnull.h into iconv.h.
29448         * modules/inttypes (Depends-on): Add arg-nonnull.
29449         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
29450         * modules/locale (Depends-on): Add arg-nonnull.
29451         (Makefile.am): Insert arg-nonnull.h into locale.h.
29452         * modules/math (Depends-on): Add arg-nonnull.
29453         (Makefile.am): Insert arg-nonnull.h into math.h.
29454         * modules/netdb (Depends-on): Add arg-nonnull.
29455         (Makefile.am): Insert arg-nonnull.h into netdb.h.
29456         * modules/search (Depends-on): Add arg-nonnull.
29457         (Makefile.am): Insert arg-nonnull.h into search.h.
29458         * modules/signal (Depends-on): Add arg-nonnull.
29459         (Makefile.am): Insert arg-nonnull.h into signal.h.
29460         * modules/spawn (Depends-on): Add arg-nonnull.
29461         (Makefile.am): Insert arg-nonnull.h into spawn.h.
29462         * modules/stdio (Depends-on): Add arg-nonnull.
29463         (Makefile.am): Insert arg-nonnull.h into stdio.h.
29464         * modules/stdlib (Depends-on): Add arg-nonnull.
29465         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
29466         * modules/string (Depends-on): Add arg-nonnull.
29467         (Makefile.am): Insert arg-nonnull.h into string.h.
29468         * modules/strings (Depends-on): Add arg-nonnull.
29469         (Makefile.am): Insert arg-nonnull.h into strings.h.
29470         * modules/sys_socket (Depends-on): Add arg-nonnull.
29471         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
29472         * modules/sys_stat (Depends-on): Add arg-nonnull.
29473         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
29474         * modules/sys_time (Depends-on): Add arg-nonnull.
29475         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
29476         * modules/sys_times (Depends-on): Add arg-nonnull.
29477         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
29478         * modules/sys_utsname (Depends-on): Add arg-nonnull.
29479         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
29480         * modules/time (Depends-on): Add arg-nonnull.
29481         (Makefile.am): Insert arg-nonnull.h into time.h.
29482         * modules/unistd (Depends-on): Add arg-nonnull.
29483         (Makefile.am): Insert arg-nonnull.h into unistd.h.
29484         * modules/wchar (Depends-on): Add arg-nonnull.
29485         (Makefile.am): Insert arg-nonnull.h into wchar.h.
29486         * modules/argv-iter (Depends-on): Add arg-nonnull.
29487         * tests/test-canonicalize.c (null_ptr): New function.
29488         (main): Use it.
29489         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
29490         (main): Use it.
29491         * tests/test-memmem.c (null_ptr): New function.
29492         (main): Use it.
29493         Reported by Jim Meyering.
29494
29495 2009-12-10  Bruno Haible  <bruno@clisp.org>
29496
29497         Use spaces for indentation, not tabs.
29498         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
29499         * m4/*.m4: Untabify.
29500         * build-aux/*.h: Untabify.
29501         * tests/**/*.[hc]: Untabify.
29502         * README: New section "Indent with spaces, not TABs", based on
29503         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
29504         * NEWS: Mention the change.
29505
29506 2009-12-10  Bruno Haible  <bruno@clisp.org>
29507
29508         pty test: Fix link error.
29509         * modules/pty-tests (Makefile.am): Add the default LDADD value to
29510         test_pty_LDADD.
29511
29512 2009-12-07  Simon Josefsson  <simon@josefsson.org>
29513
29514         * modules/pty: New file.
29515         * modules/pty-tests: New file.
29516         * m4/pty.m4: New file.
29517         * tests/test-pty.c: New file.
29518         * doc/glibc-headers/pty.texi: Modified.
29519         * doc/glibc-functions/forkpty.texi: Modified.
29520         * doc/glibc-functions/openpty.texi: Modified.
29521
29522 2009-12-10  Bruno Haible  <bruno@clisp.org>
29523
29524         Avoid syntax error in C++ mode.
29525         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
29526
29527 2009-12-10  Bruno Haible  <bruno@clisp.org>
29528
29529         Use sed with option -e.
29530         * gnulib-tool (func_version, func_emit_copyright_notice,
29531         func_emit_initmacro_end, func_import, func_create_testdir): Pass
29532         option -e to sed.
29533         * modules/link-warning (Makefile.am): Likewise.
29534
29535 2009-12-10  Jim Meyering  <meyering@redhat.com>
29536
29537         mgetgroups: do not write bytes beyond end of malloc'd buffer
29538         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
29539         username, we call getgroups with a one-element-shorter buffer,
29540         but still told it the length was original, max_n_groups.
29541
29542 2009-12-09  Eric Blake  <ebb9@byu.net>
29543
29544         cloexec: relax license
29545         * modules/cloexec (Maintainer): Add myself.
29546         (License): Use LGPL, not GPL.
29547
29548         link-warning: optimize generation
29549         * modules/link-warning (Makefile.am): Reduce process usage.
29550
29551 2009-12-09  Bruno Haible  <bruno@clisp.org>
29552
29553         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
29554         workaround was added on 2009-11-17.
29555
29556 2009-12-09  Jim Meyering  <meyering@redhat.com>
29557             Bruno Haible  <bruno@clisp.org>
29558
29559         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
29560         * modules/link-warning (Makefile.am): Make the comment-removing sed
29561         command more robust in the face of bootstrap-prepended comment lines.
29562
29563 2009-12-09  Bruno Haible  <bruno@clisp.org>
29564
29565         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
29566         most one group.
29567
29568 2009-12-09  Simon Josefsson <simon@josefsson.org>
29569             Bruno Haible  <bruno@clisp.org>
29570
29571         * build-aux/link-warning.h: Add copyright notice.
29572         * modules/link-warning (Makefile.am): Generate link-warning.h from
29573         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
29574         * NEWS: Mention change in link-warning module.
29575         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
29576         * modules/dirent (Makefile.am): Add dependency to dirent.h.
29577         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
29578         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
29579         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
29580         * modules/math (Makefile.am): Add dependency to math.h.
29581         * modules/search (Makefile.am): Add dependency to search.h.
29582         * modules/signal (Makefile.am): Add dependency to signal.h.
29583         * modules/spawn (Makefile.am): Add dependency to spawn.h.
29584         * modules/stdio (Makefile.am): Add dependency to stdio.h.
29585         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
29586         * modules/string (Makefile.am): Add dependency to string.h.
29587         * modules/strings (Makefile.am): Add dependency to strings.h.
29588         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
29589         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
29590         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
29591         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
29592         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
29593         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
29594         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
29595         * modules/unistd (Makefile.am): Add dependency to unistd.h.
29596         * modules/wchar (Makefile.am): Add dependency to wchar.h.
29597
29598 2009-12-09  Bruno Haible  <bruno@clisp.org>
29599
29600         fchdir: Optimize away rpl_fstat when possible.
29601         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
29602         REPLACE_OPEN_DIRECTORY.
29603         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
29604
29605 2009-12-09  Bruno Haible  <bruno@clisp.org>
29606
29607         * lib/fchdir.c: Update comment.
29608
29609 2009-12-09  Bruno Haible  <bruno@clisp.org>
29610
29611         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
29612
29613 2009-12-08  Eric Blake  <ebb9@byu.net>
29614
29615         fchdir: avoid memory leak on re-registration.
29616         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
29617
29618 2009-12-08  Jim Meyering  <meyering@redhat.com>
29619
29620         init.sh: avoid Solaris 10 /bin/sh portability problem
29621         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
29622         sourced script:
29623           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
29624           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
29625           bar
29626         tests/init.sh relied on that, accepting a --set-path=DIR argument,
29627         and two tests used that idiom.
29628         * tests/init.sh: Update suggested usage comments.
29629         (path_prepend_): New function, to be used in place
29630         of the --src-path=DIR option.
29631         (setup_): Move PATH-prepending code into path_prepend_.
29632         * tests/test-pread.sh: Adapt to new usage.
29633         * tests/test-xalloc-die.sh: Likewise.
29634
29635 2009-12-08  Simon Josefsson  <simon@josefsson.org>
29636
29637         * doc/gnulib.texi (Glibc pty.h): Add.
29638         * doc/glibc-functions/forkpty.texi: Add.
29639         * doc/glibc-functions/openpty.texi: Add.
29640         Suggested by Bruno Haible.
29641
29642 2009-12-08  Eric Blake  <ebb9@byu.net>
29643
29644         fchdir: fix logic bugs
29645         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
29646         * tests/test-fchdir.c (main): Enhance test.
29647         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
29648         is in use.
29649
29650         dup2: fix logic bugs
29651         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
29652         REPLACE_DUP2 to decide when rpl_dup2 is needed.
29653         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
29654         exists.
29655         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
29656
29657 2009-12-07  Eric Blake  <ebb9@byu.net>
29658
29659         unlink: fix m4 detection
29660         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
29661
29662         unistd-safer: add unit test
29663         * modules/unistd-safer-tests: New file.
29664         * tests/test-dup-safer.c: Likewise.
29665         * tests/test-cloexec.c (setmode): Avoid compiler warning.
29666         * tests/test-dup2.c (setmode): Likewise.
29667         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
29668
29669         cloexec: preserve text vs. binary across dup_cloexec
29670         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
29671         mode.
29672         * modules/dup2-tests (Depends-on): Add binary-io.
29673         * modules/cloexec-tests (Depends-on): Likewise.
29674         * tests/test-dup2.c (setmode, is_mode): New helpers.
29675         (main): Add tests that translation mode is preserved.
29676         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
29677         Reported by Bruno Haible.
29678
29679         mgetgroups: reduce duplicate listings
29680         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
29681         resulting array.
29682         * tests/test-chown.h (test_chown): Simplify client.
29683         * tests/test-lchown.h (test_lchown): Likewise.
29684
29685 2009-12-06  Bruno Haible  <bruno@clisp.org>
29686
29687         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
29688         value.
29689
29690 2009-12-06  Bruno Haible  <bruno@clisp.org>
29691
29692         * lib/progname.c: Include stdio.h, stdlib.h.
29693         (set_program_name): Reject a NULL argument.
29694
29695 2009-12-05  Eric Blake  <ebb9@byu.net>
29696
29697         pipe2-safer: new module
29698         * modules/pipe2-safer: New file.
29699         * lib/unistd-safer.h (pipe2_safer): New prototype.
29700         * lib/unistd--.h (pipe2): New wrapper.
29701         * lib/pipe-safer.c (pipe2_safer): New function.
29702         * modules/pipe (Depends-on): Add pipe2-safer.
29703         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
29704
29705         stdlib-safer: preserve cloexec flag for mkostemp[s]
29706         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
29707         fd_safer_flag.
29708
29709         unistd-safer: allow preservation of cloexec status via flag
29710         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
29711         prototypes.
29712         * lib/dup-safer.c (dup_safer_flag): New function.
29713         * lib/fd-safer.c (fd_safer_flag): Likewise.
29714         * modules/cloexec (configure.ac): Set witness.
29715
29716         test-dup2: enhance test
29717         * modules/dup2-tests (Depends-on): Add cloexec.
29718         * tests/test-dup2.c (main): Enhance test.
29719
29720         cloexec: add dup_cloexec
29721         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
29722         header and comments.
29723         * lib/cloexec.c (set_cloexec_flag): Add comments.
29724         (dup_cloexec): New function, with mingw implementation borrowed
29725         from...
29726         * lib/w32spawn.h (dup_noinherit): ...here.
29727         * modules/execute (Depends-on): Add cloexec.
29728         * modules/pipe (Depends-on): Likewise.
29729         * modules/cloexec (Depends-on): Add dup2.
29730         * modules/cloexec-tests (Files): New file.
29731         * tests/test-cloexec.c: Likewise.
29732
29733         test-xalloc-die: fix test for mingw
29734         * modules/xalloc-die-tests (Files): Add tests/init.sh.
29735         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
29736         directory and .exe suffix off argv[0] output.
29737
29738         test-fseeko: fix test for mingw
29739         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
29740         than undefining fseek, so test will pass on mingw.
29741
29742 2009-12-05  Bruno Haible  <bruno@clisp.org>
29743
29744         * lib/progname.h (set_program_name): Clarify specification.
29745         * lib/progname.c (set_program_name): Likewise.
29746         Reported by Jim Meyering.
29747
29748 2009-12-05  Jim Meyering  <meyering@redhat.com>
29749
29750         maint.mk: backslash-escape parens in default regexp
29751         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
29752         backslash-escape the literal parentheses.
29753
29754         maint.mk: news-date-check: use grep -E
29755         * top/maint.mk (today): Define a Make variable, not a...
29756         (news-date-check): ...shell variable.
29757         (news-date-regexp): Use the Make variable.
29758         Use grep's -E option.  Change the failing diagnostic to mention
29759         the variable, $(news-date-regexp).
29760
29761 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
29762
29763         maintainer-makefile: allow customization of NEWS entry format
29764         * top/maint.mk (news-date-regexp): New overridable variable.
29765         (news-date-check): Use it.
29766
29767 2009-12-04  Eric Blake  <ebb9@byu.net>
29768
29769         mgetgroups: add xgetgroups, and avoid ENOSYS failures
29770         * lib/mgetgroups.h (xgetgroups): New prototype.
29771         * lib/mgetgroups.c (xgetgroups): New wrapper.
29772         (mgetgroups): Handle ENOSYS.
29773         * modules/mgetgroups (Depends-on): Add realloc.
29774         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
29775
29776         mgetgroups: avoid argument promotion issues with -1
29777         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
29778         for invalid gid_t.
29779         * tests/test-chown.h (getegid, test_chown): Likewise.
29780         * tests/test-lchown.h (getegid, test_lchown): Likewise.
29781
29782 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
29783
29784         exclude: Fix header file problems.
29785         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
29786
29787 2009-12-01  Jim Meyering  <meyering@redhat.com>
29788
29789         fts: fts_open: do not let an empty string cause immediate failure
29790         This is required in support of GNU rm, for which the command
29791         "rm A '' B" must process and remove both A and B, in spite of
29792         the empty string argument.
29793         * lib/fts.c (fts_open): Do not let the presence of an empty string
29794         cause fts_open to fail immediately.  Most fts-using tools must be
29795         able to process all arguments, in order, and can be expected to
29796         diagnose such arguments themselves.
29797
29798 2009-11-30  Eric Blake  <ebb9@byu.net>
29799
29800         utimens: fix compilation error
29801         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
29802         Declare variable at right scope.
29803
29804 2009-11-29  Jim Meyering  <meyering@redhat.com>
29805
29806         bootstrap: handle perl-5.11's changed --version output
29807         * build-aux/bootstrap (get_version): Handle perl separately,
29808         since perl-5.11's --version output is different.
29809
29810 2009-11-28  Jim Meyering  <meyering@redhat.com>
29811
29812         userspec: depend on the inttostr module, too
29813         * modules/userspec (Depends-on): Add inttostr.
29814
29815         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
29816         * lib/userspec.c (parse_with_separator): Do not accept a user ID
29817         number of MAXUID when it evaluates to (uid_t) -1.
29818         Likewise for group ID.  Reported by Matt McCutchen in
29819         <http://savannah.gnu.org/bugs/?28113>
29820
29821         userspec: reformat to use spaces, not TABs
29822         * lib/userspec.c: Expand TABs to spaces.
29823         Add Emacs' "indent-tabs-mode: nil" hint.
29824
29825 2009-11-27  Eric Blake  <ebb9@byu.net>
29826
29827         getopt-gnu: flush out another BSD bug
29828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
29829         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
29830         flush out BSD bug.
29831         * tests/test-getopt.h (test_getopt): End lists with NULL.
29832         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29833         (test_getopt_long_posix): Enhance test.
29834         * modules/getopt-posix-tests (Depends-on): Add stdbool.
29835         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
29836         getopt-gnu.
29837         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29838         Likewise.
29839
29840 2009-11-27  Simon Josefsson  <simon@josefsson.org>
29841
29842         * modules/idpriv-droptemp-tests (Notice): Fix text.
29843
29844 2009-11-27  Jim Meyering  <meyering@redhat.com>
29845
29846         test-xalloc-die: avoid spurious failure due to libtool argv difference
29847         In a libtool-enabled project, this test would fail due to a difference
29848         in the emitted program name, e.g.,
29849         -test-xalloc-die: memory exhausted
29850         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
29851         Use program to avoid that.
29852         * modules/xalloc-die-tests (Depends-on): Add progname.
29853         * tests/test-xalloc-die.c: Include progname.h".
29854         (program_name): Remove decl.
29855         (main): Call set_program_name.
29856         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
29857
29858 2009-11-26  Richard Jones  <rjones@redhat.com>
29859
29860         w32sock: leave win32 error in place.
29861         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
29862
29863 2009-11-26  Eric Blake  <ebb9@byu.net>
29864
29865         init.sh: suggest to use skip_ and fail_ functions in comments
29866         * tests/init.sh: Add a sentence.
29867
29868 2009-11-25  Bruno Haible  <bruno@clisp.org>
29869
29870         init.sh: add documentation in comments
29871         * tests/init.sh: Add some developer and user documentation.
29872
29873 2009-11-26  Jim Meyering  <meyering@redhat.com>
29874
29875         init.sh: accommodate even those who specify bogus srcdir manually
29876         * tests/init.sh: Normally, srcdir is guaranteed by automake and
29877         configure-time tests to be sanitized, so that there is no need to
29878         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
29879         (with no double quotes) suffices.  However, since tests may be
29880         invoked manually, and since you may explicitly set srcdir to the
29881         name of a directory containing spaces, do quote its uses here.
29882         * tests/test-pread.sh: Likewise.
29883         Suggested by Bruno Haible.
29884
29885         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
29886         * tests/test-pread.sh: Write no data into the pipe, because
29887         test-pread actually reads none.  This avoids a diagnostic,
29888         "bash: echo: write error: Broken pipe", that arises in the unusual
29889         event something is ignoring SIGPIPE, and might be interpreted
29890         as some sort of failure.  Reported by Bruno Haible.
29891
29892 2009-11-25  Jim Meyering  <meyering@redhat.com>
29893
29894         test-pread: cover failure with ESPIPE and EINVAL
29895         * tests/test-pread.c (main): Test for failure, too.
29896         * tests/test-pread.sh: Invoke with stdin on a pipe.
29897         Suggested by Eric Blake.
29898
29899         pread: improvement and fix
29900         * modules/pread (Depends-on): Depend on lseek, for portability to
29901         e.g., mingw.  Suggested by Eric Blake.
29902         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
29903
29904         unistd.in.h: correct declaration of pread
29905         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
29906         Reported by Richard W.M. Jones.
29907
29908         test-pread.sh: distribute the test script
29909         * modules/pread-tests (Files): Include test-pread.sh.
29910
29911         test-pread.sh: clean up
29912         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
29913         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
29914         That is unnecessary, since it's always ".".
29915         Suggestion from Eric Blake.
29916
29917         test-pread.sh: make executable
29918         * tests/test-pread.sh: Set executable bit.
29919         Reported by Eric Blake.
29920
29921         correct typo in test-pread.sh
29922         * tests/test-pread.sh: Add #! line.
29923
29924         test pread
29925         * tests/test-pread.c: New file.
29926         * tests/test-pread.sh: Likewise.
29927         * modules/pread-tests: Likewise.
29928
29929         pread: new module
29930         * modules/pread: New file.
29931         * lib/unistd.in.h (pread): Define/declare.
29932         * lib/pread.c (pread): New file.
29933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
29934         * modules/unistd (Makefile.am): Substitute witnesses.
29935         * doc/posix-functions/pread.texi (pread): Update.
29936         * MODULES.html.sh: Add pread.
29937
29938 2009-11-25  Jim Meyering  <meyering@redhat.com>
29939
29940         tests/init.sh: new file to be used via most *.sh tests
29941         * tests/init.sh: New file.
29942
29943 2009-11-25  Eric Blake  <ebb9@byu.net>
29944
29945         utimens: work around older Linux failure with symlinks
29946         * lib/utimens.c (lutimensat_works_really): New variable.
29947         (fdutimens, lutimens): Use it to manage kernels that support
29948         nanosecond times on files, but not on symlinks.
29949         Reported by OndÅ™ej Vašík.
29950
29951         utimes: fix configure grammar
29952         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
29953
29954 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
29955
29956         regex: Fix fastmap for multibyte character ranges.
29957         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
29958         characters when a multibyte character range is included.
29959
29960 2009-11-22  Andy Wingo  <wingo@pobox.com>
29961
29962         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
29963         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
29964
29965 2009-11-24  Bruno Haible  <bruno@clisp.org>
29966
29967         doc: Most *_l functions exist in MacOS X 10.5.
29968         * doc/posix-functions/duplocale.texi: Update platforms list.
29969         * doc/posix-functions/freelocale.texi: Likewise.
29970         * doc/posix-functions/newlocale.texi: Likewise.
29971         * doc/posix-functions/uselocale.texi: Likewise.
29972         * doc/posix-functions/isalnum_l.texi: Likewise.
29973         * doc/posix-functions/isalpha_l.texi: Likewise.
29974         * doc/posix-functions/isblank_l.texi: Likewise.
29975         * doc/posix-functions/iscntrl_l.texi: Likewise.
29976         * doc/posix-functions/isdigit_l.texi: Likewise.
29977         * doc/posix-functions/isgraph_l.texi: Likewise.
29978         * doc/posix-functions/islower_l.texi: Likewise.
29979         * doc/posix-functions/isprint_l.texi: Likewise.
29980         * doc/posix-functions/ispunct_l.texi: Likewise.
29981         * doc/posix-functions/isspace_l.texi: Likewise.
29982         * doc/posix-functions/isupper_l.texi: Likewise.
29983         * doc/posix-functions/iswalnum_l.texi: Likewise.
29984         * doc/posix-functions/iswalpha_l.texi: Likewise.
29985         * doc/posix-functions/iswblank_l.texi: Likewise.
29986         * doc/posix-functions/iswcntrl_l.texi: Likewise.
29987         * doc/posix-functions/iswctype_l.texi: Likewise.
29988         * doc/posix-functions/iswdigit_l.texi: Likewise.
29989         * doc/posix-functions/iswgraph_l.texi: Likewise.
29990         * doc/posix-functions/iswlower_l.texi: Likewise.
29991         * doc/posix-functions/iswprint_l.texi: Likewise.
29992         * doc/posix-functions/iswpunct_l.texi: Likewise.
29993         * doc/posix-functions/iswspace_l.texi: Likewise.
29994         * doc/posix-functions/iswupper_l.texi: Likewise.
29995         * doc/posix-functions/iswxdigit_l.texi: Likewise.
29996         * doc/posix-functions/isxdigit_l.texi: Likewise.
29997         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
29998         * doc/posix-functions/strcasecmp_l.texi: Likewise.
29999         * doc/posix-functions/strcoll_l.texi: Likewise.
30000         * doc/posix-functions/strfmon_l.texi: Likewise.
30001         * doc/posix-functions/strftime_l.texi: Likewise.
30002         * doc/posix-functions/strncasecmp_l.texi: Likewise.
30003         * doc/posix-functions/strxfrm_l.texi: Likewise.
30004         * doc/posix-functions/tolower_l.texi: Likewise.
30005         * doc/posix-functions/toupper_l.texi: Likewise.
30006         * doc/posix-functions/towctrans_l.texi: Likewise.
30007         * doc/posix-functions/towlower_l.texi: Likewise.
30008         * doc/posix-functions/towupper_l.texi: Likewise.
30009         * doc/posix-functions/wcscoll_l.texi: Likewise.
30010         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30011         * doc/posix-functions/wctrans_l.texi: Likewise.
30012         * doc/posix-functions/wctype_l.texi: Likewise.
30013         * doc/glibc-functions/strptime_l.texi: Likewise.
30014         * doc/glibc-functions/strtod_l.texi: Likewise.
30015         * doc/glibc-functions/strtof_l.texi: Likewise.
30016         * doc/glibc-functions/strtol_l.texi: Likewise.
30017         * doc/glibc-functions/strtold_l.texi: Likewise.
30018         * doc/glibc-functions/strtoll_l.texi: Likewise.
30019         * doc/glibc-functions/strtoul_l.texi: Likewise.
30020         * doc/glibc-functions/strtoull_l.texi: Likewise.
30021         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30022         * doc/glibc-functions/wcstod_l.texi: Likewise.
30023         * doc/glibc-functions/wcstof_l.texi: Likewise.
30024         * doc/glibc-functions/wcstol_l.texi: Likewise.
30025         * doc/glibc-functions/wcstold_l.texi: Likewise.
30026         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30027         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30028         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30029
30030 2009-11-24  Bruno Haible  <bruno@clisp.org>
30031
30032         duplocale: Fix logic bug.
30033         * lib/duplocale.c: Don't include <langinfo.h>.
30034         (_NL_LOCALE_NAME): Remove macro.
30035         (rpl_duplocale): Use setlocale instead of nl_langinfo.
30036         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
30037
30038 2009-11-23  Jim Meyering  <meyering@redhat.com>
30039
30040         test-update-copyright: don't hard-code /usr/bin/perl
30041         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
30042         perl to print the current year.  Gilles Espinasse reported that
30043         the replaced use of perl was hard-coded as /usr/bin/perl.
30044
30045 2009-11-23  Bruno Haible  <bruno@clisp.org>
30046
30047         duplocale: Add support for glibc 2.3.x.
30048         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
30049
30050 2009-11-22  Bruno Haible  <bruno@clisp.org>
30051
30052         vasnprintf: Tiny optimization.
30053         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
30054         MacOS X.
30055
30056 2009-11-22  Bruno Haible  <bruno@clisp.org>
30057
30058         Tests for module 'duplocale'.
30059         * modules/duplocale-tests: New file.
30060         * tests/test-duplocale.c: New file.
30061
30062         New module 'duplocale'.
30063         * m4/duplocale.m4: New file.
30064         * lib/locale.in.h (duplocale): New declaration.
30065         * lib/duplocale.c: New file.
30066         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
30067         gl_LOCALE_H_DEFAULTS): New macros.
30068         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
30069         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
30070         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
30071         REPLACE_DUPLOCALE.
30072         * modules/duplocale: New file.
30073         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
30074
30075 2009-11-22  Bruno Haible  <bruno@clisp.org>
30076
30077         * modules/locale-tests (configure.ac): Test for newlocale function.
30078         * tests/test-locale.c: When the system has extended locale functions,
30079         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
30080
30081         locale: Make locale_t available when possible.
30082         * lib/locale.in.h: Include <xlocale.h> when it exists.
30083         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
30084         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
30085         * modules/locale (Depends-on): Add extensions.
30086         (Makefile.am): Also substitute HAVE_XLOCALE_H.
30087         * doc/posix-headers/locale.texi: Document the problem with locale_t.
30088
30089 2009-11-22  Bruno Haible  <bruno@clisp.org>
30090
30091         Add comments.
30092         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
30093         invocation.
30094         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
30095         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30096         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30097
30098 2009-11-22  Bruno Haible  <bruno@clisp.org>
30099
30100         error: account for the possibility of freopen (stdout).
30101         * lib/error.c: Include <unistd.h>.
30102         (flush_stdout): New function, extracted from error and error_at_line.
30103         Determine stdout's fd dynamically.
30104         (error, error_at_line): Invoke flush_stdout.
30105         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
30106         * modules/error (Depends-on): Add unistd.
30107
30108 2009-11-22  Bruno Haible  <bruno@clisp.org>
30109
30110         diffseq: Add comment.
30111         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
30112
30113 2009-11-22  Jim Meyering  <meyering@redhat.com>
30114
30115         c-stack: avoid defining an unused static function
30116         * lib/c-stack.c (find_stack_direction): Do not define this function
30117         when it will not be used.
30118
30119         diffseq: avoid spurious gcc warnings
30120         * lib/diffseq.h (IF_LINT2): Define.
30121         (compareseq): Use it to initialize two members of "part".
30122         This avoids two used-uninitialized warnings.
30123
30124 2009-11-21  Jim Meyering  <meyering@redhat.com>
30125
30126         c-stack: avoid "ignoring return value of `write'" warning
30127         * lib/c-stack.c: Include "ignore-value.h".
30128         (die): Explicitly ignore each write return value.
30129         * modules/c-stack (Depends-on): Add ignore-value.
30130
30131 2009-11-21  Bruno Haible  <bruno@clisp.org>
30132
30133         diffseq: reduce scope of variable 'best'.
30134         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
30135         variable, earlier used for two different purposes.
30136
30137 2009-11-21  Jim Meyering  <meyering@redhat.com>
30138
30139         diffseq: remove useless assignment to "best"
30140         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
30141         assignment.  At that point "best" is already guaranteed to be zero.
30142
30143 2009-11-20  Eric Blake  <ebb9@byu.net>
30144
30145         build: mention ftp redirector in release announcements
30146         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
30147         values that used to come from cfg.mk; mention FTP redirect URL.
30148         * build-aux/announce-gen: Mention the mirror list.
30149         Suggested by Karl Berry.
30150
30151         nanosleep: improve port to mingw
30152         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
30153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
30154         LIB_NANOSLEEP, but only when needed.
30155         * modules/select (Link): Document LIBSOCKET.
30156         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
30157         enough.
30158
30159         nanosleep: work around cygwin bug
30160         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
30161         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
30162         bug.
30163         (getnow): Delete, not needed.
30164         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
30165         LIB_CLOCK_GETTIME.
30166         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
30167         clock-time, gettime.
30168         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
30169         bug.
30170         * modules/nanosleep-tests: New test.
30171         * tests/test-nanosleep.c: New file.
30172
30173         sleep: work around cygwin bug
30174         * lib/sleep.c (rpl_sleep): Work around the bug.
30175         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
30176         (gl_PREREQ_SLEEP): Delete unused macro.
30177         * modules/sleep (Depends-on): Add verify.
30178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
30179         * modules/unistd (Makefile.am): Substitute witness.
30180         * lib/unistd.in.h (sleep): Update prototype.
30181         * doc/posix-functions/sleep.texi (sleep): Document the bug.
30182         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
30183         * modules/sleep-tests (Depends-on): Check for alarm.
30184
30185 2009-11-20  Jim Meyering  <meyering@redhat.com>
30186
30187         maint.mk: improve sc_prohibit_magic_number_exit
30188         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
30189         so it does not match uses like System.exit(1).
30190         Add comments showing how to correct all offenders.
30191
30192 2009-11-19  Eric Blake  <ebb9@byu.net>
30193
30194         xalloc-die-tests: add missing library
30195         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
30196
30197         test-xvasprintf: silence compiler warnings
30198         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
30199         empty string from gcc.
30200
30201 2009-11-19  Jim Meyering  <meyering@redhat.com>
30202
30203         xfreopen: new module, from coreutils
30204         * modules/xfreopen: New module.
30205         * lib/xfreopen.c: New file.
30206         * lib/xfreopen.h: New file.
30207         * MODULES.html.sh (File stream based Input/Output"): Add it.
30208
30209 2009-11-19  Eric Blake  <ebb9@byu.net>
30210
30211         manywarnings: depend on warnings
30212         * modules/manywarnings (Depends-on): Add warnings.
30213
30214         build: avoid compiler warnings
30215         * lib/select.c (rpl_select): Delete unused variable.
30216         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
30217
30218 2009-11-18  Eric Blake  <ebb9@byu.net>
30219
30220         tests: avoid false negative with --with-packager
30221         * tests/test-version-etc.sh: Discard packager information.
30222         * tests/test-argp-version-etc-1.sh: Likewise.
30223         Reported by Mike Frysinger.
30224
30225         utimens: fix regression on Solaris
30226         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
30227         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
30228         can only change fd timestamps via futimesat.  Instead, use an
30229         additional witness macro to avoid BSD bug.
30230         Reported by Jim Meyering.
30231
30232 2009-11-17  Eric Blake  <ebb9@byu.net>
30233
30234         usleep: use it to simplify tests
30235         * modules/stat-time-tests (Depends-on): Add usleep.
30236         (configure.ac): Drop usleep check.
30237         * modules/chown-tests (Depends-on, configure.ac): Likewise.
30238         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
30239         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
30240         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
30241         * modules/openat-tests (Depends-on, configure.ac): Likewise.
30242         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
30243         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
30244         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
30245         Likewise.
30246         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
30247         * tests/test-lchown.h (nap): Likewise.
30248         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
30249         * tests/test-stat-time.c (nap): Likewise.
30250         * tests/test-utimens-common.h (nap): Update comments.
30251
30252         usleep: new module
30253         * modules/usleep: New file.
30254         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
30255         * lib/usleep.c (usleep): Likewise.
30256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
30257         * modules/unistd (Makefile.am): Substitute witnesses.
30258         * lib/unistd.in.h (usleep): Add declaration.
30259         * doc/pastposix-functions/usleep.texi (usleep): Document this.
30260         * MODULES.html.sh (Date and time): Likewise.
30261         * modules/usleep-tests (Depends-on): New test.
30262         * tests/test-usleep.c: New file.
30263
30264         chown: work around OpenBSD bug
30265         * lib/chown.c (rpl_chown): Work around the bug.
30266         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
30267         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
30268         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
30269         * modules/chown (Depends-on): Add stdbool.
30270         * modules/lchown (Depends-on): Likewise.
30271         * doc/posix-functions/chown.texi (chown): Document the bug.
30272         * doc/posix-functions/lchown.texi (lchown): Likewise.
30273         * tests/test-lchown.h (test_chown): Relax test.
30274
30275         mkstemp: avoid conflict with C++ keyword template
30276         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
30277         * lib/mkostemp.c (mkostemp): Likewise.
30278         * lib/mkostemps.c (mkostemps): Likewise.
30279         * lib/mkstemp.c (mkstemp): Likewise.
30280         * lib/mkstemps.c (mkstemps): Likewise.
30281
30282         xalloc-die-tests: optimize
30283         * tests/test-xalloc-die.sh: Reduce number of processes.
30284
30285 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30286
30287         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
30288         patch from ludo@gnu.org (Ludovic Courtès).
30289
30290 2009-11-17  Jim Meyering  <meyering@redhat.com>
30291
30292         version-etc: use proper license string
30293         * modules/version-etc (License): Use LGPL, not LGPLv3+.
30294         * modules/version-etc-fsf: Likewise.
30295
30296 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30297
30298         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
30299         printed to stdout.  Deal with EOL differences.
30300
30301 2009-11-17  Eric Blake  <ebb9@byu.net>
30302
30303         unsetenv: work around Solaris bug
30304         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
30305         * lib/unsetenv.c (rpl_unsetenv): Work around it.
30306         Reported by Jim Meyering.
30307
30308         vasnprintf: avoid compiler warnings
30309         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
30310         variables.
30311         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
30312
30313 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30314
30315         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
30316         settings since xalloc-die is no longer the self test,
30317         xalloc-die.sh is.
30318
30319 2009-11-17  Jim Meyering  <meyering@redhat.com>
30320
30321         test-xalloc-die.sh: make the code agree with the commit log
30322         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
30323         at the end, just in case you happen to have a test-xalloc-die
30324         program in some other PATH directory.
30325
30326         test-xalloc-die.sh: fix a portability bug
30327         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
30328         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
30329         Otherwise, argv[0] (as often seen in diagnostics) would be too
30330         system-dependent, sometimes with, and sometimes without the leading "./".
30331
30332         version-etc-fsf: relax license to LGPLv3+
30333         * modules/version-etc-fsf (License): Relax license.
30334
30335 2009-11-16  Eric Blake  <ebb9@byu.net>
30336
30337         xalloc-die-tests: avoid printing null pointer
30338         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
30339         shell script.
30340         * tests/test-xalloc-die.c (program_name): Declare.
30341         * tests/test-xalloc-die.sh (tmpfiles): New file.
30342
30343         setenv, unsetenv: work around various bugs
30344         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
30345         (setenv) [HAVE_SETENV]: Work around bugs.
30346         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
30347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
30348         for bugs.
30349         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
30350         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
30351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
30352         * modules/stdlib (Makefile.am): Update substitutions.
30353         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
30354         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
30355         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
30356         * modules/setenv-tests: New test.
30357         * modules/unsetenv-tests: Likewise.
30358         * tests/test-setenv.c: New file.
30359         * tests/test-unsetenv.c: Likewise.
30360
30361 2009-11-16  Jim Meyering  <meyering@redhat.com>
30362
30363         version-etc: relax license to LGPLv3+
30364         * modules/version-etc (License): Relax license.
30365
30366         better AC_REQUIRE expanded-before-required-warning avoidance
30367         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
30368         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
30369         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
30370         which is no longer needed.
30371
30372 2009-11-16  Eric Blake  <ebb9@byu.net>
30373
30374         test-freading: clean up temporary file
30375         * tests/test-freading.c (main): Remove file on success, and use
30376         ASSERT more liberally.
30377         Reported by Jim Meyering.
30378
30379 2009-11-16  Jim Meyering  <meyering@redhat.com>
30380
30381         avoid new AC_REQUIRE expanded-before-required warnings
30382         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
30383         merely using it.
30384         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
30385         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
30386
30387 2009-11-15  Simon Josefsson  <simon@josefsson.org>
30388
30389         * tests/test-xalloc-die.c: New file.
30390         * modules/xalloc-die-tests: New file.
30391         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
30392         XFAIL_TESTS so it can be appended by modules.
30393
30394 2009-11-15  Simon Josefsson  <simon@josefsson.org>
30395
30396         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
30397         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
30398
30399 2009-11-14  Eric Blake  <ebb9@byu.net>
30400
30401         fnmatch: avoid compiler warning
30402         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
30403         to silence compiler warning about mismatch signedness in ?:.
30404         Reported by Robert Millan.
30405
30406         intprops: add double-inclusion guard
30407         * lib/intprops.h: Allow idempotent includes.
30408         Suggested by Bruce Korb.
30409
30410         openat: detect Solaris fchownat bug
30411         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
30412         penalizing glibc chownat when only lchownat is broken.
30413         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
30414         trailing slash bugs.
30415         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
30416         * modules/openat-tests (Files): Include more files.
30417         (Depends-on): Add mgetgroups, sleep, stat-time.
30418         (configure.ac): Add additional checks.
30419         (Makefile.am): Build new test.
30420         * tests/test-fchownat.c: New file.
30421
30422         lchown: detect Solaris and FreeBSD bug
30423         * lib/lchown.c (rpl_lchown): Work around bug.
30424         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
30425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30426         * modules/unistd (Makefile.am): Populate it.
30427         * lib/unistd.in.h (lchown): Update declaration.
30428         * doc/posix-functions/lchown.texi (lchown): Document the bug.
30429         * modules/lchown-tests: New file.
30430         * tests/test-lchown.h (test_lchown): Likewise.
30431         * tests/test-lchown.c (main): Likewise.
30432
30433         chown: detect Solaris and FreeBSD bug
30434         * lib/chown.c (rpl_chown): Work around bug.
30435         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
30436         (gl_PREREQ_CHOWN): Delete.
30437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30438         * modules/unistd (Makefile.am): Populate it.
30439         * lib/unistd.in.h (chown): Update declaration.
30440         * lib/lchown.c (chown): Update client.
30441         * modules/lchown (Depends-on): Add lstat.
30442         * doc/posix-functions/chown.texi (chown): Document the bug.
30443         * doc/posix-functions/getgroups.texi (getgroups): Document
30444         getgroups pitfall.
30445         * modules/chown-tests: New file.
30446         * tests/test-chown.h (test_chown): Likewise.
30447         * tests/test-chown.c (main): Likewise.
30448
30449 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
30450
30451         gnulib-tool: correctly detect absence of m4 directories
30452         * gnulib-tool: Avoid extra newline on data passed to wc -l.
30453
30454 2009-11-14  Jim Meyering  <meyering@redhat.com>
30455
30456         maint.mk: Prohibit inclusion of "xalloc.h" without use.
30457         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
30458
30459 2009-11-14  John W. Eaton  <jwe@gnu.org>
30460
30461         strftime.h: wrap funtion declaration in extern "C" block
30462         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
30463
30464 2009-11-13  Eric Blake  <ebb9@byu.net>
30465
30466         getgroups: avoid compiler warning
30467         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
30468
30469         getgroups: work around FreeBSD bug
30470         * lib/getgroups.c (rpl_getgroups): Work around the bug.
30471         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
30472         * doc/posix-functions/getgroups.texi (getgroups): Document it.
30473         * tests/test-getgroups.c (main): Fix buffer overrun.
30474
30475         getgroups: avoid compilation failure
30476         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
30477         * modules/getgroups (Depends-on): Add stdint.
30478
30479 2009-11-13  Jim Meyering  <meyering@redhat.com>
30480
30481         test-getgroups: avoid compilation failure
30482         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
30483
30484 2009-11-13  Eric Blake  <ebb9@byu.net>
30485
30486         mgetgroups: new module, taken from coreutils
30487         * modules/mgetgroups: New file.
30488         * lib/mgetgroups.h: Likewise.
30489         * lib/mgetgroups.c (mgetgroups): Likewise.
30490         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
30491         * MODULES.html.sh (Users and groups): Mention it.
30492
30493         getgroups: don't expose GETGROUPS_T to user
30494         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
30495         an element at a time if GETGROUPS_T is wrong size.
30496         * lib/getugroups.h (getugroups): Change signature.
30497         * lib/unistd.in.h (getgroups): Likewise.
30498         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
30499         signature needs fixing.
30500         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
30501         AC_TYPE_GETGROUPS.
30502         * modules/group-member (Depends-on): Add getgroups.
30503         * lib/group-member.c (group_info, get_group_info): Use gid_t.
30504         (group_member): Rely on getgroups replacement.
30505         * lib/getugroups.c (getugroups): Use gid_t.
30506         * tests/test-getgroups.c (main): Likewise.
30507         * NEWS: Mention the signature change.
30508         * doc/posix-functions/getgroups.texi (getgroups): Mention the
30509         problem with signature.
30510         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
30511         GETGROUPS_T is still useful for setgroups.
30512
30513         getgroups, getugroups: provide stubs for mingw
30514         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
30515         * lib/getugroups.c (getugroups): Likewise.
30516         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
30517         function.  Modernize replacement scheme.
30518         (gl_PREREQ_GETGROUPS): Delete.
30519         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
30520         * modules/getgroups (configure.ac): Declare witness.
30521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
30522         * modules/unistd (Depends-on): Substitute witness.
30523         * lib/unistd.in.h (getgroups): Declare replacement.
30524
30525         getgroups: avoid calling exit
30526         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
30527         drop xalloc.
30528         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
30529         dependencies.
30530         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
30531         exiting, in the rare case of malloc failure.
30532
30533         getgroups: fix logic error
30534         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
30535         has more than 20 groups.
30536         * modules/getgroups-tests: New test.
30537         * tests/test-getgroups.c: New file.
30538
30539 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30540
30541         * tests/test-base64.c: Improve.
30542
30543 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30544
30545         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
30546         Blake <ebb9@byu.net>.
30547
30548 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30549
30550         * tests/test-xvasprintf.c: Add %s%s related checks.
30551
30552 2009-11-12  Eric Blake  <ebb9@byu.net>
30553
30554         version-etc: match standards.texi style
30555         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
30556         and use <> only for URLs.
30557
30558 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
30559
30560         fts: do not fail on a submount during traversal
30561         * lib/fts.c (fts_build): Read the stat info again after opening
30562         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
30563         Original report at http://bugzilla.redhat.com/501848.
30564
30565 2009-11-12  Jim Meyering  <meyering@redhat.com>
30566
30567         bootstrap: sync from coreutils
30568         * build-aux/bootstrap (bootstrap_epilogue): New function.
30569         Use git_modules_config in one more place.  This make bootstrap's
30570         --gnulib-srcdir option more useful for testing.
30571
30572         bootstrap: generalize autoheader check
30573         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
30574         AC_CONFIG_HEADERS.
30575
30576 2009-11-11  Eric Blake  <ebb9@byu.net>
30577
30578         mkfifoat: use new modules for Solaris and BSD bugs
30579         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
30580         * lib/mkfifoat.c (mknodat): Split...
30581         * lib/mknodat.c (mknodat): ...into new file.
30582         * modules/mkfifoat (Files): Ship new file.
30583         (Depends-on): Add mkfifo, mknod.
30584         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
30585         (Depends-on): Add symlink.
30586         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
30587         redundant with test_mkfifo.h.
30588         (do_mkfifoat, do_mknodat): New helpers.
30589
30590         mknod: new module
30591         * modules/mknod: New file.
30592         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
30593         * lib/mknod.c (mknod): Likewise.
30594         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
30595         defaults.
30596         * modules/sys_stat (Makefile.am): Substitute them.
30597         * lib/sys_stat.in.h (mknod): Declare replacement.
30598         * MODULES.html.sh (Support for systems lacking POSIX:2008):
30599         Document it.
30600         * doc/posix-functions/mknod.texi (mknod): Likewise.
30601         * modules/mknod-tests: New test.
30602         * tests/test-mknod.c: Likewise.
30603
30604         mkfifo: new module
30605         * modules/mkfifo: New file.
30606         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
30607         * lib/mkfifo.c (mkfifo): Likewise.
30608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
30609         defaults.
30610         * modules/sys_stat (Makefile.am): Substitute them.
30611         * lib/sys_stat.in.h (mkfifo): Declare replacement.
30612         * MODULES.html.sh (Support for systems lacking POSIX:2008):
30613         Document it.
30614         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
30615         * modules/mkfifo-tests: New test.
30616         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
30617         from test-mkfifoat.c.
30618         * tests/test-mkfifo.c: New file.
30619
30620         readlink: detect FreeBSD bug
30621         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
30622         slash on symlink.
30623         * doc/posix-functions/readlink.texi (readlink): Document the bug.
30624         * tests/test-readlink.h (test_readlink): Enhance test.
30625
30626         symlink: detect FreeBSD bug
30627         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
30628         slash on symlink.
30629         * doc/posix-functions/symlink.texi (symlink): Document the bug.
30630         * tests/test-symlink.h (test_symlink): Enhance test.
30631
30632 2009-11-10  Eric Blake  <ebb9@byu.net>
30633
30634         link: detect FreeBSD bug
30635         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
30636         symlink.
30637         * doc/posix-functions/link.texi (link): Document the bug.
30638         * tests/test-link.h (test_link): Enhance test.
30639         * tests/test-linkat.c (main): Update caller.
30640
30641         unlink, remove: detect FreeBSD bug
30642         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
30643         slash on symlink.
30644         * doc/posix-functions/unlink.texi (unlink): Document the bug.
30645         * doc/posix-functions/remove.texi (remove): Likewise.
30646         * tests/test-unlink.h (test_unlink): Enhance test.
30647         * tests/test-remove.c (main): Likewise.
30648
30649 2009-11-09  Eric Blake  <ebb9@byu.net>
30650
30651         rename: detect FreeBSD bug
30652         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
30653         slash on symlink.
30654         * modules/renameat-tests (Depends-on): Add filenamecat.
30655         * tests/test-rename.h (test_rename): Allow one more errno.
30656         * tests/test-renameat.c (main): Likewise.
30657         * doc/posix-functions/rename.texi (rename): Document the bug.
30658
30659         open: detect FreeBSD bug
30660         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
30661         symlink.
30662         * doc/posix-functions/open.texi (open): Document the bug.
30663         * doc/posix-functions/utimes.texi (utimes): Likewise.
30664         * tests/test-open.h (test_open): Add parameters, and test symlink
30665         handling.
30666         * tests/test-open.c (main): Adjust caller.
30667         * tests/test-fcntl-safer.c (main): Likewise.
30668         * modules/open-tests (Depends-on): Add stdbool, symlink.
30669         * modules/fcntl-safer-tests (Depends-on): Likewise.
30670         * tests/test-openat.c (main): Add test-open tests.
30671
30672         stat: detect FreeBSD bug
30673         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
30674         symlink.
30675         * doc/posix-functions/stat.texi (stat): Document the bug.
30676         * tests/test-stat.h (test_stat_func): Add argument.
30677         * tests/test-stat.c (main): Adjust caller.
30678         * tests/test-fstatat.c (main): Likewise.
30679         * modules/stat-tests (Depends-on): Add stdbool, symlink.
30680         Reported by Jim Meyering.
30681
30682 2009-11-09  James Youngman  <jay@gnu.org>
30683
30684         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
30685         * lib/strftime.c: Correct placement of #include "ignore-value.h".
30686
30687 2009-11-08  Jim Meyering  <meyering@redhat.com>
30688
30689         utimens: remove invalid futimesat call
30690         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
30691         It used the file descriptor of the target file as the DIR_FD
30692         parameter and NULL as the file name.  That caused failure with
30693         errno == EFAULT on FreeBSD-8.0-rc2
30694
30695 2009-11-07  Eric Blake  <ebb9@byu.net>
30696
30697         fflush, freadseek: use fseeko, not fseek
30698         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
30699         (clear_ungetc_buffer): Avoid potential problems on large files.
30700         * lib/freadseek.c (freadseek): Likewise.
30701         * modules/freadseek (Depends-on): Add fseeko.
30702         * modules/fseek (configure.ac): Set a witness.
30703         * tests/test-fflush.c (main): Use fseeko.
30704         * tests/test-fpurge.c (fseek): Disable link warning.
30705         * tests/test-freadable.c (fseek): Likewise.
30706         * tests/test-freading.c (fseek): Likewise.
30707         * tests/test-fseeko.c (fseek): Likewise.
30708         * tests/test-ftell.c (fseek): Likewise.
30709         * tests/test-ftello.c (fseek): Likewise.
30710         * tests/test-fwritable.c (fseek): Likewise.
30711         * tests/test-fwriting.c (fseek): Likewise.
30712
30713 2009-11-06  Simon Josefsson  <simon@josefsson.org>
30714
30715         * modules/memchr (Depends-on): Drop getpagesize dependency.
30716
30717 2009-11-06  Simon Josefsson  <simon@josefsson.org>
30718
30719         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
30720         Reported by Ludovic Courtès.
30721         * build-aux/pmccabe2html: Improve example usage.
30722         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
30723
30724 2009-11-06  Jim Meyering  <meyering@redhat.com>
30725
30726         do-release-commit-and-tag: New module.
30727         Automate the release-commit and tag process.
30728         * build-aux/do-release-commit-and-tag: New script, from coreutils.
30729         * modules/do-release-commit-and-tag: New file.
30730         * MODULES.html.sh (Support for maintaining and releasing): Add it.
30731
30732 2009-11-06  Simon Josefsson  <simon@josefsson.org>
30733
30734         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
30735         because test-select.c uses inet_pton.
30736
30737 2009-11-06  Simon Josefsson  <simon@josefsson.org>
30738
30739         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
30740         GETADDRINFO_LIB.  Bump serial number.
30741         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
30742         Suggested by Eric Blake <ebb9@byu.net>.
30743
30744 2009-11-05  Eric Blake  <ebb9@byu.net>
30745
30746         strtod: detect darwin bug
30747         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
30748         Reported by Leo Davis.
30749
30750         freopen-safer: new module
30751         * modules/freopen-safer: New module.
30752         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
30753         * lib/freopen-safer.c (freopen_safer): New file.
30754         * lib/stdio-safer.h (freopen_safer): New declaration.
30755         * lib/stdio--.h (freopen): New override.
30756         * MODULES.html.sh (File stream based Input/Output): Mention it.
30757         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
30758         freopen-safer module.
30759         * doc/posix-functions/stderr.texi (stderr): Likewise.
30760         * doc/posix-functions/stdin.texi (stdin): Likewise.
30761         * doc/posix-functions/stdout.texi (stdout): Likewise.
30762         * modules/freopen-safer-tests: New test.
30763         * tests/test-reopen-safer.c: New file.
30764
30765 2009-11-05  Jim Meyering  <meyering@redhat.com>
30766
30767         maint.mk: Prohibit inclusion of "close-stream.h" without use.
30768         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
30769
30770 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30771
30772         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
30773
30774 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30775
30776         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
30777
30778 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30779
30780         Fix link error.
30781         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
30782         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30783
30784 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30785
30786         * tests/test-func.c: Also test value of __func__.
30787
30788 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30789
30790         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
30791         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
30792
30793 2009-11-05  Bruno Haible  <bruno@clisp.org>
30794
30795         Fix link error.
30796         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
30797         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30798         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
30799
30800 2009-11-05  Bruno Haible  <bruno@clisp.org>
30801
30802         Tests for module 'inet_pton'.
30803         * modules/inet_pton-tests: New file.
30804         * tests/test-inet_pton.c: New file.
30805
30806 2009-11-05  Bruno Haible  <bruno@clisp.org>
30807
30808         Tests for module 'inet_ntop'.
30809         * modules/inet_ntop-tests: New file.
30810         * tests/test-inet_ntop.c: New file.
30811
30812 2009-11-04  Eric Blake  <ebb9@byu.net>
30813
30814         stdlib-safer: wrap all mkstemp variants
30815         * modules/mkostemp (configure.ac): Set witness.
30816         * modules/mkostemps (configure.ac): Likewise.
30817         * modules/mkstemps (configure.ac): Likewise.
30818         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
30819         (mkstemps_safer): Wrap more functions.
30820         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
30821         wrapping.
30822         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
30823         (mkstemps_safer): Implement the wrappers.
30824
30825         mkstemps, mkostemps: new modules
30826         * modules/mkostemps: New module.
30827         * modules/mkstemps: Likewise.
30828         * lib/mkostemps.c (mkostemps): New file.
30829         * lib/mkstemps.c (mkstemps): Likewise.
30830         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
30831         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
30832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
30833         * modules/stdlib (Makefile.am): Substitute them.
30834         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
30835         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
30836         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
30837         * doc/gnulib.texi (Glibc stdlib.h): Include them.
30838         * MODULES.html.sh (File system functions): Mention them.
30839
30840         tempname: resync from glibc
30841         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
30842         same values for __GT_FILE as glibc.  Abort even when assertions
30843         are disabled.
30844         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
30845         match its value otherwise.  Allow idempotent inclusion.
30846         * lib/mkdtemp.c (mkdtemp): Adjust caller.
30847         * lib/mkostemp.c (mkostemp): Likewise.
30848         * lib/mkstemp.c (mkstemp): Likewise.
30849         * lib/tmpfile.c (tmpfile): Likewise.
30850         * NEWS: Document this.
30851
30852         utimens: fix use of futimens on older Linux
30853         * lib/utimens.c (fdutimens): Use updated, rather than original,
30854         timespec to avoid bug in older Linux kernel.
30855         Reported by Simon Josefsson.
30856
30857 2009-11-04  Bruno Haible  <bruno@clisp.org>
30858
30859         Make num_processors more flexible and consistent.
30860         * lib/nproc.h (enum nproc_query): New type.
30861         (num_processors): Add a 'query' argument.
30862         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
30863         (num_processors): Add a 'query' argument. Test the value of the
30864         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
30865         mingw, count the number of CPUs available for the current process.
30866         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
30867         Check for sched_getaffinity and sched_getaffinity_np.
30868         * modules/nproc (Depends-on): Add c-ctype, extensions.
30869         * NEWS: Mention the change.
30870
30871 2009-11-03  Bruno Haible  <bruno@clisp.org>
30872
30873         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
30874
30875 2009-11-03  Jim Meyering  <meyering@redhat.com>
30876
30877         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
30878         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
30879         if it is defined.
30880
30881 2009-11-02  Eric Blake  <ebb9@byu.net>
30882
30883         mktime, timegm: share common declaration
30884         * lib/mktime-internal.h: New file.
30885         * lib/mktime.c: Use it rather than open-coding a declaration.
30886         * lib/timegm.c: Likewise.
30887         * modules/mktime (Files): Ship it.
30888         * modules/timegm (Files): Likewise.
30889         Suggested by Bruno Haible.
30890
30891         test-update-copyright: update test to match script changes
30892         * tests/test-update-copyright.sh: Avoid hard-coding perl
30893         location.  Don't update *.bak created by earlier runs.
30894
30895 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
30896             Simon Josefsson  <simon@josefsson.org>
30897             Bruno Haible  <bruno@clisp.org>
30898
30899         Fix link error on Solaris 8.
30900         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
30901         also in libnsl. Define also INET_PTON_LIB.
30902         * modules/inet_pton (Link): New section.
30903
30904 2009-11-02  Simon Josefsson  <simon@josefsson.org>
30905             Bruno Haible  <bruno@clisp.org>
30906
30907         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
30908         * modules/inet_ntop (Link): New section.
30909         Reported by Boyan Kasarov <bkasarov@gmail.com>.
30910
30911 2009-11-02  Eric Blake  <ebb9@byu.net>
30912
30913         maint: avoid compiler warnings in m4 macros
30914         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
30915         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
30916
30917 2009-11-02  Simon Josefsson  <simon@josefsson.org>
30918
30919         * m4/pmccabe2html.m4: Remove file.
30920         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
30921         function.  Change maintainer.
30922         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
30923         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
30924         Courtès).
30925
30926 2009-10-31  Eric Blake  <ebb9@byu.net>
30927
30928         fseeko: fix m4 regression
30929         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
30930         regression from 2009-10-27.
30931         Reported by Ralf Wildenhues.
30932
30933 2009-10-31  Jim Meyering  <meyering@redhat.com>
30934
30935         inttostr: aesthetics and improved (compile-time) safety
30936         Define inttype_is_signed rather than inttype_is_unsigned,
30937         since the sole use is via "#if inttype_is_signed".
30938         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
30939         inttype_is_unsigned.
30940         * lib/offtostr.c (inttype_is_signed): Likewise.
30941         * lib/uinttostr.c (inttype_is_signed): Likewise.
30942         * lib/umaxtostr.c (inttype_is_signed): Likewise.
30943         * lib/inttostr.c (inttostr): Use verify to cross-check the
30944         inttype_is_signed value and the signedness of the actual type.
30945         * modules/inttostr (Depends-on): Add verify.
30946
30947 2009-10-30  Eric Blake  <ebb9@byu.net>
30948
30949         build: avoid compiler warnings
30950         * lib/fchmodat.c (lchmod): Mark unused variables.
30951         * lib/getopt.c (_getopt_initialize): Likewise.
30952         * lib/mktime.c (__mktime_internal): Provide prototype.
30953         * lib/inttostr.c (inttostr): Avoid compiler warning even with
30954         older gcc that do not understand #pragma GCC diagnostic.
30955         * lib/uinttostr.c (inttype_is_unsigned): Define.
30956         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
30957
30958 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
30959
30960         stat: fix compilation on AIX
30961         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
30962         only see struct stat64.
30963
30964 2009-10-30  Eric Blake  <ebb9@byu.net>
30965
30966         exclude: make more robust
30967         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
30968         rather than masking a coding bug.
30969         Suggested by Bruno Haible.
30970
30971 2009-10-30  Jim Meyering  <meyering@redhat.com>
30972
30973         perl scripts: remove #!/usr/bin/perl in favor of more portable...
30974         Rather than putting #!/usr/bin/perl on the first line,
30975         start with a variant of what's recommended by "man perlrun" that
30976         invokes the first "perl" program from your shell's search path.
30977         * build-aux/gitlog-to-changelog: Replace #!... as above.
30978         Add a "Local Variables" perl mode setting.
30979         Prompted by a patch from Ludovic Courtès.
30980         Improved by Eric Blake.
30981         * build-aux/useless-if-before-free: Likewise.
30982         * build-aux/announce-gen: Likewise.
30983         * build-aux/update-copyright: Likewise.
30984
30985 2009-10-29  Eric Blake  <ebb9@byu.net>
30986
30987         filenamecat-lgpl: adjust clients
30988         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
30989         filenamecat.
30990         * modules/renameat (Depends-on): Likewise.
30991
30992         filenamecat: split into filenamecat-lgpl
30993         * modules/filenamecat-lgpl: New module.
30994         * modules/filenamecat (Files): Move library-safe files into
30995         filenamecat-lgpl.
30996         (Depends-on): Add filenamecat-lgpl.
30997         (configure.ac): Declare witness.
30998         * lib/filenamecat.h (file_name_concat): Only declare when using
30999         GPL module.
31000         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
31001         Move...
31002         * lib/filenamecat-lgpl.c: ...into new file.
31003         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
31004         (gl_FILE_NAME_CONCAT): Use it.
31005         * MODULES.html.sh (File system functions): Mention new module.
31006
31007         argp: avoid memory leak
31008         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
31009         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
31010         base_name, since the latter malloc()s and can call exit().
31011         Leak introduced 2006-07-03.
31012
31013         dirname-lgpl: adjust clients that don't need full dirname
31014         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
31015         * modules/filenamecat (Depends-on): Likewise.
31016         * modules/linkat (Depends-on): Likewise.
31017         * modules/mkancesdirs (Depends-on): Likewise.
31018         * modules/mkdir (Depends-on): Likewise.
31019         * modules/openat (Depends-on): Likewise.
31020         * modules/savewd (Depends-on): Likewise.
31021         * modules/rename (Depends-on): Likewise.
31022         (License): Relax license.
31023         * modules/mkdir-tests (Depends-on): Drop progname.
31024         (Makefile.am): Delete unneeded LDADD.
31025         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
31026
31027         dirname: split into dirname-lgpl
31028         * modules/dirname-lgpl: New module.
31029         * modules/dirname (Files): Move library-safe files into
31030         dirname-lgpl.
31031         (Depends-on): Add dirname-lgpl.
31032         (configure.ac): Declare witness.
31033         * modules/double-slash-root (License): Relax license.
31034         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
31035         module.
31036         * lib/dirname.c (dir_len, mdir_name): Move...
31037         * lib/dirname-lgpl.c: ...into new file.
31038         * lib/basename.c (last_component, base_len): Move...
31039         * lib/basename-lgpl.c: ...into new file.
31040         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
31041         (gl_DIRNAME): Use it.
31042         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
31043         Mention new module.
31044         * modules/dirname-tests (Depends-on): Add progname.
31045         * tests/test-dirname.c (program_name): Delete.
31046
31047         mkdir: make safe for libraries
31048         * modules/mkdir (Depends-on): Drop xalloc.
31049         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
31050         exit.
31051
31052         tests: avoid some compiler warnings
31053         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
31054         literals.
31055         * tests/test-memchr.c (main): Avoid type mismatch.
31056         * tests/test-arpa_inet.c (main): Avoid unused parameters.
31057         * tests/test-base64.c (main): Likewise.
31058         * tests/test-getdelim.c (main): Likewise.
31059         * tests/test-gethostname.c (main): Likewise.
31060         * tests/test-getline.c (main): Likewise.
31061         * tests/test-netinet_in.c (main): Likewise.
31062         * tests/test-select.c (open_server_socket, main): Likewise.
31063         * tests/test-select-stdin.c (main): Likewise.
31064         * tests/test-sockets.c (main): Likewise.
31065         * tests/test-strsignal.c (main): Likewise.
31066         * tests/test-sys_select.c (main): Likewise.
31067         * tests/test-sys_socket.c (main): Likewise.
31068         * tests/test-u64.c (main): Likewise.
31069         * tests/test-xfprintf-posix.c (main): Likewise.
31070         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
31071
31072         sockets: avoid compiler warning
31073         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
31074
31075         maint: detect usage(1) and other suspicious exits
31076         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
31077
31078 2009-10-29  Jim Meyering  <meyering@redhat.com>
31079
31080         timespec: long-to-int truncation could make timespec_cmp malfunction
31081         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
31082         a multiple of 2^32 nanoseconds as no difference.
31083
31084 2009-10-28  Jim Meyering  <meyering@redhat.com>
31085
31086         fprintftime: wrap macro code argument in "do {...} while(0)"
31087         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
31088         cpy macro must be a statement that can be followed by a semicolon.
31089         Now that the else clause contains a comment and is hence longer
31090         than one line, I require curly braces.  That in turn requires
31091         that we wrap this code block in the standard do...while(0).
31092
31093         fprintftime: remove stray semicolon from previous change
31094         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
31095
31096         fprintftime: avoid a warning about ignored fwrite return value
31097         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
31098         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
31099         that is unsafe.
31100         * modules/fprintftime (Depends-on): Add ignore-value.
31101
31102         exclude: avoid an unwarranted warning
31103         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
31104
31105 2009-10-27  Eric Blake  <ebb9@byu.net>
31106
31107         fseek: avoid compilation failure when fflush is replaced
31108         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
31109         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
31110         module is in use.
31111         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
31112         module is not in use; since REPLACE_FSEEK worked otherwise.
31113         (GNULIB_FTELLO): Likewise for ftell.
31114         Reported by Ian Beckwith and others.
31115
31116 2009-10-27  Bruno Haible  <bruno@clisp.org>
31117
31118         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
31119         Reported by Jim Meyering.
31120
31121 2009-10-27  Jim Meyering  <jim@meyering.net>
31122             Bruno Haible  <bruno@clisp.org>
31123
31124         Avoid warning despite dropping the return value of fwrite.
31125         * lib/unicodeio.c: Include ignore-value.h.
31126         (fwrite_success_callback): Explicitly ignore fwrite's return value.
31127         * modules/unicodeio (Depends-on): Add ignore-value.
31128
31129 2009-10-26  Eric Blake  <ebb9@byu.net>
31130
31131         areadlinkat: fix fallback path
31132         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
31133         pointer and zero.
31134
31135 2009-10-22  Pádraig Brady  <P@draigBrady.com>
31136
31137         Use a better IO block size for modern systems
31138         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
31139         * lib/md2.c: Likewise.
31140         * lib/md4.c: Likewise.
31141         * lib/md5.c: Likewise.
31142         * lib/sha1.c: Likewise.
31143         * lib/sha256.c: Likewise.
31144         * lib/sha512.c: Likewise.
31145
31146 2009-10-22  Eric Blake  <ebb9@byu.net>
31147
31148         tests: avoid several compiler warnings
31149         * tests/test-getcwd.c (main): Avoid buffer underflow.
31150         * tests/test-getdate.c (main): String literals are not safe with
31151         putenv, so use setenv.  Declare unused argument.
31152         * modules/getdate-tests (Depends-on): Add setenv.
31153         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
31154         problems with string literals in char *.
31155         * tests/test-hash.c (main): Avoid shadowing declaration.
31156         (insert_new): Treat string literals as char const *.
31157         * tests/test-getopt.h (test_getopt): Likewise.
31158         (getopt_loop): Alter types to minimize casting elsewhere.
31159         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
31160         (test_getopt_long_posix): Likewise.
31161         (do_getopt_long): Add wrapper to minimize casting.
31162         * tests/test-atexit.c (clear_temp_file): Use void.
31163         * tests/test-areadlink-with-size.c (main): Declare unused
31164         arguments.
31165         * tests/test-areadlink.c (main): Likewise.
31166         * tests/test-areadlinkat-with-size.c (main): Likewise.
31167         * tests/test-areadlinkat.c (main): Likewise.
31168         * tests/test-canonicalize-lgpl.c (main): Likewise.
31169         * tests/test-canonicalize.c (main): Likewise.
31170         * tests/test-dirent-safer.c (main): Likewise.
31171         * tests/test-dirname.c (main): Likewise.
31172         * tests/test-dup2.c (main): Likewise.
31173         * tests/test-fchdir.c (main): Likewise.
31174         * tests/test-fcntl-h.c (main): Likewise.
31175         * tests/test-fcntl-safer.c (main): Likewise.
31176         * tests/test-fdopendir.c (main): Likewise.
31177         * tests/test-fdutimensat.c (main): Likewise.
31178         * tests/test-fflush.c (main): Likewise.
31179         * tests/test-filenamecat.c (main): Likewise.
31180         * tests/test-filevercmp.c (main): Likewise.
31181         * tests/test-fopen-safer.c (main): Likewise.
31182         * tests/test-fopen.c (main): Likewise.
31183         * tests/test-fpending.c (main): Likewise.
31184         * tests/test-fpurge.c (main): Likewise.
31185         * tests/test-freading.c (main): Likewise.
31186         * tests/test-fstatat.c (main): Likewise.
31187         * tests/test-fsync.c (main): Likewise.
31188         * tests/test-futimens.c (main): Likewise.
31189         * tests/test-getndelim2.c (main): Likewise.
31190         * tests/test-gettimeofday.c (main): Likewise.
31191         * tests/test-getopt.c (main): Likewise.
31192         * tests/test-i-ring.c (main): Likewise.
31193         * tests/test-inttypes.c (main): Likewise.
31194         * tests/test-link.c (main): Likewise.
31195         * tests/test-lstat.c (main): Likewise.
31196         * tests/test-math.c (main): Likewise.
31197         * tests/test-md5.c (main): Likewise.
31198         * tests/test-memchr2.c (main): Likewise.
31199         * tests/test-memrchr.c (main): Likewise.
31200         * tests/test-mkdir.c (main): Likewise.
31201         * tests/test-mkdirat.c (main): Likewise.
31202         * tests/test-mkfifoat.c (main): Likewise.
31203         * tests/test-open.c (main): Likewise.
31204         * tests/test-openat-safer.c (main): Likewise.
31205         * tests/test-openat.c (main): Likewise.
31206         * tests/test-quotearg.c (main): Likewise.
31207         * tests/test-rawmemchr.c (main): Likewise.
31208         * tests/test-readlink.c (main): Likewise.
31209         * tests/test-remove.c (main): Likewise.
31210         * tests/test-rename.c (main): Likewise.
31211         * tests/test-renameat.c (main): Likewise.
31212         * tests/test-rmdir.c (main): Likewise.
31213         * tests/test-sha1.c (main): Likewise.
31214         * tests/test-signal.c (main): Likewise.
31215         * tests/test-sigaction.c (main): Likewise.
31216         * tests/test-stat.c (main): Likewise.
31217         * tests/test-stat-time.c (main): Likewise.
31218         * tests/test-stddef.c (main): Likewise.
31219         * tests/test-stdint.c (main): Likewise.
31220         * tests/test-stdio.c (main): Likewise.
31221         * tests/test-stdlib.c (main): Likewise.
31222         * tests/test-strchrnul.c (main): Likewise.
31223         * tests/test-strerror.c (main): Likewise.
31224         * tests/test-string.c (main): Likewise.
31225         * tests/test-strtod.c (main): Likewise.
31226         * tests/test-strverscmp.c (main): Likewise.
31227         * tests/test-symlink.c (main): Likewise.
31228         * tests/test-symlinkat.c (main): Likewise.
31229         * tests/test-sys_stat.c (main): Likewise.
31230         * tests/test-sys_time.c (main): Likewise.
31231         * tests/test-time.c (main): Likewise.
31232         * tests/test-unistd.c (main): Likewise.
31233         * tests/test-unlink.c (main): Likewise.
31234         * tests/test-unlinkat.c (main): Likewise.
31235         * tests/test-utimens.c (main): Likewise.
31236         * tests/test-utimensat.c (main): Likewise.
31237         * tests/test-version-etc.c (main): Likewise.
31238         * tests/test-wchar.c (main): Likewise.
31239         * tests/test-wctype.c (main): Likewise.
31240         * tests/test-xprintf-posix.c (main): Likewise.
31241         * tests/test-posixtm.c (main): Likewise.
31242         (STREQ): Delete unused macro.
31243         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
31244         shadowed variables.
31245         * tests/test-memchr.c (main): Likewise.
31246
31247 2009-10-21  Eric Blake  <ebb9@byu.net>
31248
31249         areadlinkat: avoid failure on older glibc
31250         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
31251         rather than mis-comparing 0 against FUNC_RESULT of char*.
31252
31253 2009-10-21  Bruno Haible  <bruno@clisp.org>
31254
31255         * modules/stpncpy (License): Relicense under LGPLv2+.
31256         Reported by David Lutterkort <lutter@redhat.com>.
31257
31258 2009-10-20  Eric Blake  <ebb9@byu.net>
31259
31260         utimensat: work around Solaris 9 bug
31261         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
31262         has trailing slash bugs.
31263         * tests/test-lutimens.h (test_lutimens): Enhance test.
31264         * tests/test-utimens.h (test_utimens): Likewise.
31265         * doc/posix-functions/utime.texi (utime): Enhance documentation.
31266         * doc/posix-functions/utimes.texi (utimes): Likewise.
31267         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31268         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
31269         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
31270         * doc/posix-functions/futimens.texi (futimens): Likewise.
31271
31272         fdutimensat: new module
31273         * modules/fdutimensat: New file.
31274         * lib/fdutimensat.c (fdutimensat): Likewise.
31275         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
31276         * MODULES.html.sh (File system functions): Mention module.
31277         * modules/fdutimensat-tests: New test.
31278         * tests/test-fdutimensat.c: Likewise.
31279
31280         doc: regenerate INSTALL
31281         * doc/INSTALL: Reflect recent autoconf update.
31282         * doc/INSTALL.ISO: Likewise.
31283         * doc/INSTALL.UTF-8: Likewise.
31284
31285 2009-10-20  Pádraig Brady  <P@draigBrady.com>
31286
31287         acl: warn if ACL support is not detected
31288         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
31289
31290 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
31291
31292         * lib/nproc.h: Add extern "C" block for C++.
31293
31294 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
31295             Bruno Haible  <bruno@clisp.org>
31296
31297         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
31298         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
31299         * doc/posix-functions/isalpha.texi: Likewise.
31300         * doc/posix-functions/isblank.texi: Likewise.
31301         * doc/posix-functions/iscntrl.texi: Likewise.
31302         * doc/posix-functions/isdigit.texi: Likewise.
31303         * doc/posix-functions/isgraph.texi: Likewise.
31304         * doc/posix-functions/islower.texi: Likewise.
31305         * doc/posix-functions/isprint.texi: Likewise.
31306         * doc/posix-functions/ispunct.texi: Likewise.
31307         * doc/posix-functions/isspace.texi: Likewise.
31308         * doc/posix-functions/isupper.texi: Likewise.
31309         * doc/posix-functions/isxdigit.texi: Likewise.
31310
31311 2009-10-18  Bruno Haible  <bruno@clisp.org>
31312
31313         Tests for module 'isblank'.
31314         * modules/isblank-tests: New file.
31315         * tests/test-isblank.c: New file.
31316
31317         New module 'isblank'.
31318         * lib/isblank.c: New file.
31319         * m4/isblank.m4: New file.
31320         * modules/isblank: New file.
31321         * doc/posix-functions/isblank.texi: Mention the new module.
31322
31323 2009-10-18  Bruno Haible  <bruno@clisp.org>
31324
31325         New module 'ctype'.
31326         * lib/ctype.in.h: New file.
31327         * m4/ctype.m4: New file.
31328         * modules/ctype: New file.
31329         * doc/posix-headers/ctype.texi: Mention the new module.
31330
31331 2009-10-18  Jim Meyering  <meyering@redhat.com>
31332
31333         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
31334         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
31335         right after its initialization, rather than farther down.
31336         Keeping these in close proximity makes it easier to ensure
31337         that each such variable is initialized.  E.g.,
31338
31339             LIB_CLOCK_GETTIME=
31340             AC_SUBST([LIB_CLOCK_GETTIME])
31341
31342         This change also increments these serial numbers.
31343         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
31344         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
31345         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31346
31347 2009-10-18  Bruno Haible  <bruno@clisp.org>
31348
31349         Don't let environment variables perturb build.
31350         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
31351         (gl_PREREQ_GETHRXTIME): ... not here.
31352
31353 2009-10-18  Bruno Haible  <bruno@clisp.org>
31354
31355         Avoid symlink attack in localcharset module.
31356         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
31357         (O_NOFOLLOW): Define fallback.
31358         (get_charset_aliases): Don't open the file if it is a symbolic link.
31359         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
31360         gl_FCNTL_H.
31361         (gl_FCNTL_H): Require it.
31362         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
31363         * modules/localcharset (Files): Add m4/fcntl_h.m4.
31364         Reported by Fergal Glynn <fglynn@veracode.com>.
31365
31366 2009-10-18  Bruno Haible  <bruno@clisp.org>
31367
31368         Implement nproc for mingw.
31369         * lib/nproc.c: Include <windows.h>
31370         (num_processors): On native Windows platforms, try GetSystemInfo.
31371
31372 2009-10-18  Bruno Haible  <bruno@clisp.org>
31373
31374         Implement nproc for IRIX.
31375         * lib/nproc.c: Include <sys/sysmp.h>.
31376         (num_processors): On IRIX systems, try sysmp.
31377         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
31378
31379 2009-10-18  Bruno Haible  <bruno@clisp.org>
31380
31381         Implement nproc for HP-UX.
31382         * lib/nproc.c: Include <sys/pstat.h>
31383         (num_processors): On HP-UX systems, try pstat_getdynamic.
31384         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
31385         pstat_getdynamic.
31386
31387 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
31388             Bruno Haible  <bruno@clisp.org>
31389
31390         Implement nproc for NetBSD, OpenBSD.
31391         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
31392         (ARRAY_SIZE): New macro.
31393         (num_processors): On BSD systems, try sysctl of HW_NCPU.
31394         * m4/nproc.m4: New file.
31395         * modules/nproc (Files): Add m4/nproc.m4.
31396         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
31397         (Makefile.am): Instead, augment lib_SOURCES.
31398
31399 2009-10-18  Bruno Haible  <bruno@clisp.org>
31400
31401         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
31402         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
31403         sys/param.h.
31404
31405 2009-10-16  Eric Blake  <ebb9@byu.net>
31406
31407         utimensat: new module
31408         * modules/utimensat: New file.
31409         * lib/utimensat.c (utimensat): Likewise.
31410         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31411         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
31412         so we can work around Linux bugs.
31413         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31414         * modules/sys_stat (Makefile.am): Substitute them.
31415         * lib/sys_stat.in.h (utimensat): Declare it.
31416         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31417         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31418         * modules/utimensat-tests: New test.
31419         * tests/test-utimensat.c: Likewise.
31420
31421         utimens: let lutimens work on non-symlinks
31422         * lib/utimens.c (lutimens): Fall back to utimens rather than
31423         failing with ENOSYS, when file is not a symlink.
31424         (utimens): Reduce redirection.
31425         * tests/test-lutimens.h (test_lutimens): Update test to cover
31426         non-symlinks.
31427         * tests/test-utimens.h (test_utimens): Update test to cover
31428         symlinks.
31429         * tests/test-utimens.c (main): Update caller.
31430
31431         utimens: cache whether utimensat syscall works
31432         * lib/utimens.c (utimensat_works_really): New cache variable.
31433         (fdutimens, lutimens): Use it to avoid failing syscall.
31434
31435         test-stat-time, test-utimens: improve portability
31436         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
31437         ext4 on alpha, and for cygwin.
31438         * tests/test-utimens-common.h: New file.
31439         (nap): Factor delays into single function.
31440         * tests/test-lutimens.h (test_lutimens): Use new header.
31441         * tests/test-futimens.h (test_futimens): Likewise.
31442         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
31443         timestamps to occur from same machine, as was done previously for
31444         test_utimens.
31445         * modules/utimens-tests (Files): Ship new file.
31446         * modules/futimens-tests (Files): Likewise.
31447         Reported in part by Jim Meyering.
31448
31449         sys_stat: sort replacement declarations
31450         * lib/sys_stat.in.h: Sort declarations.
31451         * lib/futimens.c (futimens): Fix typo.
31452
31453 2009-10-15  Jim Meyering  <meyering@redhat.com>
31454
31455         don't let environment settings perturb build
31456         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
31457         could cause a configure-time and/or build-time malfunction.
31458         Typically, a configure-time function-in-library test is performed
31459         via code like this:
31460
31461           LIB_VAR=
31462           AC_SUBST([LIB_VAR])
31463           prefix_saved_LIBS=$LIBS
31464             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
31465                        [test "$ac_cv_search_FUNC" = "none required" ||
31466                         LIB_VAR=$ac_cv_search_FUNC])
31467           LIBS=$prefix_saved_LIBS
31468
31469         However, in each of the files affected by this change, the LIB_VAR=
31470         initialization was omitted.  Thus, when set in the environment, its
31471         value would propagate into generated Makefiles when FUNC is not found
31472         in LIB_NAME.
31473         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
31474         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
31475         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31476
31477 2009-10-14  Eric Blake  <ebb9@byu.net>
31478
31479         fchdir: avoid infinite recursion in mingw
31480         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
31481         recursing.
31482
31483         test-stat-time: port to mingw
31484         * tests/test-stat-time.c (force_unlink): Return a value.
31485         (test_ctime) [W32]: Fix compilation error.
31486         (nap): Don't call usleep with too large an argument.  Use
31487         force_unlink.
31488         * doc/pastposix-functions/usleep.texi (usleep): Document the
31489         portability issue.
31490
31491 2009-10-13  Jim Meyering  <meyering@redhat.com>
31492
31493         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
31494         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
31495         * modules/pipe-filter-ii: Likewise.
31496         * modules/sys_socket-tests: Likewise.
31497         * modules/tsearch-tests: Likewise.
31498         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
31499         (check): Depend on it.
31500
31501 2009-10-12  Eric Blake  <ebb9@byu.net>
31502
31503         utimens-tests: port to NFS file systems
31504         * tests/test-utimens.h (test_utimens): Refactor utimecmp
31505         comparisons to avoid spurious failures from timestamp drift
31506         between NFS machines.
31507
31508 2009-10-12  Eric Blake  <ebb9@byu.net>
31509
31510         stat-time-tests: minor cleanups
31511         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
31512         * tests/test-stat-time.c (nap): Separate assignment from call.
31513         Suggested by Paolo Bonzini and Bruno Haible.
31514
31515         sys_stat: guarantee struct timespec
31516         * lib/sys_stat.in.h (includes): Always include <time.h>
31517         * modules/sys_stat (Depends-on): Add time.
31518         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
31519         mode_t permission values.
31520         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
31521         get at subsecond timestamps.
31522
31523 2009-10-10  Eric Blake  <ebb9@byu.net>
31524
31525         futimens: new module
31526         * modules/futimens: New file.
31527         * lib/futimens.c (futimens): Likewise.
31528         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
31529         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
31530         we can work around Linux bugs.
31531         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31532         * modules/sys_stat (Makefile.am): Substitute them.
31533         * lib/sys_stat.in.h (futimens): Declare it.
31534         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31535         * doc/posix-functions/futimens.texi (futimens): Likewise.
31536         * modules/futimens-tests: New test.
31537         * tests/test-futimens.c: Likewise.
31538
31539         utimens: introduce fdutimens
31540         * lib/utimens.h (fdutimens): New prototype.
31541         * lib/utimens.c (gl_futimens): Move guts...
31542         (fdutimens): ...to new interface.
31543         * tests/test-utimens.c (do_fdutimens): Use it.
31544
31545         utimens: add UTIME_NOW and UTIME_OMIT support
31546         * lib/utimens.c (validate_timespec, update_timespec): New helper
31547         functions.
31548         (gl_futimens, lutimens): Use them.
31549         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
31550         stdbool, sys_stat.
31551         (Link): Mention resulting library dependency.
31552         * modules/utimecmp (Link): Likewise.
31553         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
31554         (Makefile.am): Pick up library dependency.
31555         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
31556         definition.
31557         * tests/test-sys_stat.c: Test the definitions.
31558         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
31559         * NEWS: Document library dependency.
31560
31561         utimecmp: support symlink timestamps
31562         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
31563         hashing when possible.  Use pathconf when available.
31564         (SYSCALL_RESOLUTION): Recognize tighter resolution.
31565         * modules/utimecmp (Depends-on): Add lstat.
31566
31567         utimens: add lutimens interface
31568         * lib/utimens.c (lutimens): New function.
31569         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
31570         * lib/utimens.h (lutimens): Declare new interface.
31571         * tests/test-utimens.c (main): Enhance test.
31572         * tests/test-lutimens.h (test_lutimens): New file.
31573         * modules/utimens-tests (Files): Distribute it.
31574         (Depends-on): Add symlink.
31575         (configure.ac): Check for usleep.
31576
31577         utimens: validate futimens usage
31578         * lib/utimens.c (gl_futimens): Require valid fd up front, using
31579         fewer syscalls on failure later on.  Avoid compiler warning on
31580         mingw.
31581         * modules/utimens (Depends-on): Add dup2.
31582
31583         utimens: add test
31584         * modules/utimens-tests: New test.
31585         * tests/test-utimens.h: New file.
31586         * tests/test-futimens.h: Likewise.
31587         * tests/test-utimens.c: Likewise.
31588
31589         doc: mention timestamp portability issues
31590         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
31591         instead.
31592         * doc/posix-functions/utime.texi (utime): Likewise.
31593         * doc/posix-functions/utimes.texi (utimes): Likewise.
31594         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
31595         instead.
31596         * doc/posix-functions/futimens.texi (futimens): Mention utimens
31597         module.
31598         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31599         Mention weakness with symlink timestamps.
31600         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
31601         to utimensat/futimens instead.
31602         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
31603
31604         test-dup2: enhance test
31605         * tests/test-dup2.c (main): Also check AT_FDCWD.
31606
31607         test-stat-time: avoid more spurious failures
31608         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
31609         xfs; and avoid race if the two timestamps cross quantization edge.
31610
31611         relocatable: prefer 'file system' over 'filesystem'
31612         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
31613         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
31614         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
31615         * doc/relocatable.texi (Enabling Relocatability): Likewise.
31616         * lib/relocatable.c (compute_curr_prefix): Likewise.
31617
31618 2009-10-10  Jim Meyering  <meyering@redhat.com>
31619
31620         stat-time-tests: check for the usleep function
31621         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
31622
31623 2009-10-10  Bruno Haible  <bruno@clisp.org>
31624
31625         * modules/xnanosleep: Put the Link section after the Include section.
31626
31627 2009-10-09  Eric Blake  <ebb9@byu.net>
31628
31629         dup2: work around FreeBSD 6.1 bug
31630         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
31631         * doc/posix-functions/dup2.texi (dup2): Document it.
31632         Reported by Nelson H. F. Beebe and Jim Meyering.
31633
31634         test-stat-time: port to buggy NFS clients
31635         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
31636         (test_ctime): Also skip test if mtime and ctime are skewed.
31637
31638         maint: prefer 'file system' over 'filesystem'
31639         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
31640         * doc/posix-functions/lstat.texi (lstat): Likewise.
31641         * lib/file-has-acl.c (file_has_acl): Likewise.
31642         * lib/fwriteerror.c [TEST]: Likewise.
31643         * tests/test-areadlink.h (test_areadlink): Likewise.
31644         * tests/test-areadlinkat-with-size.c (main): Likewise.
31645         * tests/test-areadlinkat.c (main): Likewise.
31646         * tests/test-canonicalize-lgpl.c (main): Likewise.
31647         * tests/test-canonicalize.c (main): Likewise.
31648         * tests/test-fstatat.c (main): Likewise.
31649         * tests/test-linkat.c (main): Likewise.
31650         * tests/test-lstat.h (test_lstat_func): Likewise.
31651         * tests/test-mkdir.h (test_mkdir): Likewise.
31652         * tests/test-readlink.h (test_readlink): Likewise.
31653         * tests/test-remove.c (main): Likewise.
31654         * tests/test-rename.h (test_rename): Likewise.
31655         * tests/test-renameat.c (main): Likewise.
31656         * tests/test-rmdir.h (test_rmdir_func): Likewise.
31657         * tests/test-symlink.h (test_symlink): Likewise.
31658         * tests/test-symlinkat.c (main): Likewise.
31659         * tests/test-unlink.h (test_unlink_func): Likewise.
31660         * tests/test-unlinkat.c (main): Likewise.
31661
31662         maint: make realtime library usage explicit
31663         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
31664         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
31665         * modules/settime (Link): Likewise.
31666         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
31667
31668         test-stat-time: speed up execution
31669         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
31670         warning on mingw.
31671         (nap): New helper function.
31672         (prepare_test): Use it to reduce sleep time.
31673         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
31674         execution.
31675         * modules/stat-time-tests (configure.ac): Check for usleep.
31676
31677 2009-10-09  Jim Meyering  <meyering@redhat.com>
31678
31679         selinux-h: always use getfilecon wrappers
31680         * lib/getfilecon.c: New file.
31681         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
31682         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
31683         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
31684         (fgetfilecon): Provide a stub.
31685         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
31686         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
31687         file unconditionally.
31688         When <selinux/selinux.h> is found, arrange to use wrappers.
31689         * modules/selinux-h (Files): Add getfilecon.c.
31690         (Makefile.am): Substitute include-next-related bits
31691         into the now-always-generated selinux/selinux.h file.
31692         * doc/glibc-functions/lgetfilecon.texi: New file.
31693         * doc/glibc-functions/fgetfilecon.texi: New file.
31694         * doc/glibc-functions/getfilecon.texi: New file.
31695         * doc/glibc-functions/getfilecon-desc.texi: New file.
31696         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
31697         which to pull in the new files.
31698         * MODULES.html.sh (Misc): Add selinux-h.
31699
31700 2009-10-08  Jim Meyering  <meyering@redhat.com>
31701
31702         unistd: fix comment typo
31703         * lib/unistd.in.h (euidaccess): Fix a comment typo.
31704
31705 2009-10-08  Eric Blake  <ebb9@byu.net>
31706
31707         areadlink: use SIZE_MAX consistently
31708         * modules/areadlink (Depends-on): Add stdint.
31709         * modules/areadlink-with-size (Depends-on): Likewise.
31710         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
31711         gives NULL; drop sys/types, since unistd gives size_t; and add
31712         stdint for SIZE_MAX.
31713         (SIZE_MAX): Rely on headers.
31714         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
31715         and add stdint.
31716         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
31717         (SIZE_MAX): Likewise.
31718         (INITIAL_BUF_SIZE): Turn into enum.
31719         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
31720
31721 2009-10-08  Jim Meyering  <meyering@redhat.com>
31722
31723         areadlinkat: avoid compilation failure
31724         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
31725         Fix typo in comment.
31726
31727 2009-10-07  Eric Blake  <ebb9@byu.net>
31728
31729         areadlinkat-with-size: new module
31730         * modules/areadlinkat-with-size: New module.
31731         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
31732         * lib/areadlink.h (areadlinkat): Declare it.
31733         * MODULES.html.sh (File system functions): Mention it.
31734         * modules/areadlinkat-with-size-tests: New test.
31735         * tests/test-areadlinkat-with-size.c: New file.
31736
31737         xreadlinkat: new module
31738         * modules/xreadlinkat: New module.
31739         * lib/xreadlinkat.c (xreadlinkat): New file.
31740         * lib/xreadlink.h (xreadlinkat): Declare it.
31741         * MODULES.html.sh (File system functions): Mention it.
31742
31743         areadlinkat: new module
31744         * lib/at-func.c (FUNC_FAIL): New define.
31745         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
31746         * modules/areadlinkat: New module.
31747         * lib/linkat.c (areadlinkat): Move...
31748         * lib/areadlinkat.c (areadlinkat): ...to new file.
31749         * lib/areadlink.h (areadlinkat): Declare it.
31750         * modules/linkat (Depends-on): Add areadlinkat.
31751         * MODULES.html.sh (File system functions): Mention it.
31752         * modules/areadlinkat-tests: New test.
31753         * tests/test-areadlinkat.c: New file.
31754
31755         areadlink, areadlink-with-size: add tests
31756         * modules/areadlink-tests: New test.
31757         * modules/areadlink-with-size-tests: Likewise.
31758         * tests/test-areadlink.h: New file.
31759         * tests/test-areadlink.c: Likewise.
31760         * tests/test-areadlink-with-size.c: Likewise.
31761
31762         maint: minor cleanups
31763         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
31764         _UNUSED_PARAMETER_ instead.
31765         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
31766         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
31767         * modules/linkat-tests (Files): Distribute test-link.h.
31768
31769         openat, utimens: whitespace cleanup
31770         * lib/openat.c: Prefer space throughout, rather than mix of 8
31771         spaces vs. tabs.
31772         * lib/at-func.c: Likewise.
31773         * lib/utimens.c: Likewise.
31774
31775         openat: avoid using wrong fd
31776         * lib/openat.c (openat_permissive): Reject user's fd if saving the
31777         working directory chooses same fd.
31778         * lib/at-func.c (AT_FUNC_NAME): Likewise.
31779
31780         mkdir, mkdirat: fix cygwin 1.5.x bug
31781         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
31782         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
31783         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
31784         bug.
31785         (gl_PREREQ_MKDIR): Delete unused macro.
31786         * modules/mkdir (Files): Track file rename.
31787         (configure.ac): Update macro name.
31788         * modules/openat (Depends-on): Add mkdir.
31789         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
31790
31791         mkdir, mkdirat: add tests
31792         * modules/mkdir-tests: New test.
31793         * tests/test-mkdir.h: New file.
31794         * tests/test-mkdir.c: Likewise.
31795         * tests/test-mkdirat.c: Likewise.
31796         * modules/openat-tests (Files): Add new files.
31797         (Makefile.am): Run new test.
31798
31799 2009-10-06  Eric Blake  <ebb9@byu.net>
31800
31801         doc: tweak *at function documentation
31802         * doc/posix-functions/faccessat.texi (faccessat): Mention
31803         known issue with replacement.
31804         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
31805         * doc/posix-functions/linkat.texi (linkat): Likewise.
31806         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
31807         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
31808         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31809         * doc/posix-functions/renameat.texi (renameat): Likewise.
31810         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31811
31812         openat: fix GNU/Hurd bug in unlinkat
31813         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
31814         broken.
31815         * doc/posix-functions/unlink.texi (unlink): Document this.
31816         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
31817
31818         fdopendir: fix GNU/Hurd bug
31819         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
31820         allowing non-directory fds.
31821         * lib/fdopendir.c (rpl_fdopendir): Work around it.
31822         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31823         * modules/dirent (Makefile.am): Substitute it.
31824         * lib/dirent.in.h (fdopendir): Declare replacement.
31825         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
31826         * tests/test-fdopendir.c (main): Test something other than
31827         /dev/null, since on Hurd that behaves like a directory.
31828
31829         test-symlink: port to GNU/Hurd
31830         * tests/test-symlink.h (test_symlink): Relax expected errno.
31831
31832         doc: tweak more cygwin information
31833         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
31834         now compatible with glibc.
31835         * doc/posix-functions/getopt.texi (getopt): Likewise.
31836
31837         getopt-gnu: add another test
31838         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
31839         guarantee behavior relied on by m4.
31840         * tests/test-getopt.c (main): Use it.
31841         * modules/getopt-posix-tests (Depends-on): Add setenv.
31842         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
31843
31844         getopt: fix compilation on darwin
31845         * lib/getopt.in.h (includes): Leave breadcrumbs during system
31846         include.
31847         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
31848         Reported by Ludovic Courtès.
31849
31850 2009-10-06  Bruno Haible  <bruno@clisp.org>
31851
31852         * modules/size_max (Description): Discourage its use.
31853         Reported by Simon Josefsson.
31854
31855 2009-10-06  Jim Meyering  <meyering@redhat.com>
31856
31857         linkat: avoid compilation failure
31858         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
31859
31860 2009-10-05  Eric Blake  <ebb9@byu.net>
31861
31862         linkat: support Linux 2.6.17
31863         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
31864         linkat on Linux, but allow cache variable override.
31865         * lib/linkat.c (rpl_linkat): Define override.
31866         * modules/linkat (Depends-on): Add symlinkat.
31867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
31868         * modules/unistd (Makefile.am): Substitute it.
31869         * lib/unistd.in.h (linkat): Declare replacement.
31870         Reported by Pádraig Brady.
31871
31872         quotearg: port test to systems with C.UTF-8 locale
31873         * tests/test-quotearg.c (struct result_strings): Add another
31874         member, differentiating between C.ASCII and C.UTF-8 handling.
31875         (compare_strings): Add parameter.
31876         (main): Adjust all callers.
31877
31878         getopt: avoid clash with FreeBSD _getopt_internal
31879         * lib/getopt.in.h (_getopt_internal): Override the name.
31880         * lib/getopt_int.h (includes): Pick up any overrides.
31881         Reported by Reuben Thomas.
31882
31883         hash: allow C89 compilation
31884         * lib/hash.c (check_tuning): Move declaration before statement.
31885         Reported by Reuben Thomas.
31886
31887 2009-10-05  Karl Berry  <karl@gnu.org>
31888
31889         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
31890
31891 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
31892             Bruno Haible  <bruno@clisp.org>
31893
31894         * lib/uname.c (uname): Use a table-driven algorithm to compute
31895         Windows NT versions.
31896
31897 2009-10-04  Bruno Haible  <bruno@clisp.org>
31898
31899         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
31900         program_invocation_short_name.
31901         * modules/progname (configure.ac): Test for presence of
31902         program_invocation_short_name.
31903         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31904
31905 2009-10-04  Bruno Haible  <bruno@clisp.org>
31906
31907         * lib/progname.c (set_program_name): Fix comment.
31908         Reported by Jim Meyering.
31909
31910 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
31911             Bruno Haible  <bruno@clisp.org>
31912
31913         * lib/uname.c: Include <string.h>.
31914         (uname): Do only one call to GetVersionEx in the common case.
31915
31916 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
31917             Bruno Haible  <bruno@clisp.org>
31918
31919         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
31920         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
31921         (uname): Add support for Windows CE and various non-x86 CPU types.
31922
31923 2009-10-03  Bruno Haible  <bruno@clisp.org>
31924
31925         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
31926         invocation to tests/configure.ac.
31927         Reported by Ian Beckwith <ianb@erislabs.net>.
31928
31929 2009-10-02  Eric Blake  <ebb9@byu.net>
31930
31931         fchdir: avoid compiler warning
31932         * lib/fchdir.c (canonicalize_file_name)
31933         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
31934
31935         test-open: support mingw errno values
31936         * tests/test-open.h (test_open): Relax test.
31937         * tests/test-fopen.h (test_fopen): Likewise.
31938         * tests/test-openat-safer.c (main): Likewise.
31939
31940         open: fix opening directory on mingw
31941         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
31942
31943         test-open: on GNU/Hurd, /dev/null is a directory
31944         * tests/test-fopen.h (main): Rename...
31945         (test_fopen): ...to this.  Use a guaranteed non-directory when
31946         confirming open behavior on trailing slash.
31947         * tests/test-openat-safer.c (main): Likewise.
31948         * tests/test-open.h (main): Likewise....
31949         (test_open): ...to this.
31950         * tests/test-fopen.c (main): Adjust caller.
31951         * tests/test-fopen-safer.c (main): Likewise.
31952         * tests/test-open.c (main): Likewise.
31953         * tests/test-fcntl-safer.c (main): Likewise.
31954         Reported by Samuel Thibault.
31955
31956         rename, fchdir: don't ignore chdir failure
31957         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
31958         * lib/rename.c (rpl_rename) [W32]: Likewise.
31959         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
31960         an empty destination directory if source cannot be renamed,
31961         although there is still possibility for failure.
31962         * doc/posix-functions/rename.texi (rename): Document the race.
31963         Reported by Jim Meyering.
31964
31965         maint: cleanup whitespace in recent commits
31966         * lib/rename.c (rpl_rename): Remove tabs.
31967         * tests/test-link.h (test_link): Likewise.
31968         * lib/fchdir.c (get_name): Likewise.
31969         Reported by Jim Meyering.
31970
31971 2009-10-02  Ben Pfaff  <blp@gnu.org>
31972
31973         relocatable-prog-wrapper: Add missing dependency on
31974         double-slash-root.
31975         * modules/relocatable-prog-wrapper: Add dependency.
31976         Reported by Ian Beckwith <ianb@erislabs.net>.
31977
31978 2009-10-02  Eric Blake  <ebb9@byu.net>
31979
31980         renameat: fix Solaris bugs
31981         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
31982         needed fixing.
31983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
31984         * modules/stdio (Makefile.am): Substitute it.
31985         * lib/stdio.in.h (renameat): Declare replacement.
31986         * lib/renameat.c (rpl_renameat): Implement fix.
31987
31988         renameat: new module
31989         * modules/renameat: New file.
31990         * lib/renameat.c (renameat): Likewise.
31991         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
31992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
31993         * modules/stdio (Makefile.am): Substitute them.
31994         * lib/stdio.in.h (renameat): Declare it.
31995         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31996         * doc/posix-functions/renameat.texi (renameat): Likewise.
31997         * modules/renameat-tests: New test.
31998         * tests/test-renameat.c: Likewise.
31999
32000         rename: fix mingw bugs
32001         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
32002         directory overwrite bugs.
32003
32004         rename: fix another cygwin 1.5 bug
32005         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
32006         checks.
32007         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
32008         unnecessary cygwin workarounds.  Also work around bug with moving
32009         full directory onto an empty one.
32010         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
32011
32012         rename-dest-slash: merge into rename module
32013         * modules/rename-dest-slash (Status): Mark obsolete.
32014         (Depends-on): Add rename.
32015         (Files): Let rename do it all.
32016         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
32017         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
32018         * m4/rename-dest-slash.m4: ...so this file can be deleted.
32019         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
32020         * lib/rename.c (rpl_rename): Update comments.
32021
32022         rename: fix cygwin 1.5.x bugs
32023         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
32024         * lib/rename.c (rpl_rename): Work around them.
32025         * modules/rename (Depends-on): Add same-inode.
32026
32027         rename: fix Solaris 10 bug
32028         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
32029         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
32030         was the only bug.
32031
32032         rename: fix Solaris 9 bug
32033         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
32034         on non-directory.  Avoid calling exit.
32035         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
32036         strdup.
32037         * modules/rename-tests (Depends-on): Drop lstat.
32038         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
32039         (gl_PREREQ_RENAME): Delete unused macro.
32040
32041         rename-dest-slash: fix NetBSD bug
32042         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
32043         links.
32044         * modules/rename-dest-slash (Depends-on): Add same-inode.
32045
32046         rename-tests: new test, exposes several platform bugs
32047         * modules/rename-tests: New file.
32048         * tests/test-rename.h: Likewise.
32049         * tests/test-rename.c: Likewise.
32050         * doc/posix-functions/rename.texi (rename): Improve documentation,
32051         including bugs that will eventually be fixed in gnulib.
32052
32053 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
32054
32055         * lib/uname.c: Include <stdlib.h>
32056         (uname): Assume version info is available.
32057
32058 2009-10-02  Jim Meyering  <meyering@redhat.com>
32059
32060         gnu-web-doc-update: correct --help output
32061         * build-aux/gnu-web-doc-update: Make --help output relevant.
32062
32063         gnu-web-doc-update: add standard options
32064         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
32065
32066         gnu-web-doc-update: New module.
32067         Use this script to automatically update the on-line web documentation
32068         for your GNU project at http://www.gnu.org/software/$pkg/manual/
32069         * modules/gnu-web-doc-update: New file, from coreutils.
32070         * build-aux/gnu-web-doc-update: New script.
32071
32072 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
32073
32074         link: LoadLibrary is not needed.
32075         * lib/link.c: Use GetModuleHandle.
32076
32077 2009-10-01  Eric Blake  <ebb9@byu.net>
32078
32079         getopt: bump serial number
32080         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
32081         change.
32082
32083         tests: tighten link, rmdir, and remove tests
32084         * tests/test-link.h (includes): No need to use <config.h> here.
32085         Clean up if directory hard link was created, otherwise test for
32086         trailing '.'.
32087         * tests/test-linkat.c (main): Simplify.
32088         * tests/test-remove.c (main): Enhance test for trailing '.'.
32089         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32090
32091 2009-10-01  Jim Meyering  <meyering@redhat.com>
32092
32093         maint.mk: requiring "make major" was annoying, for a "minor" release.
32094         What is intended is "stable", to contrast with alpha and beta,
32095         so require "make stable", not "make major".
32096         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
32097         (get_tool_versions): Likewise.
32098         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
32099
32100 2009-09-30  Ben Pfaff  <blp@gnu.org>
32101
32102         Fix broken build of replacement for Windows tmpfile().
32103         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
32104         flags argument added along with the 'mkostemp' module.
32105
32106 2009-09-28  Bruno Haible  <bruno@clisp.org>
32107
32108         Avoid identifier clash with POSIX function 'remove' defined as a macro.
32109         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
32110         to 'remove_elt'.
32111         (gl_list_remove): Update.
32112         * lib/gl_list.c (gl_list_remove): Update.
32113         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
32114         to 'remove_elt'.
32115         (gl_oset_remove): Update.
32116         * lib/gl_list.c (gl_oset_remove): Update.
32117         Reported by Eric Blake.
32118
32119 2009-09-28  Eric Blake  <ebb9@byu.net>
32120
32121         doc: mention yet more cygwin 1.7 status
32122         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
32123         cygwin.
32124         * doc/glibc-functions/execvpe.texi (execvpe): New file.
32125         * doc/gnulib.texi (Glibc unistd.h): Mention it.
32126
32127         argp: fix test failure
32128         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
32129         that are not upper-case.  Pass correct range to tolower.
32130
32131 2009-09-27  Jim Meyering  <meyering@redhat.com>
32132
32133         test-yesno: work around sparc-dash here-document infelicity
32134         Without this change, the literal \177 byte in a here document
32135         would make dash 0.5.5.1-3 access uninitialized memory.
32136         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
32137         Instead, use a marker, "@", and filter through tr to create the desired
32138         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
32139
32140 2009-09-27  Bruno Haible  <bruno@clisp.org>
32141
32142         Disable untested support for new flavours of ACLs on AIX.
32143         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
32144         progress.
32145         * lib/set-mode-acl.c (qset_acl): Likewise.
32146
32147 2008-12-07  Bruno Haible  <bruno@clisp.org>
32148
32149         Add support for new flavours of ACLs on AIX. (Untested.)
32150         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
32151         (file_has_acl): Add support for newer AIX.
32152         * lib/set-mode-acl.c (qset_acl): Likewise.
32153         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
32154         Rainer Tammer <tammer@tammer.net>.
32155
32156 2009-09-26  Eric Blake  <ebb9@byu.net>
32157
32158         argp: fix compilation of getopt
32159         * lib/getopt.in.h (includes): Use different guard than glibc.
32160         Reported by Sergey Poznyakoff.
32161
32162         doc: mention more cygwin 1.7 status
32163         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
32164         bug.
32165         * doc/posix-functions/execl.texi (execl): Likewise.
32166         * doc/posix-functions/execle.texi (execle): Likewise.
32167         * doc/posix-functions/execlp.texi (execlp): Likewise.
32168         * doc/posix-functions/execv.texi (execv): Likewise.
32169         * doc/posix-functions/execve.texi (execve): Likewise.
32170         * doc/posix-functions/execvp.texi (execvp): Likewise.
32171         * doc/glibc-functions/canonicalize_file_name.texi
32172         (canonicalize_file_name): Cygwin 1.7 now provides this.
32173         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
32174         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
32175         on AT_SYMLINK_NOFOLLOW.
32176
32177 2009-09-24  Eric Blake  <ebb9@byu.net>
32178
32179         test-linkat: make test more robust
32180         * tests/test-linkat.c (main): Avoid collision with EEXIST.
32181
32182         getopt: fix inclusion guards for cygwin
32183         * modules/getopt-posix (Depends-on): Add include-next.
32184         (Makefile.am): Substitute more items in replacement header.
32185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
32186         <getopt.h>.
32187         * lib/getopt.in.h (includes): Use split inclusion guard, and
32188         prefer <getopt.h> over include <unistd.h> when one is present.
32189         (option): Also override name of 'struct option'.
32190
32191         same-inode: revert prior change; it is not yet ready
32192         * NEWS: Undo mention of this change.
32193         * lib/same-inode.h (same-inode.h): Undo tri-state change.
32194         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
32195         * lib/cycle-check.c (cycle_check): Likewise.
32196         * lib/same.c (same_name): Likewise.
32197         * lib/at-func2.c (at_func2): Likewise.
32198
32199 2009-09-23  Eric Blake  <ebb9@byu.net>
32200
32201         linkat: new module
32202         * modules/linkat: New file.
32203         * lib/at-func2.c (at_func2): Likewise.
32204         * lib/linkat.c (linkat): Likewise.
32205         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
32206         * lib/openat-priv.h (at_func2): Add declaration.
32207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32208         * modules/unistd (Makefile.am): Substitute them.
32209         * lib/unistd.in.h (linkat): Declare it.
32210         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32211         * doc/posix-functions/linkat.texi (linkat): Likewise.
32212         * doc/posix-functions/link.texi (link): Tweak wording.
32213         * tests/test-link.c (main): Move guts...
32214         * tests/test-link.h (test_link): ...into new file.
32215         * modules/linkat-tests: New test.
32216         * tests/test-linkat.c: Likewise.
32217         * modules/link-tests (Files): Ship new file.
32218         (Depends-on): Add stdbool.
32219
32220         dirname: add library-safe mdir_name
32221         * lib/dirname.h (mdir_name): New prototype.
32222         * lib/dirname.c (dir_name): Move guts...
32223         (mdir_name): ...to new function that avoids xalloc_die.
32224
32225         fchdir: another mingw fix
32226         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
32227         * lib/fchdir.c (get_name): New helper method; skips canonicalize
32228         on mingw (where it has not yet been ported), and make it optional
32229         elsewhere.
32230         (_gl_register_fd): Use it.
32231
32232         same-inode: make SAME_INODE tri-state, to port to mingw
32233         * NEWS: Mention this change.
32234         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
32235         st_ino always being 0.
32236         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
32237         * lib/cycle-check.c (cycle_check): Likewise.
32238         * lib/same.c (same_name): Likewise.
32239
32240         lstat: avoid mingw compilation error
32241         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
32242         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
32243         lstat ourselves.
32244         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
32245         was adequate.
32246         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
32247         the checks for lstat.
32248         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
32249
32250         link: fix test failure on Solaris 9
32251         * lib/link.c (rpl_link): Don't assume link will catch bogus
32252         trailing slash on source.
32253
32254         test-symlinkat: enhance test
32255         * tests/test-readlink.c (main): Move guts...
32256         * tests/test-readlink.h (test_readlink): ...into new file.
32257         * tests/test-symlink.c (main): Move guts...
32258         * tests/test-symlink.h (test_symlink): ...into new file.
32259         * tests/test-symlinkat.c (main): Use new files for further
32260         coverage.
32261         (do_symlink, do_readlink): New helper functions.
32262         * modules/symlink-tests (Files): Ship new file.
32263         (Depends-on): Add stdbool.
32264         * modules/readlink-tests (Files): Ship new file.
32265         (Depends-on): Add stdbool.
32266         * modules/symlinkat-tests (Files): Use new files.
32267
32268 2009-09-23  Eric Blake  <ebb9@byu.net>
32269
32270         readlink: document portability issue with symlink length
32271         * doc/posix-functions/lstat.texi (lstat): Mention that some file
32272         systems have bogus st_size on symlinks, and mention the
32273         areadlink-with-size module.
32274         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
32275         * doc/posix-functions/readlink.texi (readlink): Mention the
32276         areadlink module, and ERANGE failure.
32277         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
32278         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
32279
32280         readlink: fix Solaris 9 bug with trailing slash
32281         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
32282         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
32283         * doc/posix-functions/readlink.texi (readlink): Document this.
32284         * modules/readlink-tests: New test.
32285         * tests/test-readlink.c: Likewise.
32286
32287         readlink: fix cygwin 1.5.x bug with return type
32288         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
32289         * lib/unistd.in.h (readlink): Use ssize_t.
32290         * lib/readlink.c (readlink): Likewise.
32291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32292         * modules/unistd (Makefile.am): Substitute it.
32293         * lib/unistd.in.h (readlink): Declare replacement.
32294         * doc/posix-functions/readlink.texi (readlink): Document this.
32295
32296         symlink: use throughout gnulib
32297         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
32298         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
32299         symlink is not used.
32300         * modules/symlinkat (Depends-on): Add symlink.
32301         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32302         * modules/canonicalize-tests (Depends-on): Likewise.
32303         * modules/lstat-tests (Depends-on): Likewise.
32304         * modules/openat-tests (Depends-on): Likewise.
32305         * modules/remove-tests (Depends-on): Likewise.
32306         * modules/rmdir-tests (Depends-on): Likewise.
32307         * modules/unlink-tests (Depends-on): Likewise.
32308         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
32309         * tests/test-canonicalize.c (symlink): Likewise.
32310         * tests/test-fstatat.c (symlink): Likewise.
32311         * tests/test-lstat.c (symlink): Likewise.
32312         * tests/test-remove.c (symlink): Likewise.
32313         * tests/test-rmdir.c (symlink): Likewise.
32314         * tests/test-unlink.c (symlink): Likewise.
32315         * tests/test-unlinkat.c (symlink): Likewise.
32316
32317         symlink: new module, for Solaris 9 bug
32318         * modules/symlink: New file.
32319         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
32320         * lib/symlink.c: Likewise.
32321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32322         * modules/unistd (Makefile.am): Substitute them.
32323         * lib/unistd.in.h (symlink): Declare replacement.
32324         * MODULES.html.sh (File system functions): Mention it.
32325         * doc/posix-functions/symlink.texi (symlink): Likewise.
32326         * modules/symlink-tests: New test.
32327         * tests/test-symlink.c: Likewise.
32328
32329 2009-09-23  Bruno Haible  <bruno@clisp.org>
32330
32331         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
32332         when needed.
32333         Test case: gnulib-tool --import --with-tests atexit inttypes.
32334         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
32335
32336 2009-09-23  Bruno Haible  <bruno@clisp.org>
32337
32338         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
32339         subcommand, not in a subshell.
32340
32341 2009-09-22  Eric Blake  <ebb9@byu.net>
32342
32343         unistd: sort replacement declarations
32344         * lib/unistd.in.h: Sort declarations.
32345
32346         open, openat: minor optimization
32347         * lib/open.c (open): If open succeeded, len is non-zero.
32348         * lib/openat.c (rpl_openat): Likewise.
32349
32350         link-follow: ensure correct result
32351         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
32352         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
32353         distinguish between possible failures.
32354
32355 2009-09-21  Eric Blake  <ebb9@byu.net>
32356
32357         fts: avoid compiler warning
32358         * lib/fts.c (dirent_inode_sort_may_be_useful)
32359         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
32360
32361 2009-09-19  Bruno Haible  <bruno@clisp.org>
32362
32363         * lib/progreloc.c (canonicalize_file_name): New declaration.
32364
32365 2009-09-19  Eric Blake  <ebb9@byu.net>
32366
32367         link: fix quoting
32368         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
32369
32370         openat: fix openat bugs on Solaris 9
32371         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
32372         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
32373         * modules/openat (Depends-on): Add open.
32374         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
32375         * modules/fcntl-h (Makefile.am): Substitute it.
32376         * lib/fcntl.in.h (openat): Declare replacement.
32377         * doc/posix-functions/openat.texi (openat): Document this.
32378
32379         openat: move fstatat and unlinkat into correct files
32380         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
32381         compiled.
32382         * lib/openat.c (fstatat, unlinkat): Move...
32383         * lib/fstatat.c (fstatat): ...into correct files.
32384         * lib/unlinkat.c (unlinkat): Likewise.
32385
32386         openat: fix unlinkat bugs on Solaris 9
32387         * lib/unlinkat.c (unlinkat): New file.
32388         * modules/openat (Depends-on): Add unlink.
32389         (Files): Distribute it.
32390         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
32391         trailing slash behavior is broken.
32392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32393         * modules/unistd (Makefile.am): Substitute it.
32394         * lib/unistd.in.h (unlinkat): Declare replacement.
32395         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
32396
32397         openat: fix fstatat bugs on Solaris 9
32398         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
32399         stat.
32400         * doc/posix-functions/fstatat.texi (fstatat): Document this.
32401
32402         test-unlinkat: enhance test, to expose Solaris 9 bug
32403         * tests/test-unlink.c (main): Factor guts...
32404         * tests/test-unlink.h (test_rmdir_func): ...into new file.
32405         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
32406         * tests/test-rmdir.c (main): Adjust caller.
32407         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
32408         (unlinker): New helper function.
32409         (rmdirat): Enhance check.
32410         * modules/rmdir-tests (Depends-on): Add stdbool.
32411         * modules/unlink-tests (Depends-on): Likewise.
32412         (Files): Add test-unlink.h.
32413         * modules/openat-tests (Files): Likewise.
32414         (Depends-on): Add unlinkdir.
32415
32416         test-fstatat: new test, to expose Solaris 9 bugs
32417         * tests/test-stat.c (main): Factor guts...
32418         * tests/test-stat.h (test_stat_func): ...into new file.
32419         * tests/test-lstat.c (main): Factor guts...
32420         * tests/test-lstat.h (test_lstat_func): ...into new file.
32421         * tests/test-fstatat.c: New file.
32422         * modules/stat-tests (Files): Add test-stat.h.
32423         * modules/lstat-tests (Files): Add test-lstat.h.
32424         (Depends-on): Add stdbool.
32425         * modules/openat-tests (Depends-on): Add pathmax.
32426         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
32427         (Makefile.am): Run new test.
32428
32429         remove: new module, for mingw and Solaris 9 bugs
32430         * modules/remove: New file.
32431         * lib/remove.c: Likewise.
32432         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
32433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
32434         * modules/stdio (Makefile.am): Use them.
32435         * lib/stdio.in.h (remove): Declare replacement.
32436         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32437         * doc/posix-functions/remove.texi (remove): Likewise.
32438         * modules/remove-tests: New test.
32439         * tests/test-remove.c: Likewise.
32440
32441         unlink: new module, for Solaris 9 bug
32442         * modules/unlink: New file.
32443         * lib/unlink.c: Likewise.
32444         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
32445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32446         * modules/unistd (Makefile.am): Use them.
32447         * lib/unistd.in.h (stat): Declare replacement.
32448         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32449         * doc/posix-functions/unlink.texi (unlink): Likewise.
32450         * modules/unlink-tests: New test.
32451         * tests/test-unlink.c: Likewise.
32452
32453         lstat: fix Solaris 9 bug
32454         * lib/lstat.c (lstat): Also check for trailing slash on
32455         non-symlink, non-directories.  Use stat module to simplify logic.
32456         * doc/posix-functions/lstat.texi (lstat): Document it.
32457         * modules/lstat-tests (Depends-on): Add errno, same-inode.
32458         (configure.ac): Check for symlink.
32459         * tests/test-lstat.c (main): Add more tests.
32460
32461         stat: add as dependency to other modules
32462         * modules/chown (Depends-on): Add stat.
32463         * modules/euidaccess (Depends-on): Likewise.
32464         * modules/fchdir (Depends-on): Likewise.
32465         * modules/isdir (Depends-on): Likewise.
32466         * modules/link (Depends-on): Likewise.
32467         * modules/lstat (Depends-on): Likewise.
32468         * modules/mkdir-p (Depends-on): Likewise.
32469         * modules/modechange (Depends-on): Likewise.
32470         * modules/open (Depends-on): Likewise.
32471         * modules/readlink (Depends-on): Likewise.
32472         * modules/same (Depends-on): Likewise.
32473
32474         stat: fix Solaris 9 bug
32475         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
32476         slash.
32477         * lib/stat.c (rpl_stat): Work around it.
32478         * doc/posix-functions/stat.texi (stat): Update documentation.
32479
32480         stat: new module, for mingw bug
32481         * modules/stat: New file.
32482         * lib/stat.c: Likewise.
32483         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32484         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
32485         * modules/sys_stat (Makefile.am): Use them.
32486         * lib/sys_stat.in.h (stat): Declare replacement.
32487         * lib/openat.c (fstatat): Deal with lstat and stat being function
32488         macros.
32489         * modules/openat (Depends-on): Add inline.
32490         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32491         * doc/posix-functions/stat.texi (stat): Likewise.
32492         * modules/stat-tests: New test.
32493         * tests/test-stat.c: Likewise.
32494
32495 2009-09-19  Jim Meyering  <meyering@redhat.com>
32496
32497         syntax-check: detect unnecessary inclusion of canonicalize.h
32498         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
32499
32500 2009-09-19  Eric Blake  <ebb9@byu.net>
32501
32502         canonicalize-lgpl: adjust clients to use correct header
32503         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
32504         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
32505         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
32506         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
32507         * lib/progreloc.c (includes): Likewise.
32508
32509 2009-09-19  Jim Meyering  <meyering@redhat.com>
32510
32511         test-posixtm.c: correct a comment
32512         * tests/test-posixtm.c: Correct first-line comment.
32513         Spotted by Eric Blake.
32514
32515 2009-09-16  Jim Meyering  <meyering@redhat.com>
32516
32517         posixtm-tests: make T const-correct; add a test case
32518         * tests/test-posixtm.c (T): Declare const.
32519         Add a test for -(2^31+1).
32520         Remove useless can-succeed-only-in-2002 test.
32521
32522         posixtm-tests: adjust the sole failing test
32523         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
32524         expected output matches what mktime now produces.  Cross-checked via
32525         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
32526
32527         posixtm: move #ifdef'd tests into a new module
32528         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
32529         * tests/test-posixtm.c: ... this new file.
32530         * modules/posixtm-tests: New module.
32531
32532 2009-09-19  Eric Blake  <ebb9@byu.net>
32533
32534         openat: simplify use of at-func.c
32535         * lib/at-func.c (includes): Include prerequisites here, to
32536         simplify requirements on client files.
32537         * lib/openat-priv.h: Add double-inclusion guard.
32538         * lib/faccessat.c (includes): Simplify.
32539         * lib/fchmodat.c (includes): Likewise.
32540         * lib/fchownat.c (includes): Likewise.
32541         * lib/mkdirat.c (includes): Likewise.
32542         * lib/mkfifoat.c (includes): Likewise.
32543         * lib/symlinkat.c (includes): Likewise.
32544
32545         openat: allow return of fd 0
32546         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
32547         * modules/save-cwd (Depends-on): Replace fcntl-safer with
32548         unistd-safer.
32549         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
32550         <fcntl.h>; this module does not leak fds.
32551         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
32552         must be allowed to return 0, leaving openat_safer to add the
32553         safety.
32554         (openat_permissive): Avoid writing to just-opened fd 2 if
32555         restoring the current directory fails.
32556         * lib/openat-die.c (openat_restore_fail): Add comment.
32557         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
32558         (save_cwd): Guarantee safe fd, but without use of open_safer.
32559         * tests/test-openat.c: New test.
32560         * modules/openat-tests (Files, Makefile.am): Distribute and build
32561         new file.
32562
32563         relocatable-prog-wrapper: fix build
32564         * modules/relocatable-prog-wrapper (Files): Update name of
32565         canonicalize m4 file, broken on 2009-09-17.
32566         Reported by emad hajjar <aleppos@hotmail.com>.
32567
32568 2009-09-19  Bruno Haible  <bruno@clisp.org>
32569
32570         * lib/safe-alloc.h: Use the standard header with GPL copyright.
32571         * lib/safe-alloc.c: Likewise.
32572         Reported by Ian Beckwith <ianb@erislabs.net>.
32573
32574 2009-09-18  Bruno Haible  <bruno@clisp.org>
32575
32576         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
32577         Reported by <erobles@sensacd.com.mx>.
32578
32579 2009-09-17  Eric Blake  <ebb9@byu.net>
32580
32581         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
32582         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
32583         slashes when checking if last component is missing.
32584         * tests/test-canonicalize.c (main): Test this.
32585
32586         canonicalize, canonicalize-lgpl: honor // if distinct from /
32587         * modules/canonicalize (Files): Add double-slash-root.m4.
32588         * modules/canonicalize-lgpl (Files): Likewise.
32589         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
32590         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
32591         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
32592         fallback definition.
32593         (canonicalize_filename_mode): Use it to protect //.
32594         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
32595         (__realpath): Likewise.
32596         * tests/test-canonicalize.c (main): Test this.
32597         * tests/test-canonicalize-lgpl.c (main): Likewise.
32598         * modules/canonicalize-tests (Depends-on): Add same-inode.
32599         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32600
32601         canonicalize-lgpl: fix glibc bug with trailing slash
32602         * m4/canonicalize-lgpl.m4: Move contents...
32603         * m4/canonicalize.m4: ...here.
32604         (gl_CANONICALIZE_LGPL): Factor realpath check...
32605         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
32606         glibc 2.3.5 bug, fixed 2005-04-27.
32607         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
32608         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
32609         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
32610         * modules/canonicalize-lgpl (Files): Manage file rename.
32611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
32612         * modules/stdlib (Makefile.am): Substitute witness.
32613         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
32614         is needed.
32615         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
32616         replacement is required.
32617         * lib/canonicalize.c (canonicalize_file_name): Likewise.
32618         * doc/glibc-functions/canonicalize_file_name.texi
32619         (canonicalize_file_name): Document this.
32620         * doc/posix-functions/realpath.texi (realpath): Likewise.
32621
32622         canonicalize-lgpl: reject non-directory with trailing slash
32623         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
32624         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
32625         catches failures in glibc 2.3.5.
32626         * tests/test-canonicalize.c (main): Likewise.
32627
32628         canonicalize-lgpl: use native realpath if it works
32629         * lib/canonicalize-lgpl.c (realpath): Guard with
32630         FUNC_REALPATH_WORKS.
32631         * lib/stdlib.in.h (realpath): Make declaration optional based on
32632         HAVE_REALPATH.
32633         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
32634         native realpath works.
32635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
32636         * modules/stdlib (Makefile.am): Substitute witness.
32637
32638         canonicalize, canonicalize-lgpl: use <stdlib.h>
32639         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
32640         (Include): Mention <stdlib.h>.
32641         (configure.ac): Mention functions we provide.
32642         * modules/canonicalize (configure.ac): Likewise.
32643         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
32644         realpath if canonicalize_file_name is missing.
32645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
32646         * modules/stdlib (Makefile.am): Substitute witnesses.
32647         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
32648         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
32649         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
32650         * NEWS: Document this.
32651         * doc/glibc-functions/canonicalize_file_name.texi
32652         (canonicalize_file_name): Likewise.
32653         * doc/posix-functions/realpath.texi (realpath): Likewise.
32654         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
32655
32656         test-canonicalize: consolidate into single C program
32657         * tests/test-canonicalize.sh: Delete; move setup into...
32658         * tests/test-canonicalize.c (main): ...the program, making it
32659         easier to run in debugger.  Add some tests.
32660         * modules/canonicalize-tests (Files): Remove unused file.
32661         (Depends-on): Add progname.
32662         (configure.ac, Makefile.am): Simplify.
32663
32664         test-canonicalize-lgpl: consolidate into single C program
32665         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
32666         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
32667         easier to run in debugger.  Add some tests.
32668         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
32669         (configure.ac, Makefile.am): Simplify.
32670
32671         canonicalize: avoid resolvepath
32672         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
32673         unnecessary checks.
32674         * lib/canonicalize.c (includes): Simplify.
32675         (canonicalize_file_name): Drop resolvepath implementation.
32676         * modules/canonicalize (Depends-on): Drop filenamecat.
32677
32678         canonicalize: don't lose errno
32679         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
32680         over calls to free.
32681
32682         canonicalize: simplify errno handling
32683         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
32684         assignment.
32685
32686         canonicalize, canonicalize-lgpl: update module dependencies
32687         * modules/canonicalize (Depends-on): Add extensions, lstat,
32688         pathmax, stdlib.
32689         (Files): Drop pathmax.h.
32690         (configure.ac): Adjust macro name.
32691         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
32692         lstat, stdlib, sys_stat.
32693         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
32694         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
32695         extensions.
32696         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
32697         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
32698         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
32699         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
32700         declaration, if available.
32701         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
32702         we can rely on the readlink module.
32703         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
32704         (includes): Use <unistd.h> unconditionally.
32705
32706 2009-09-17  Eric Blake  <ebb9@byu.net>
32707
32708         maint: make Include sections of modules consistent
32709         * modules/alloca: Use only header name; no need to list #include.
32710         * modules/alloca-opt: Likewise.
32711         * modules/arpa_inet: Likewise.
32712         * modules/canon-host: Likewise.
32713         * modules/configmake: Likewise.
32714         * modules/dirent: Likewise.
32715         * modules/eealloc: Likewise.
32716         * modules/environ: Likewise.
32717         * modules/fchdir: Likewise.
32718         * modules/fcntl: Likewise.
32719         * modules/fcntl-h: Likewise.
32720         * modules/gethrxtime: Likewise.
32721         * modules/gettime: Likewise.
32722         * modules/ignore-value: Likewise.
32723         * modules/inet_ntop: Likewise.
32724         * modules/inet_pton: Likewise.
32725         * modules/inttypes: Likewise.
32726         * modules/isnand-nolibm: Likewise.
32727         * modules/isnanf-nolibm: Likewise.
32728         * modules/mbchar: Likewise.
32729         * modules/mbfile: Likewise.
32730         * modules/mbiter: Likewise.
32731         * modules/mbuiter: Likewise.
32732         * modules/netdb: Likewise.
32733         * modules/netinet_in: Likewise.
32734         * modules/nproc: Likewise.
32735         * modules/pagealign_alloc: Likewise.
32736         * modules/poll: Likewise.
32737         * modules/printf-frexp: Likewise.
32738         * modules/pthread: Likewise.
32739         * modules/putenv: Likewise.
32740         * modules/random_r: Likewise.
32741         * modules/relocatable-prog: Likewise.
32742         * modules/search: Likewise.
32743         * modules/select: Likewise.
32744         * modules/selinux-h: Likewise.
32745         * modules/settime: Likewise.
32746         * modules/signal: Likewise.
32747         * modules/size_max: Likewise.
32748         * modules/socklen: Likewise.
32749         * modules/ssize_t: Likewise.
32750         * modules/stdarg: Likewise.
32751         * modules/stdbool: Likewise.
32752         * modules/stddef: Likewise.
32753         * modules/stdint: Likewise.
32754         * modules/stdio: Likewise.
32755         * modules/stdlib: Likewise.
32756         * modules/string: Likewise.
32757         * modules/strings: Likewise.
32758         * modules/sys_file: Likewise.
32759         * modules/sys_ioctl: Likewise.
32760         * modules/sys_select: Likewise.
32761         * modules/sys_socket: Likewise.
32762         * modules/sys_stat: Likewise.
32763         * modules/sys_time: Likewise.
32764         * modules/sys_times: Likewise.
32765         * modules/sys_utsname: Likewise.
32766         * modules/sys_wait: Likewise.
32767         * modules/sysexits: Likewise.
32768         * modules/time: Likewise.
32769         * modules/times: Likewise.
32770         * modules/tmpfile: Likewise.
32771         * modules/trim: Likewise.
32772         * modules/unistd: Likewise.
32773         * modules/wchar: Likewise.
32774         * modules/wctype: Likewise.
32775
32776 2009-09-17  Bruno Haible  <bruno@clisp.org>
32777
32778         Make getdate.y compile on QNX and NetBSD 5 / i386.
32779         * m4/getdate.m4 (gl_GETDATE): Conditionally define
32780         TIME_T_FITS_IN_LONG_INT.
32781         * lib/getdate.y (long_time_t): New type.
32782         (relative_time): Change type of 'seconds' field to long_time_t.
32783         (get_date): Update types of local variables. Check against overflow
32784         during conversion from long_time_t to time_t.
32785         Reported by Matt Kraai <kraai@ftbfs.org>
32786         and Hasso Tepper <hasso@netbsd.org>.
32787
32788 2009-09-17  Bruno Haible  <bruno@clisp.org>
32789
32790         * modules/COPYING: Update copyright years.
32791         * modules/README: Likeiwse.
32792         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
32793         Reported by Ian Beckwith <ianb@erislabs.net>.
32794
32795 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
32796
32797         * users.txt: Update references for gnuit package.
32798
32799 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
32800
32801         * m4/getdelim.m4: Fix typo in copyright line.
32802
32803 2009-09-17  Bruno Haible  <bruno@clisp.org>
32804
32805         * lib/atoll.c: Use the standard header with GPL copyright.
32806         * lib/argz.in.h: Likewise.
32807         * lib/glob.c: Likewise.
32808         * lib/glob-libc.h: Likewise.
32809         * lib/random_r.c: Likewise.
32810         * lib/siglist.h: Likewise.
32811         * lib/strsignal.c: Likewise.
32812         Reported by Ian Beckwith <ianb@erislabs.net>.
32813
32814 2009-09-17  Eric Blake  <ebb9@byu.net>
32815
32816         rmdir: ensure correct dependency order
32817         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
32818
32819 2009-09-17  Bruno Haible  <bruno@clisp.org>
32820
32821         Disable assertion that fails on NetBSD 5 / i386.
32822         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
32823         Reported by Sam Steingold <sds@gnu.org>
32824         and Hasso Tepper <hasso@netbsd.org>.
32825
32826 2009-09-16  Eric Blake  <ebb9@byu.net>
32827
32828         unlinkdir: port to mingw
32829         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
32830         on which no one can unlink a directory.
32831
32832         stdlib: sort witness names
32833         * modules/stdlib (Makefile.am): Sort replacements.
32834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32835         * lib/stdlib.in.h: Likewise.
32836
32837         parse-duration-tests: avoid link failure
32838         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
32839         LIBINTL.
32840         Reported by Tom G. Christensen.
32841
32842         openat-tests: ensure unlinkat behaves like rmdir
32843         * tests/test-rmdir.c (main): Factor guts...
32844         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
32845         * modules/rmdir-tests (Files): Ship new file.
32846         * modules/openat-tests: New test.
32847         * tests/test-unlinkat.c: Likewise.
32848
32849         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
32850         * modules/rmdir-errno (Status, Notice): Now obsolete.
32851
32852         rmdir: work around cygwin 1.5.x and mingw bugs
32853         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
32854         * lib/rmdir.c (rmdir): Work around it.
32855         * modules/rmdir (Status, Notice): No longer obsolete.
32856         (Files): Add dos.m4.
32857         (Depends-on): Add unistd.
32858         (configure.ac): Set witnesses.
32859         (License): Relax to LGPLv2+.
32860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
32861         * modules/unistd (Makefile.am): Substitute witnesses.
32862         * lib/unistd.in.h (rmdir): Declare replacement.
32863         * doc/posix-functions/rmdir.texi (rmdir): Document this.
32864         * modules/rmdir-tests: New tests.
32865         * tests/test-rmdir.c: Likewise.
32866
32867 2009-09-15  Eric Blake  <ebb9@byu.net>
32868
32869         fchdir: improve use of replacement functions
32870         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
32871         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
32872         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
32873         REPLACE_CLOSEDIR.
32874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
32875         * modules/sys_stat (Makefile.am): Substitute correct witness.
32876         * modules/dirent (Makefile.am): Likewise.
32877         * modules/unistd (Makefile.am): Likewise.
32878         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
32879         * lib/unistd.in.h (dup): Likewise.
32880         * lib/sys_stat.in.h (fstat): Likewise.
32881
32882         maint: ignore gnulib-tool temp files
32883         * .gitignore: Ignore files created during gnulib-tool --test.
32884
32885 2009-09-13  Jim Meyering  <meyering@redhat.com>
32886
32887         posixtm: don't reject a time that specify "60" as the number of seconds
32888         * lib/posixtm.c (posixtime): The code to reject invalid dates
32889         would also reject a time specified with the .60 suffix.
32890         But POSIX allows that, in order to accommodate leap seconds.
32891         So don't reject it.
32892         (main): Adjust tests accordingly.
32893         * modules/posixtm (Depends-on): Add stpcpy.
32894
32895 2009-09-11  Jim Meyering  <meyering@redhat.com>
32896
32897         announce-gen: include [$release_type] in emitted Subject:
32898         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
32899         e.g., [stable] in the emitted Subject: line.
32900
32901 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32902
32903         Remove obsolete macros from several modules.
32904         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
32905         obsolete Autoconf macros with their modern counterparts.
32906         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
32907         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
32908         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
32909         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
32910         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
32911         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
32913         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32914         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
32915         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
32916         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32917         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32918         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
32919         * m4/sockets.m4 (gl_SOCKETS): Likewise.
32920         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
32921         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
32922         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
32923         * m4/time_r.m4 (gl_TIME_R): Likewise.
32924         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
32925         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
32926         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32927
32928         Fix copyright header in build-aux scripts.
32929         * build-aux/git-version-gen: Fix copyright header to match GPLv3
32930         recommendation.
32931         * build-aux/ncftpput-ftp: Likewise.
32932         * build-aux/update-copyright: Likewise.
32933
32934 2009-09-09  Eric Blake  <ebb9@byu.net>
32935
32936         test-link: allow Linux choice of errno
32937         * tests/test-link.c (main): Relax test for alternate error.
32938
32939         strndup: fix improper m4 caching
32940         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
32941         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
32942         (gl_PREREQ_STRNDUP): Delete.
32943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
32944         * modules/string (Makefile.am): Substitute it.
32945         * lib/string.in.h (strndup): Modernize prototype.
32946
32947         getcwd: port to mingw
32948         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
32949         different from the POSIX assumptions made throughout the getcwd
32950         module; fortunately, the mingw getcwd does not need replacement.
32951         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
32952         * modules/getcwd-tests: New test.
32953         * tests/test-getcwd.c: Likewise.
32954
32955         link: fix platform bugs
32956         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
32957         * lib/link.c (link): Work around them.  Fix related mingw bug.
32958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
32959         * modules/unistd (Makefile.am): Substitute it.
32960         * lib/unistd.in.h (link): Declare replacement.
32961         * doc/posix-functions/link.texi (link): Document this.
32962         * modules/link (Depends-on): Add strdup-posix, sys_stat.
32963
32964         test-link: consolidate into single C program, test more cases
32965         * tests/test-link.sh: Delete.
32966         * tests/test-link.c: Test more error conditions.  Exposes bugs on
32967         at least Cygwin and Solaris.
32968         * modules/link-tests (Files): Remove unused file.
32969         (Depends-on): Add errno, sys_stat.
32970         (Makefile.am): Simplify.
32971
32972 2009-09-08  Bruno Haible  <bruno@clisp.org>
32973
32974         Work around towlower, towupper bug on mingw.
32975         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
32976         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
32977         * doc/posix-functions/towlower.texi: Mention the mingw bug.
32978         * doc/posix-functions/towupper.texi: Likewise.
32979         Reported by Eric Blake.
32980
32981 2009-09-08  Jim Meyering  <meyering@redhat.com>
32982
32983         build: don't try to run autoheader if we don't use it
32984         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
32985         is not used in configure.ac.
32986
32987 2009-09-08  Eric Blake  <ebb9@byu.net>
32988
32989         euidaccess: fix compilation error
32990         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
32991
32992         rawmemchr: relax license
32993         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
32994         okay.
32995         Reported by Jim Meyering.
32996
32997         mkfifoat: new module
32998         * modules/mkfifoat: New file.
32999         * lib/mkfifoat.c: Likewise.
33000         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
33001         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33002         * modules/sys_stat (Makefile.am): Use them.
33003         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
33004         * MODULES.html.sh (File system functions): Mention module.
33005         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33006         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33007         * modules/mkfifoat-tests: New test.
33008         * tests/test-mkfifoat.c: Likewise.
33009
33010         strchrnul: relax license
33011         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
33012         okay.
33013         Reported by Jim Meyering.
33014
33015 2009-09-08  Eric Blake  <ebb9@byu.net>
33016
33017         fstatat: fix compilation on Solaris
33018         * lib/fstatat.c (includes): Add fcntl.h.
33019         Reported by Pádraig Brady.
33020
33021 2009-09-07  Eric Blake  <ebb9@byu.net>
33022
33023         rename: modernize replacement
33024         * modules/rename (Depends-on): Add stdio.
33025         (configure.ac): Declare witness.
33026         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
33027         stdio take care of replacement.
33028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33029         * modules/stdio (Makefile.am): Substitute them.
33030         * lib/stdio.in.h (rename): Declare replacement.
33031         * lib/rename.c (includes): Allow cross-compilation to non-windows
33032         machines.
33033         * doc/posix-functions/rename.texi (rename): Improve
33034         documentation.
33035
33036         stdio: sort witness names
33037         * modules/stdio (Makefile.am): Sort replacements.
33038         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33039         * lib/stdio.in.h: Likewise.
33040
33041         getcwd: minor cleanups
33042         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
33043         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
33044
33045         openat: provide more convenience names
33046         * modules/faccessat (configure.ac): Add C witness.
33047         * lib/unistd.in.h (readlinkat): Fix typo.
33048         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
33049         convenience wrappers.
33050         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
33051         wrappers in syntax checks.
33052
33053 2009-09-06  Eric Blake  <ebb9@byu.net>
33054
33055         doc: fix comments in recent patches
33056         * lib/faccessat.c: Mention correct function.
33057         * lib/fchmodat.c: Likewise.
33058         * lib/fchownat.c: Likewise.
33059         * lib/symlinkat.c: Likewise.
33060         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
33061         constants.
33062
33063         faccessat, symlinkat: continue cleanup of previous patch
33064         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
33065         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
33066         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
33067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
33068         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
33069         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
33070         set.
33071
33072 2009-09-06  Bruno Haible  <bruno@clisp.org>
33073
33074         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
33075         (fstatat): Declare if GNULIB_FSTATAT is set.
33076         (mkdirat): Declare if GNULIB_MKDIRAT is set.
33077         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
33078         (unlinkat): Declare if GNULIB_UNLINKAT is set.
33079         * modules/fcntl-h (Files): Remove m4/openat.m4.
33080         * modules/sys_stat (Files): Remove m4/openat.m4.
33081         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
33082         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
33083         * modules/unistd (Files): Remove m4/openat.m4.
33084         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
33085         GNULIB_OPENAT.
33086         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
33087         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
33088         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
33089         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
33090         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
33091         gl_OPENAT_DEFAULTS.
33092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
33093         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
33094         Don't require gl_OPENAT_DEFAULTS.
33095         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
33096         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
33097         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
33098         (gl_OPENAT_DEFAULTS): Remove macro.
33099
33100 2009-09-06  Bruno Haible  <bruno@clisp.org>
33101
33102         * modules/openat (configure.ac): Remove unneeded witness.
33103
33104 2009-09-06  Bruno Haible  <bruno@clisp.org>
33105
33106         Set errno to ENOSYS when a function is entirely unsupported.
33107         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
33108         EOPNOTSUPP.
33109         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
33110         * modules/chown (Depends-on): Remove errno.
33111
33112 2009-09-06  Bruno Haible  <bruno@clisp.org>
33113
33114         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
33115
33116 2009-09-06  Bruno Haible  <bruno@clisp.org>
33117
33118         * lib/sys_stat.in.h: Fix preprocessor command indentation.
33119
33120 2009-09-06  Ben Pfaff  <blp@gnu.org>
33121             Bruno Haible  <bruno@clisp.org>
33122
33123         Work around a glibc bug in strtok_r.
33124         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
33125         Undefine if UNDEFINE_STRTOK_R is set.
33126         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
33127         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33128         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
33129         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
33130         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
33131         UNDEFINE_STRTOK_R.
33132         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
33133
33134 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33135
33136         exclude: minor fix
33137         * lib/exclude.c: Include wctype.h
33138
33139 2009-09-06  Akim Demaille  <demaille@gostai.com>
33140
33141         bootstrap: improve error message
33142         * build-aux/bootstrap (find_tool): Upon failure, report the list
33143         of candidates.
33144         Honor the initial value of the envvar.
33145
33146 2009-09-05  Eric Blake  <ebb9@byu.net>
33147
33148         symlinkat: new module
33149         * modules/symlinkat: New file.
33150         * lib/symlinkat.c: Likewise.
33151         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
33152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
33153         * modules/unistd (Makefile.am): Use them.
33154         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
33155         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
33156         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
33157         * MODULES.html.sh (File system functions): Mention module.
33158         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33159         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33160         * modules/symlinkat-tests: New test.
33161         * tests/test-symlinkat.c: Likewise.
33162
33163         test-openat-safer: add more checks
33164         * tests/test-openat-safer.c (main): Check more code paths.
33165
33166 2009-09-05  Jim Meyering  <meyering@redhat.com>
33167
33168         syntax-check: detect unnecessary inclusion of openat.h
33169         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
33170
33171 2009-09-05  Bruno Haible  <bruno@clisp.org>
33172
33173         Support towlower, towupper.
33174         * doc/posix-functions/towlower.texi: Mention module wctype.
33175         * doc/posix-functions/towupper.texi: Likewise.
33176         * lib/wctype.in.h (towlower, towupper): New functions.
33177         * tests/test-wctype.c: Include stdio.h, stdlib.h.
33178         (ASSERT): New macro.
33179         (e): New variable.
33180         (main): Test also towlower, towupper. Test WEOF argument.
33181         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33182
33183 2009-09-05  Bruno Haible  <bruno@clisp.org>
33184
33185         Fix conversion behaviour when the input is invalid.
33186         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
33187         mark occurring in first pass of indirect conversion.
33188         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
33189         input.
33190         Found by clang's static analyzer.
33191
33192 2009-09-05  Bruno Haible  <bruno@clisp.org>
33193
33194         * tests/test-striconveh.c (main): Test indirect conversion on platforms
33195         where direct conversion is possible.
33196
33197 2009-09-04  Eric Blake  <ebb9@byu.net>
33198
33199         openat: fail with ENOENT on empty name
33200         * lib/openat-proc.c (openat_proc_name): Special-case the empty
33201         buffer.
33202
33203         link-follow: fix logic bug in prior patch
33204         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
33205         reversed sense of yes and no in prior patch.  Avoid confusing
33206         compilation failure with desired semantics.
33207
33208         link-follow: accomodate mingw and cross-compilation
33209         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
33210         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
33211         cross-compilation results to -1, to make linkat easier to
33212         implement when cross-compiling.  Trivially support mingw.
33213         * modules/link-follow (configure.ac): Call new name.
33214         * NEWS: Mention this.
33215
33216 2009-09-03  Eric Blake  <ebb9@byu.net>
33217
33218         faccessat: compile replacement
33219         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
33220         needed.
33221
33222         fts: fix compilation error
33223         * lib/fts.c (includes): Re-add "openat.h", for
33224         openat_needs_fchdir.
33225
33226         faccessat: new module
33227         * modules/faccessat: New file.
33228         * lib/faccessat.c: Likewise.
33229         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
33230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33231         * modules/unistd (Makefile.am): Use it.
33232         * lib/unistd.in.h (faccessat): Declare it.
33233         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
33234         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
33235         * MODULES.html.sh (File system functions): Mention it.
33236         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
33237         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33238
33239         euidaccess: prefer POSIX over non-standard implementation
33240         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
33241         * lib/euidaccess.c (euidaccess): Use it if available.
33242
33243         openat: make template easier to use
33244         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
33245         AT_FUNC_F2 to be undefined.
33246         (VALIDATE_FLAG): New macro; use it to reject bad flags.
33247         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
33248         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
33249         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
33250         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
33251         Likewise.
33252         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
33253         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
33254         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
33255         Likewise.
33256
33257         openat: declare in POSIX headers
33258         * NEWS: Mention this.
33259         * modules/openat (configure.ac): Declare witnesses.
33260         (Depends-on): Add fcntl-h, sys_stat, unistd.
33261         (Include): Mention correct headers.
33262         * modules/fcntl-h (Depends-on): Add link-warning.
33263         (Files): Add openat.m4.
33264         (Makefile.am): Substitute witnesses.
33265         * modules/sys_stat (Files, Makefile.am): Likewise.
33266         * modules/unistd (Files, Makefile.am): Likewise.
33267         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
33268         (gl_OPENAT_DEFAULTS): New macro.
33269         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
33270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
33271         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
33272         (SYS_STAT_H): Remove unused variable.
33273         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
33274         * lib/fcntl--.h (includes): Remove unneeded header.
33275         * lib/openat-safer.c (includes): Likewise.
33276         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
33277         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
33278         appropriate headers.
33279         (__OPENAT_PREFIX): Delete.
33280         * lib/fcntl.in.h (openat): Provide declaration.
33281         (AT_FDCWD): Fix Solaris bug.
33282         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
33283         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
33284         * lib/fchmodat.c (includes):  Adjust to find declaration.
33285         * lib/fchownat.c (includes): Likewise.
33286         * lib/mkdirat.c (includes): Likewise.
33287         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
33288         still visible.
33289
33290 2009-09-02  Eric Blake  <ebb9@byu.net>
33291
33292         errno: use consistently
33293         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
33294         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
33295         * lib/canonicalize.c (ELOOP): Likewise.
33296         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
33297         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
33298         * lib/lchown.c (EOPNOTSUPP): Likewise.
33299         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
33300         * lib/savewd.c (ESTALE): Likewise.
33301         * lib/settime.c (ENOSYS): Likewise.
33302         * lib/utimens.c (ENOSYS): Likewise.
33303         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
33304         * lib/chdir-safer.c (ELOOP): Likewise.
33305         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
33306         * modules/c-stack (Depends-on): Add errno.
33307         * modules/canonicalize (Depends-on): Likewise.
33308         * modules/chdir-safer (Depends-on): Likewise.
33309         * modules/fdopendir (Depends-on): Likewise.
33310         * modules/inet_ntop (Depends-on): Likewise.
33311         * modules/inet_pton (Depends-on): Likewise.
33312         * modules/lchown (Depends-on): Likewise.
33313         * modules/openat (Depends-on): Likewise.
33314         * modules/savewd (Depends-on): Likewise.
33315         * modules/settime (Depends-on): Likewise.
33316         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
33317
33318         fts: avoid leaking fds
33319         * modules/fts (Depends-on): Add cloexec.
33320         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
33321         flag.
33322
33323         fts: make directory fds more robust
33324         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
33325         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
33326
33327         backupfile, chdir-long, fts, savedir: make safer
33328         * lib/backupfile.c (includes): Use "dirent--.h", since
33329         numbered_backup can write to stderr during readdir.
33330         * lib/savedir.c (includes): Likewise.
33331         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
33332         emulation can write to stderr on failure.
33333         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
33334         * lib/getcwd.c: Document why opendir_safer is unused.
33335         * lib/glob.c: Likewise.
33336         * lib/scandir.c: Likewise.
33337         * lib/openat-proc.c: Likewise, for open_safer.
33338         * modules/backupfile (Depends-on): Add dirent-safer.
33339         * modules/savedir (Depends-on): Likewise.
33340         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
33341         * modules/chdir-long (Depends-on): Add openat-safer.
33342
33343         openat-safer: new module
33344         * modules/openat-safer: New file.
33345         * lib/openat-safer.c: Likewise.
33346         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
33347         * lib/fcntl-safer.h (openat_safer): Declare.
33348         * lib/fcntl--.h (openat): Override.
33349         * MODULES.html.sh (File descriptor based I/O): Mention it.
33350         * lib/openat.h: Add double-inclusion guards.
33351         * lib/openat.c (includes): Only include "fcntl-safer.h", not
33352         "fcntl--.h", so we can implement openat.
33353         * modules/openat-safer-tests: New test.
33354         * tests/test-openat-safer.c: New file.
33355
33356         dirent-safer: new module
33357         * modules/dirent-safer: New file.
33358         * lib/dirent--.h: Likewise.
33359         * lib/dirent-safer.h: Likewise.
33360         * lib/opendir-safer.c: Likewise.
33361         * m4/dirent-safer.m4: Likewise.
33362         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
33363         * modules/dirent-safer-tests: New test.
33364         * tests/test-dirent-safer.c: New file.
33365         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
33366
33367         fdopendir: optimize on mingw
33368         * lib/unistd.in.h (_gl_directory_name): New prototype.
33369         * lib/fchdir.c (_gl_directory_name): Implement it.
33370         (fchdir): Use it to simplify implementation.
33371         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
33372         fchdir, when available, to avoid calling [f]chdir().
33373
33374         fdopendir: split into its own module
33375         * lib/openat.c (fdopendir): Move...
33376         * lib/fdopendir.c: ...into new file.
33377         * modules/fdopendir: New module.
33378         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
33379         * modules/openat (Depends-on): Add fdopendir.
33380         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
33381         fdopendir here.
33382         * modules/savedir (Depends-on): Only need fdopendir, not full
33383         openat.
33384         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
33385         * lib/openat.h (fdopendir): Drop prototype.
33386         * lib/dirent.in.h (fdopendir): Provide prototype.
33387         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
33388         * modules/dirent (Makefile.am): Substitute them.
33389         * MODULES.html.sh (File system functions): Mention it.
33390         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
33391         * modules/fdopendir-tests: New file.
33392         * tests/test-fdopendir.c: Likewise.
33393
33394         fchdir: use more consistent macro convention
33395         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
33396         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
33397         REPLACE_FCHDIR, rather than relying on config.h macros.
33398         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
33399         inside a single make-time REPLACE_FCHDIR block, rather than using
33400         the config.h FCHDIR_REPLACEMENT.
33401         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
33402         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
33403         Manage fstat replacement.
33404         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
33405         REPLACE_FCHDIR.
33406         * modules/sys_stat (Files): Add m4/unistd_h.m4.
33407         (Makefile.am): Substitute REPLACE_FCHDIR.
33408         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
33409         FCHDIR_REPLACEMENT.
33410         * lib/dup-safer.c (dup_safer): Likewise.
33411         * lib/dup2.c (rpl_dup2): Likewise.
33412         * lib/dup3.c (rpl_dup3): Likewise.
33413         * lib/open.c (rpl_open): Likewise.
33414
33415         fchdir: simplify error handling, and support dup3
33416         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
33417         stdbool, malloc-posix, realloc-posix.
33418         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
33419         (ensure_dirs_slot): Return false on allocation failure.
33420         (rpl_dup2): Delete.
33421         (_gl_register_dup): New function.
33422         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
33423         (_gl_register_fd): Close fd on allocation failure.
33424         * lib/fcntl.in.h (_gl_register_fd): Update signature.
33425         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
33426         prototype.
33427         (rpl_dup2_fchdir): Delete prototype.
33428         * lib/open.c (open): Update caller.
33429         * lib/dup2.c (dup2): Track fchdir metadata.
33430         * lib/dup3.c (dup3): Likewise.
33431         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
33432         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
33433
33434 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33435
33436         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
33437         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
33438         don't pass arguments to AC_OUTPUT.
33439
33440 2009-09-02  Bruno Haible  <bruno@clisp.org>
33441
33442         * modules/mkdtemp (License): Relicense under LGPLv2+.
33443         Reported by Paolo Bonzini.
33444
33445 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33446
33447         Replace uses of obsolete autoconf macros in Jim's modules.
33448         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
33449         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
33450         can evoke a warning from autoconf when run with -Wobsolete
33451         enabled.  They were declared obsolete for good reasons (see
33452         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
33453         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
33454         should not continue using the deprecated macros.
33455         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
33456         obsolete Autoconf macros with modern counterparts.
33457         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
33458         * m4/dos.m4 (gl_AC_DOS): Likewise.
33459         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
33460         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
33461         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
33462         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
33463         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
33464         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
33465         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
33466         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
33467         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
33468         Likewise.
33469         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
33470         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
33471         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
33472         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
33473         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
33474         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
33475
33476 2009-09-01  Eric Blake  <ebb9@byu.net>
33477
33478         fchdir: fix off-by-one bug in previous patch
33479         * lib/fchdir.c (rpl_fstat): Use correct bounds.
33480         (_gl_unregister_fd): Delete useless if.
33481
33482 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
33483
33484         maint.mk: sort the list of syntax-check rules
33485         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
33486         easier to get a sense of progress when the rules are run sequentially
33487         and take a long time.
33488
33489 2009-09-01  Simon Josefsson  <simon@josefsson.org>
33490
33491         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
33492         * modules/netinet_in: Likewise.
33493         * modules/sys_file: Likewise.
33494         * modules/sys_ioctl: Likewise.
33495         * modules/sys_select: Likewise.
33496         * modules/sys_socket: Likewise.
33497         * modules/sys_stat: Likewise.
33498         * modules/sys_time: Likewise.
33499         * modules/sys_times: Likewise.
33500         * modules/sys_utsname: Likewise.
33501         * modules/sys_wait: Likewise.
33502
33503 2009-09-01  Jim Meyering  <meyering@redhat.com>
33504
33505         fts: help ensure that return values are not ignored
33506         * lib/fts_.h (__GNUC_PREREQ): Define.
33507         (__attribute_warn_unused_result__): Define.
33508         (fts_children, fts_close, fts_open, fts_read): Declare with
33509         __attribute_warn_unused_result__.
33510
33511         fts: fts_close now fails also when closing a dir file descriptor fails
33512         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
33513         and propagate to caller, along with errno.
33514
33515         announce-gen: correct formatting in --help output
33516         * build-aux/announce-gen (usage): Move the one-line description in
33517         --help output "up", to where it belongs, just after Usage:.
33518
33519 2009-08-31  Eric Blake  <ebb9@byu.net>
33520
33521         fchdir: port to mingw
33522         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
33523         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
33524         opened, then use a substitute.
33525         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
33526         replacement.
33527         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
33528         (_gl_register_fd): No need to check stat if open already filters
33529         all directories.
33530         (fchdir): Fix error condition to match POSIX.
33531         * modules/fchdir (Depends-on): Add sys_stat.
33532         * doc/posix-functions/open.texi (open): Document the limitation.
33533         * modules/fchdir-tests: New file.
33534         * tests/test-fchdir.c: Likewise.
33535
33536         canonicalize: allow cross-testing from cygwin to mingw
33537         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
33538         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
33539         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
33540         Likewise.
33541         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
33542         target does not support symlinks.
33543         * tests/test-canonicalize-lgpl.sh: Likewise.
33544
33545         chown: avoid compilation warning on mingw
33546         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
33547         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
33548         mingw.
33549         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
33550         * modules/chown (Depends-on): Add errno.
33551
33552 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
33553
33554         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
33555         command.
33556
33557 2009-08-31  Jim Meyering  <meyering@redhat.com>
33558
33559         canonicalize: remove useless initialization
33560         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
33561         initialization of local, "end".
33562
33563 2009-08-30  Bruno Haible  <bruno@clisp.org>
33564
33565         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
33566         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
33567         ENOSYS.
33568
33569 2009-08-30  Bruno Haible  <bruno@clisp.org>
33570
33571         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
33572         /usr/xpg4/bin/tr when it exists.
33573         * tests/test-pipe-filter-gi1.sh: Likewise.
33574
33575 2009-08-30  Bruno Haible  <bruno@clisp.org>
33576
33577         Work around deficient /usr/bin/id program on Solaris.
33578         * tests/test-file-has-acl.sh (ID): New variable.
33579         * tests/test-set-mode-acl.sh (ID): Likewise.
33580         * tests/test-copy-acl.sh (ID): Likewise.
33581         * tests/test-copy-file.sh (ID): Likewise.
33582
33583 2009-08-30  Bruno Haible  <bruno@clisp.org>
33584
33585         New module 'xstriconveh'.
33586         * lib/xstriconveh.h: New file.
33587         * lib/xstriconveh.c: New file.
33588         * modules/xstriconveh: New file.
33589
33590 2009-08-30  Bruno Haible  <bruno@clisp.org>
33591
33592         Make it easier to use mem_cd_iconveh.
33593         * lib/striconveh.h (iconveh_t): New type.
33594         (iconveh_open, iconveh_close): New declarations.
33595         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
33596         with a single 'const iconveh_t *' argument.
33597         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
33598         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
33599         with a single 'const iconveh_t *' argument.
33600         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
33601         * tests/test-striconveh.c (main): Update.
33602         * NEWS: Mention the change.
33603
33604 2009-08-30  Bruno Haible  <bruno@clisp.org>
33605
33606         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
33607         problem.
33608
33609 2009-08-30  Bruno Haible  <bruno@clisp.org>
33610
33611         Work around iconv_open problem on Solaris.
33612         * lib/iconv_open-solaris.gperf: New file.
33613         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
33614         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
33615         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
33616         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
33617         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
33618         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
33619
33620 2009-08-29  Jim Meyering  <meyering@redhat.com>
33621
33622         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
33623         * top/maint.mk (cvs-check): Remove target; it was just an alias
33624         to the better-named vc-diff-check.
33625         (maintainer-distcheck): Remove rule.  It was used only from
33626         the (alpha/beta/major) target, and all of its commands but one
33627         were coreutils-specific.
33628         (vc-dist): Remove rule.
33629         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
33630         Run vc-diff-check, not vc-dist.
33631         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
33632
33633 2009-08-27  Bruno Haible  <bruno@clisp.org>
33634
33635         * tests/test-bitrotate.c (main): Remove test that uses a shift count
33636         of 0.
33637
33638 2009-08-27  Bruno Haible  <bruno@clisp.org>
33639
33640         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
33641         compilers.
33642         * doc/func.texi: Document the SunPRO C bug.
33643
33644 2009-08-27  Bruno Haible  <bruno@clisp.org>
33645
33646         Fix link error on Solaris.
33647         * tests/test-parse-duration.c (xstrdup): Remove function.
33648
33649 2009-08-26  Pádraig Brady  <P@draigbrady.com>
33650
33651         ignore-value: handle pointer types, too
33652         * lib/ignore-value.h (__attribute__): Remove definition.
33653         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
33654         of a more concise and more-often effective "(void) i" statement.
33655         (ignore_ptr): New function to suppress warnings from functions that
33656         return pointers, and to make it explicit that one function doesn't
33657         handle all cases.
33658
33659 2009-08-25  Bruno Haible  <bruno@clisp.org>
33660
33661         dup2: work around a Linux bug.
33662         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
33663         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
33664         * doc/posix-functions/dup2.texi: Mention the Linux bug.
33665         Reported by Simon Josefsson.
33666
33667 2009-08-25  Jim Meyering  <meyering@redhat.com>
33668
33669         libguestfs uses gnulib
33670         * users.txt: Add libguestfs.
33671
33672 2009-08-24  Eric Blake  <ebb9@byu.net>
33673
33674         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
33675         * lib/pipe2.c (includes): Add binary-io.h.
33676         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
33677
33678 2009-08-24  Bruno Haible  <bruno@clisp.org>
33679
33680         Tolerate declared but missing accept4 syscall.
33681         * lib/accept4.c (accept4): Invoke original accept4 function first, if
33682         available.
33683         * lib/sys_socket.in.h (accept4): If the function is already present,
33684         override it.
33685         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
33686         * modules/accept4 (Makefile.am): Compile accept4.c always.
33687         Reported by Paolo Bonzini and Eric Blake.
33688
33689 2009-08-23  Bruno Haible  <bruno@clisp.org>
33690
33691         New module 'accept4'.
33692         * lib/sys_socket.in.h (accept4): New declaration.
33693         * lib/accept4.c: New file.
33694         * m4/accept4.m4: New file.
33695         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
33696         GNULIB_ACCEPT4, HAVE_ACCEPT4.
33697         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
33698         HAVE_ACCEPT4.
33699         * modules/accept4: New file.
33700         * doc/glibc-functions/accept4.texi: Mention the new module.
33701
33702 2009-08-24  Jim Meyering  <meyering@redhat.com>
33703
33704         progname: also set global program_invocation_name, when possible
33705         Before this change, a libtool-enabled program that calls glibc's
33706         error function would report the program name as
33707         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
33708         * modules/progname (configure.ac): Check for a declaration of
33709         program_invocation_name.
33710         * lib/progname.c:  Include <errno.h>.
33711         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
33712         Set program_invocation_name.
33713
33714 2009-08-23  Bruno Haible  <bruno@clisp.org>
33715
33716         * lib/dup3.c: Include <string.h>.
33717
33718 2009-08-23  Bruno Haible  <bruno@clisp.org>
33719
33720         * lib/dup3.c (dup3): Test only once whether the system actually exists.
33721         * lib/pipe2.c (pipe2): Likewise.
33722         Suggested by Eric Blake.
33723
33724 2009-08-23  Bruno Haible  <bruno@clisp.org>
33725
33726         Tolerate declared but missing dup3 syscall.
33727         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
33728         * lib/unistd.in.h (dup3): If the function is already present,
33729         override it.
33730         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
33731         * modules/dup3 (Makefile.am): Compile dup3.c always.
33732         Reported by Paolo Bonzini.
33733
33734 2009-08-23  Bruno Haible  <bruno@clisp.org>
33735
33736         Tolerate declared but missing pipe2 syscall.
33737         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
33738         available.
33739         * lib/unistd.in.h (pipe2): If the function is already present,
33740         override it.
33741         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
33742         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
33743         Reported by Paolo Bonzini.
33744
33745 2009-08-23  Bruno Haible  <bruno@clisp.org>
33746
33747         * lib/pipe2.c (pipe2): Move #ifs inside function.
33748
33749 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
33750
33751         quotearg: document limitations of quote_these_too
33752         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
33753         those limitations are created.
33754         * lib/quotearg.h (set_char_quoting): Document that digits and
33755         letters that are special after backslash are not permitted.
33756         (quotearg_char): Cross-reference set_char_quoting documentation.
33757
33758 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
33759
33760         quotearg: implement custom_quoting_style
33761         * lib/quotearg.c: (struct quoting_options): Add left_quote and
33762         right_quote fields.
33763         (set_custom_quoting): New public function.
33764         (quotearg_buffer_restyled): Add left_quote and right_quote
33765         arguments, handle them very much like locale quoting, and update
33766         all uses.
33767         (quotearg_n_custom): New public function.
33768         (quotearg_n_custom_mem): New public function.
33769         (quotearg_custom): New public function.
33770         (quotearg_custom_mem): New public function.
33771         * lib/quotearg.h: Prototype and document new public functions.
33772         (enum quoting_style): For escape_quoting_style and
33773         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
33774         ignored even though they're otherwise like c_quoting_style.
33775         Add custom_quoting_style member and document with comparison to
33776         clocale_quoting_style.
33777         * tests/test-quotearg.c (custom_quotes): New array.
33778         (custom_results): New array.
33779         (main): Extend to test custom quoting.
33780
33781 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
33782
33783         quotearg: fix right quote escaping when it's in quote_these_too
33784         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
33785         quote, be sure to prepend only one backslash.
33786         * tests/test-quotearg.c (use_quote_double_quotes): New function.
33787         (main): Test it.
33788
33789 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
33790
33791         quotearg-tests: test escaping of embedded locale quotes
33792         * tests/test-quotearg.c (struct result_strings): Add member for
33793         new input.
33794         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
33795         (inputs): Add new input.
33796         (results_g): Add expected results.
33797         (flag_results): Likewise.
33798         (locale_results): Likewise.
33799         (compare_strings): Check those.
33800
33801 2009-08-23  Bruno Haible  <bruno@clisp.org>
33802
33803         Tests for module 'dup3'.
33804         * modules/dup3-tests: New file.
33805         * tests/test-dup3.c: New file.
33806
33807         New module 'dup3'.
33808         * lib/unistd.in.h (dup3): New declaration.
33809         * lib/dup3.c: New file.
33810         * m4/dup3.m4: New file.
33811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
33812         HAVE_DUP3.
33813         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
33814         * modules/dup3: New file.
33815         * doc/glibc-functions/dup3.texi: Mention the new module.
33816
33817 2009-08-23  Bruno Haible  <bruno@clisp.org>
33818
33819         Tweak the dup2 test.
33820         * tests/test-dup2.c (main): Create the test file empty. Verify that an
33821         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
33822         the test file is still empty. Fix argument order of lseek.
33823
33824 2009-08-23  Bruno Haible  <bruno@clisp.org>
33825
33826         Avoid test link errors when the modules getopt-gnu, gettext are used.
33827         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
33828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33829
33830 2009-08-23  Bruno Haible  <bruno@clisp.org>
33831
33832         Fix getdtablesize() on mingw.
33833         * lib/getdtablesize.c (getdtablesize): Implement differently.
33834         * lib/unistd.in.h (getdtablesize): Improve comment.
33835
33836 2009-08-23  Bruno Haible  <bruno@clisp.org>
33837
33838         New module 'mkostemp'.
33839         Based on Ulrich Drepper's 2007-08-10 change in glibc.
33840         * lib/stdlib.in.h (mksotemp): New declaration.
33841         * lib/mkostemp.c: New file, from glibc with modifications.
33842         * lib/tempname.h (GT_FILE): Remove outdated comment.
33843         (gen_tempname): Add flags argument.
33844         * lib/tempname.c (__GT_BIGFILE): Remove macro.
33845         (__GT_FILE): Map to 1.
33846         (small_open, large_open): Remove macros.
33847         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
33848         * lib/mkstemp.c (mkstemp): Update.
33849         * lib/mkdtemp.c (mkdtemp): Likewise.
33850         * m4/mkostemp.m4: New file.
33851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
33852         HAVE_MKOSTEMP.
33853         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
33854         HAVE_MKOSTEMP.
33855         * modules/mkostemp: New file, based on modules/mkstemp.
33856         * doc/glibc-functions/mkostemp.texi: Mention the new module.
33857         * NEWS: Mention the change.
33858
33859 2009-08-23  Bruno Haible  <bruno@clisp.org>
33860
33861         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
33862         Reported by Eric Blake.
33863
33864 2009-08-23  Bruno Haible  <bruno@clisp.org>
33865
33866         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
33867         Reported by Eric Blake.
33868
33869 2009-08-23  Bruno Haible  <bruno@clisp.org>
33870
33871         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
33872         * modules/pipe2 (Depends-on): Likewise.
33873
33874 2009-08-23  Eric Blake  <ebb9@byu.net>
33875
33876         fcntl-h: add O_TTY_INIT support
33877         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
33878         * tests/test-fcntl-h.c (o): Test it.
33879         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33880
33881         fcntl-h: rename from fcntl, in preparation for fcntl(2)
33882         * modules/fcntl: Move <fcntl.h> header replacement...
33883         * modules/fcntl-h: ...to new name, so as not to collide with
33884         like-named function.
33885         * tests/test-fcntl.c: Rename...
33886         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
33887         * modules/fcntl-tests: Rename...
33888         * modules/fcntl-h-tests: ...to this.  Update test file name.
33889         * modules/chdir-long (Depends-on): Update clients.
33890         * modules/chdir-safer (Depends-on): Likewise.
33891         * modules/fcntl-safer (Depends-on): Likewise.
33892         * modules/fts (Depends-on): Likewise.
33893         * modules/mkancesdirs (Depends-on): Likewise.
33894         * modules/mkdir-p (Depends-on): Likewise.
33895         * modules/open (Depends-on): Likewise.
33896         * modules/savewd (Depends-on): Likewise.
33897         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
33898         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33899
33900 2009-08-22  Bruno Haible  <bruno@clisp.org>
33901
33902         * modules/binary-io (License): Relicense under LGPL.
33903         * modules/pipe2 (License): Likewise.
33904
33905 2009-08-22  Bruno Haible  <bruno@clisp.org>
33906
33907         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
33908         return value.
33909         * lib/pipe-filter-gi.c (filter_init): Likewise.
33910         Reported by Eric Blake.
33911
33912 2009-08-22  Bruno Haible  <bruno@clisp.org>
33913
33914         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
33915         * modules/pipe (Depends-on): Add pipe2.
33916
33917 2009-08-22  Bruno Haible  <bruno@clisp.org>
33918
33919         Tests for module 'pipe2'.
33920         * modules/pipe2-tests: New file.
33921         * tests/test-pipe2.c: New file.
33922
33923         New module 'pipe2'.
33924         * lib/unistd.in.h (pipe2): New declaration.
33925         * lib/pipe2.c: New file.
33926         * m4/pipe2.m4: New file.
33927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
33928         HAVE_PIPE2.
33929         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
33930         * modules/pipe2: New file.
33931         * doc/glibc-functions/pipe2.texi: Mention the new module.
33932
33933 2009-08-22  Bruno Haible  <bruno@clisp.org>
33934
33935         Reference some new glibc functions.
33936         * doc/glibc-functions/accept4.texi: New file.
33937         * doc/glibc-functions/dup3.texi: New file.
33938         * doc/glibc-functions/mkostemp.texi: New file.
33939         * doc/glibc-functions/pipe2.texi: New file.
33940         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
33941         (Glibc sys/socket.h): Refer to accept4.
33942         (Glibc unistd.h): Refer to dup3, pipe2.
33943         Reported by Eric Blake.
33944
33945 2009-08-22  Jim Meyering  <meyering@redhat.com>
33946             Bruno Haible  <bruno@clisp.org>
33947
33948         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
33949         This makes it so packages using automake-1.11's silent-rules option
33950         can print e.g., a single "GEN    configmake.h" line, rather than
33951         the 30+ statements that perform the job.  If you want to see the
33952         actual commands, you can still run "make V=1".
33953         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
33954         so that make output is abbreviated when those variables are defined
33955         appropriately.
33956         * modules/argz: Likewise.
33957         * modules/arpa_inet: Likewise.
33958         * modules/byteswap: Likewise.
33959         * modules/configmake: Likewise.
33960         * modules/dirent: Likewise.
33961         * modules/errno: Likewise.
33962         * modules/fcntl: Likewise.
33963         * modules/float: Likewise.
33964         * modules/fnmatch: Likewise.
33965         * modules/getopt-posix: Likewise.
33966         * modules/glob: Likewise.
33967         * modules/iconv_open: Likewise.
33968         * modules/inttypes: Likewise.
33969         * modules/localcharset: Likewise.
33970         * modules/locale: Likewise.
33971         * modules/math: Likewise.
33972         * modules/netdb: Likewise.
33973         * modules/netinet_in: Likewise.
33974         * modules/poll: Likewise.
33975         * modules/posix_spawnp-tests: Likewise.
33976         * modules/sched: Likewise.
33977         * modules/search: Likewise.
33978         * modules/selinux-h: Likewise.
33979         * modules/signal: Likewise.
33980         * modules/spawn: Likewise.
33981         * modules/stdarg: Likewise.
33982         * modules/stdbool: Likewise.
33983         * modules/stddef: Likewise.
33984         * modules/stdint: Likewise.
33985         * modules/stdio: Likewise.
33986         * modules/stdlib: Likewise.
33987         * modules/string: Likewise.
33988         * modules/strings: Likewise.
33989         * modules/sys_file: Likewise.
33990         * modules/sys_ioctl: Likewise.
33991         * modules/sys_select: Likewise.
33992         * modules/sys_socket: Likewise.
33993         * modules/sys_stat: Likewise.
33994         * modules/sys_time: Likewise.
33995         * modules/sys_times: Likewise.
33996         * modules/sys_utsname: Likewise.
33997         * modules/sys_wait: Likewise.
33998         * modules/sysexits: Likewise.
33999         * modules/time: Likewise.
34000         * modules/unistd: Likewise.
34001         * modules/wchar: Likewise.
34002         * modules/wctype: Likewise.
34003
34004 2009-08-22  Jim Meyering  <meyering@redhat.com>
34005
34006         announce-gen: detect write failure
34007         * build-aux/announce-gen: Add Coda at end.
34008         Remove equivalent-but-more-verbose block at top.
34009
34010 2009-08-19  Akim Demaille  <demaille@gostai.com>
34011
34012         bootstrap: --help to stdout.
34013         * bootstrap (usage): Don't send --help to stderr.
34014         Use a here doc instead of a long string.
34015
34016 2009-08-21  Eric Blake  <ebb9@byu.net>
34017
34018         test-popen-safer: split from test-popen
34019         * tests/test-popen.c (main): Move...
34020         * tests/test-popen.h: ...into new file.
34021         * tests/test-popen-safer2.c: New file.
34022         * modules/popen-tests (Files): Add test-popen.h.
34023         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
34024         Suggested by Bruno Haible.
34025
34026         test-fcntl-safer: split from test-open
34027         * tests/test-open.c (main): Move...
34028         * tests/test-open.h: ...into new file.
34029         * tests/test-fcntl-safer.c: New file.
34030         * modules/open-tests (Files): Add test-open.h.
34031         * modules/fcntl-safer-tests: New file.
34032         Suggested by Bruno Haible.
34033
34034         test-fopen-safer: split from test-fopen
34035         * tests/test-fopen.c (main): Move...
34036         * tests/test-fopen.h: ...into new file.
34037         * tests/test-fopen-safer.c: New file.
34038         * modules/fopen-tests (Files): Add test-fopen.h.
34039         * modules/fopen-safer-tests: New file.
34040         Suggested by Bruno Haible.
34041
34042 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
34043
34044         popen-safer: test O_CLOEXEC at run-time.
34045         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
34046
34047 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
34048
34049         fcntl: move more flags to the header
34050         * lib/cloexec.c: Do not define FD_CLOEXEC here.
34051         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
34052         * lib/fcntl.in.h: Do both things here.
34053
34054 2009-08-21  Jim Meyering  <meyering@redhat.com>
34055
34056         consistently remove $@-t before redirecting to it
34057         * modules/argz: Remove $@-t and $@ before redirecting to the former.
34058         * modules/alloca-opt: Likewise.
34059         * modules/byteswap: Likewise.
34060         * modules/fnmatch: Likewise.
34061         * modules/getopt-posix: Likewise.
34062         * modules/glob: Likewise.
34063         * modules/poll: Likewise.
34064         * modules/posix_spawnp-tests: Likewise.
34065         * modules/sys_socket: Likewise.
34066         * modules/sysexits: Likewise.
34067
34068 2009-08-21  Eric Blake  <ebb9@byu.net>
34069
34070         popen: simplify access to original popen
34071         * lib/popen.c (rpl_popen): No need to worry about popen being a
34072         macro.
34073         Reported by Bruno Haible.
34074
34075 2009-08-20  Eric Blake  <ebb9@byu.net>
34076
34077         build: avoid some compiler warnings
34078         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
34079         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
34080         type.
34081         (new_exclude_segment, excluded_file_pattern_p)
34082         (excluded_file_name_p): Reduce scope.
34083         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
34084         old-style declaration.
34085
34086 2009-08-20  Simon Josefsson  <simon@josefsson.org>
34087
34088         * tests/test-exclude1.sh: Handle Windows EOL.
34089         * tests/test-exclude2.sh: Likewise.
34090         * tests/test-exclude3.sh: Likewise.
34091         * tests/test-exclude4.sh: Likewise.
34092         * tests/test-exclude5.sh: Likewise.
34093         * tests/test-exclude6.sh: Likewise.
34094         * tests/test-exclude7.sh: Likewise.
34095
34096 2009-08-19  Akim Demaille  <demaille@gostai.com>
34097
34098         bootstrap: find sha1sum when named gsha1sum.
34099         * bootstrap (find_tool): New.
34100         ($SHA1SUM): New.
34101         Use it.
34102
34103 2009-08-20  Jim Meyering  <meyering@redhat.com>
34104
34105         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
34106         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
34107         expression that converts "." in a file name to "\." in the resulting
34108         regexp.  Start with a dummy statement, so that prior shell variable
34109         definitions are expanded portably.  Reported by Simon Josefsson.
34110
34111 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
34112
34113         Fix polling for writeability of a screen buffer.
34114         * lib/poll.c: Distinguish input and screen buffers for the
34115         Win32 implementation.
34116         * lib/select.c: Likewise.
34117
34118 2009-08-19  Eric Blake  <ebb9@byu.net>
34119
34120         popen-safer: prevent popen from clobbering std descriptors
34121         * modules/popen-safer: New file.
34122         * lib/popen-safer.c: Likewise.
34123         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
34124         * lib/stdio--.h (popen): Provide override.
34125         * lib/stdio-safer.h (popen_safer): Provide declaration.
34126         * tests/test-popen.c (includes): Partially test this.
34127         * modules/popen-safer-tests: New file, for more tests.
34128         * tests/test-popen-safer.c: Likewise.
34129         * MODULES.html.sh (file stream based Input/Output): Mention it.
34130
34131         tests: test some of the *-safer modules
34132         * modules/fopen-safer (Depends-on): Add fopen.
34133         * modules/fcntl-safer (Depends-on): Add fcntl.
34134         * modules/stdlib-safer (Depends-on): Add stdlib.
34135         (configure.ac): Set indicator.
34136         * modules/unistd-safer (configure.ac): Likewise.
34137         * modules/tmpfile-safer (configure.ac): Likewise.
34138         (Depends-on): Add tmpfile.
34139         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
34140         active.
34141         * tests/test-fopen.c (includes): Test safer versions when they are
34142         in use.
34143         * tests/test-open.c (includes): Likewise.
34144
34145         popen: fix cygwin 1.5 bug when stdin closed
34146         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
34147         * modules/popen: New file.
34148         * modules/popen-tests: Likewise.
34149         * tests/test-popen.c: Likewise.
34150         * m4/popen.m4: Likewise.
34151         * lib/popen.c: Likewise.
34152         * lib/stdio.in.h (popen): New declaration.
34153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
34154         * modules/stdio (Makefile.am): Likewise.
34155         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
34156
34157 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
34158
34159         maint.mk: give full control over update-copyright exclusions
34160         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
34161         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
34162         (update-copyright): Don't force inclusion of top-level
34163         ChangeLog.  Don't force exclusion of all COPYING files, but make
34164         them the default exclusion instead.
34165
34166 2009-08-16  Bruno Haible  <bruno@clisp.org>
34167
34168         Fix test failures on Solaris 10.
34169         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
34170         tests when Solaris iconv() is used.
34171         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
34172         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
34173         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
34174         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
34175         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
34176
34177 2009-08-16  Bruno Haible  <bruno@clisp.org>
34178
34179         Fix test failures on Solaris 10.
34180         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
34181         'tr' program and pass it as first argument.
34182         * tests/test-pipe-filter-gi1.sh: Likewise.
34183         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
34184         program as first argument.
34185         * tests/test-pipe-filter-gi1.c (main): Likewise.
34186
34187 2009-08-16  Eric Blake  <ebb9@byu.net>
34188
34189         fpurge: fix previous commits
34190         * modules/fpurge (Makefile.am): Make replacement conditional,
34191         partially reverting 2007-04-29 change; missed in previous
34192         attempt.
34193         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
34194         is missing.
34195
34196 2009-08-16  Bruno Haible  <bruno@clisp.org>
34197
34198         Clarify fpurge's effect on the file position.
34199         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
34200         * tests/test-fpurge.c (main): Make a second pass for checking the file
34201         position.
34202
34203 2009-08-16  Bruno Haible  <bruno@clisp.org>
34204
34205         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
34206         declaration of fpurge is missing.
34207         * tests/test-fpurge.c (main): Check that the file has not more contents
34208         than expected. Close the file before removing it.
34209
34210 2009-08-15  Eric Blake  <ebb9@byu.net>
34211
34212         fpurge: don't wrap working cygwin implementation
34213         * lib/fpurge.c (fpurge): Fix comment typo.
34214         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
34215         1.7 to avoid replacement.
34216         * tests/test-fpurge.c (main): Enhance test.
34217
34218 2009-08-15  Eric Blake  <ebb9@byu.net>
34219         and Jim Meyering  <meyering@redhat.com>
34220
34221         test-update-copyright: skip if perl is insufficient
34222         * tests/test-update-copyright.sh: Failure to run maintainer tool
34223         should not cause testsuite failure on cygwin 1.5.
34224
34225 2009-08-14  Eric Blake  <ebb9@byu.net>
34226
34227         doc: mention more functions added in cygwin 1.7.0
34228         * doc/posix-headers/limits.texi (limits.h): Update for recent
34229         cygwin additions.
34230         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
34231         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
34232         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
34233         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
34234         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
34235
34236 2009-08-14  Eric Blake  <ebb9@byu.net>
34237
34238         maint.mk: simplify update-copyright rule
34239         * top/maint.mk (update-copyright-local): Delete, and document how
34240         to do it in cfg.mk instead.
34241         (update-copyright-exclude-regexp): Delete, and document how to do
34242         it in .x-update-copyright instead.
34243         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
34244         exclude ChangeLog.
34245
34246 2009-08-14  Bruno Haible  <bruno@clisp.org>
34247
34248         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
34249
34250 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34251
34252         maint.mk: support update-copyright-env
34253         * top/maint.mk (update-copyright-env): Define place-holder.
34254         (update-copyright): Expand $(update-copyright-env) before
34255         invoking update-copyright.
34256
34257 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34258
34259         update-copyright: implement forced reformatting
34260         * build-aux/update-copyright: Implement and document
34261         UPDATE_COPYRIGHT_FORCE.
34262         * tests/test-update-copyright.sh: Test it.
34263
34264 2009-08-14  Eric Blake  <ebb9@byu.net>
34265         and Bruno Haible  <bruno@clisp.org>
34266
34267         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
34268         * tests/test-locale.c: Revert previous patch related to NULL.
34269         * tests/test-stdio.c: Likewise.
34270         * tests/test-stdlib.c: Likewise.
34271         * tests/test-string.c: Likewise.
34272         * tests/test-unistd.c: Likewise.
34273         * modules/time-tests (Depends-on): Add verify.
34274         * modules/wchar-tests (Depends-on): Likewise.
34275         * tests/test-time.c: Test for NULL compliance.
34276         * tests/test-wchar.c: Likewise.
34277         * modules/locale (Depends-on): Add stddef.
34278         * modules/stdio (Depends-on): Likewise.
34279         * modules/stdlib (Depends-on): Likewise.
34280         * modules/string (Depends-on): Likewise.
34281         * modules/time (Depends-on): Likewise.
34282         * modules/unistd (Depends-on): Likewise.
34283         * modules/wchar (Depends-on): Likewise.
34284         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
34285         * lib/stdlib.in.h (includes): Likewise.
34286         * lib/string.in.h (includes): Likewise.
34287         * lib/time.in.h (includes): Likewise.
34288         * lib/unistd.in.h (includes): Likewise.
34289         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
34290         replaced.
34291         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34292         * m4/stddef_h.m4: New file.
34293         * modules/stddef: Likewise.
34294         * lib/stddef.in.h: Likewise.
34295         * modules/stddef-tests: Likewise.
34296         * tests/test-stddef.c: Likewise.
34297         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
34298         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
34299         * doc/posix-headers/locale.texi (locale.h): Likewise.
34300         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
34301         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
34302         * doc/posix-headers/string.texi (string.h): Likewise.
34303         * doc/posix-headers/time.texi (time.h): Likewise.
34304         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
34305         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
34306
34307 2009-08-14  Eric Blake  <ebb9@byu.net>
34308
34309         doc: improve git diff of texinfo files
34310         * .gitattributes: Add rule for *.texi files, with hint on how to
34311         use it.
34312         Copied from m4, and based on a report by Bruno Haible.
34313
34314 2009-08-14  Bruno Haible  <bruno@clisp.org>
34315
34316         Disable multithread support by default on Cygwin 1.5.x for real.
34317         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
34318
34319 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34320
34321         update-copyright: much ado about intervals
34322         * build-aux/update-copyright: Implement and document
34323         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
34324         of copyright year intervals.
34325         Also, document UPDATE_COPYRIGHT_YEAR.
34326         * tests/test-update-copyright.sh: Test it.
34327
34328         update-copyright: convert 2-digit to 4-digit years
34329         * build-aux/update-copyright: Implement and document.
34330         * tests/test-update-copyright.sh: Update.
34331
34332 2009-08-14  Jim Meyering  <meyering@redhat.com>
34333
34334         test-exclude: avoid coreutils "make check" failure
34335         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
34336         just as in test-argmatch.c.
34337
34338 2009-08-13  Eric Blake  <ebb9@byu.net>
34339
34340         test-dup2: fix bad assumption
34341         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
34342         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
34343
34344         test-version-etc: fix CRLF portability issue
34345         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
34346         recognize \r.
34347         * tests/test-argp-version-etc-1.sh: Likewise.
34348
34349         getopt: update client modules
34350         * modules/argp (Depends-on): Use getopt-gnu.
34351         * modules/git-merge-changelog (Depends-on): Likewise.
34352         * modules/long-options (Depends-on): Likewise.
34353         * modules/xstrtol (Depends-on): Likewise.
34354
34355 2009-08-13  Simon Josefsson  <simon@josefsson.org>
34356
34357         * tests/test-version-etc.sh: Don't fail on different
34358         project/version.  Don't fail on CRLF differences.  Rewrite to use
34359         multiple -e instead of multiple sed forks, suggested by Eric Blake
34360         <ebb9@byu.net>.
34361         * tests/test-argp-version-etc-1.sh: Likewise.
34362
34363 2009-08-13  Simon Josefsson  <simon@josefsson.org>
34364
34365         * tests/test-version-etc.sh: Don't fail on different
34366         project/version.
34367
34368 2009-08-12  Bruno Haible  <bruno@clisp.org>
34369
34370         Tests for modules 'getopt-posix', 'getopt-gnu'.
34371         * modules/getopt-posix-tests: New file.
34372         * tests/test-getopt.c: New file.
34373         * tests/test-getopt.h: New file.
34374         * tests/test-getopt_long.h: New file.
34375
34376         New modules 'getopt-posix', 'getopt-gnu'.
34377         * modules/getopt-gnu: New file, renamed from modules/getopt.
34378         * modules/getopt-posix: New file.
34379         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
34380         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
34381         (gl_GETOPT): Remove macro.
34382         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
34383         Disable the test against BSD systems that declare optreset. Test
34384         against mingw bug. Test against lack of support of optional arguments
34385         on many platforms.
34386         * doc/glibc-headers/getopt.texi: Update module name and list of
34387         relevant platforms.
34388         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
34389         'getopt-gnu' and more portability problems.
34390         * NEWS: Mention the changes.
34391
34392 2009-08-12  Bruno Haible  <bruno@clisp.org>
34393
34394         Ensure that optarg etc. get declared by <unistd.h>.
34395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
34396         AC_USE_SYSTEM_EXTENSIONS.
34397         * modules/getopt (Depends-on): Add 'extensions'.
34398
34399 2009-08-12  Bruno Haible  <bruno@clisp.org>
34400
34401         Avoid test link errors.
34402         * modules/pipe-filter-ii-tests (Makefile.am): Define
34403         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
34404         * modules/pipe-filter-gi-tests (Makefile.am): Define
34405         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
34406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34407
34408 2009-08-12  Bruno Haible  <bruno@clisp.org>
34409
34410         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
34411         gl_GETOPT_SUBSTITUTE before.
34412         (gl_GETOPT): Use it.
34413         * m4/argp.m4 (gl_ARGP): Update.
34414         Reported by Sergey Poznyakoff.
34415
34416         * m4/getopt.m4: Reorder macros.
34417         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
34418         (gl_GETOPT_SUBSTITUTE): Remove macro.
34419
34420 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34421
34422         Minor improvement in gitlog-to-changelog
34423
34424         * build-aux/gitlog-to-changelog: New option `--format' makes
34425         output format string configurable.
34426
34427 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34428
34429         Optimize exclude: use hash tables for non-wildcard patterns.
34430
34431         * lib/exclude.c: Include hash.h and mbuiter.h
34432         (struct exclude_pattern, exclude_segment): New data types.
34433         (struct exclude): Rewrite.
34434         (fnmatch_pattern_has_wildcards): New function.
34435         (new_exclude_segment, free_exclude_segment): New functions.
34436         (excluded_file_pattern_p, excluded_file_name_p): New functions.
34437         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
34438         * lib/exclude.h (is_fnmatch_pattern): New prototype.
34439         * modules/exclude: Depend on hash and mbuiter.
34440
34441         * modules/exclude-tests: New file.
34442         * tests/test-exclude.c: New file.
34443         * tests/test-exclude1.sh: New file.
34444         * tests/test-exclude2.sh: New file.
34445         * tests/test-exclude3.sh: New file.
34446         * tests/test-exclude4.sh: New file.
34447         * tests/test-exclude5.sh: New file.
34448         * tests/test-exclude6.sh: New file.
34449         * tests/test-exclude7.sh: New file.
34450
34451 2009-08-12  Bruno Haible  <bruno@clisp.org>
34452
34453         Ensure that getopt() gets declared by <unistd.h>.
34454         * lib/unistd.in.h: Conditionally include getopt.h.
34455         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
34456         Set GNULIB_UNISTD_H_GETOPT.
34457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34458         GNULIB_UNISTD_H_GETOPT.
34459         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
34460
34461 2009-08-12  Bruno Haible  <bruno@clisp.org>
34462
34463         Clarify logic.
34464         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
34465         gl_replace_getopt instead of GETOPT_H.
34466
34467 2009-08-12  Bruno Haible  <bruno@clisp.org>
34468
34469         * m4/getopt.m4: Add comments.
34470
34471 2009-08-12  Bruno Haible  <bruno@clisp.org>
34472
34473         Disable multithread support by default on Cygwin 1.5.x.
34474         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
34475         set gl_use_threads=no if not specified otherwise.
34476
34477 2009-08-11  Bruno Haible  <bruno@clisp.org>
34478
34479         Avoid compilation error on NetBSD 5.0.
34480         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
34481         * tests/test-stdio.c: Likewise.
34482         * tests/test-stdlib.c: Likewise.
34483         * tests/test-string.c: Likewise.
34484         * tests/test-unistd.c: Likewise.
34485         Reported by Greg Troxel <gdt@ir.bbn.com>
34486         at <https://savannah.gnu.org/support/?106973>.
34487
34488 2009-08-11  Bruno Haible  <bruno@clisp.org>
34489
34490         * modules/dup2-tests (Depends-on): Remove close.
34491
34492         Undo 2009-07-19 commit.
34493         * modules/acl-tests (Depends-on): Remove close.
34494         * modules/binary-io-tests (Depends-on): Likewise.
34495         * modules/closein-tests (Depends-on): Likewise.
34496         * modules/flock-tests (Depends-on): Likewise.
34497         * modules/fsync-tests (Depends-on): Likewise.
34498         * modules/lseek-tests (Depends-on): Likewise.
34499         * modules/pipe-tests (Depends-on): Likewise.
34500         * modules/posix_spawn-tests (Depends-on): Likewise.
34501         * modules/posix_spawnp-tests (Depends-on): Likewise.
34502         * modules/stat-time-tests (Depends-on): Likewise.
34503         * modules/yesno-tests (Depends-on): Likewise.
34504
34505 2009-08-10  Bruno Haible  <bruno@clisp.org>
34506
34507         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
34508
34509 2009-08-10  Bruno Haible  <bruno@clisp.org>
34510
34511         Fix a gcc warning.
34512         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
34513
34514 2009-08-10  Bruno Haible  <bruno@clisp.org>
34515
34516         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
34517         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
34518         not only the first time.
34519         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
34520         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
34521         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
34522         is 1, not only the the first time.
34523
34524 2009-08-10  Bruno Haible  <bruno@clisp.org>
34525
34526         Make it possible to use module 'gethostname' without module 'close'.
34527         * lib/unistd.in.h (close): Evoke a link error only if
34528         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
34529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34530         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34531         * modules/unistd (Makefile.am): Substitute
34532         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34533         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
34534         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
34535         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34536         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34537         * modules/sys_ioctl (Makefile.am): Substitute
34538         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34539         * modules/socket (configure.ac): On native Windows, set
34540         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
34541         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34542         Reported by Sam Steingold <sds@gnu.org>.
34543
34544 2009-08-10  Bruno Haible  <bruno@clisp.org>
34545
34546         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
34547         * modules/ioctl (configure.ac): Likewise.
34548
34549 2009-08-10  Bruno Haible  <bruno@clisp.org>
34550
34551         Avoid collision between gnulib wrapper and libintl wrapper.
34552         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
34553         already defined in intl/printf.c.
34554         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
34555         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
34556
34557 2009-08-09  Bruno Haible  <bruno@clisp.org>
34558
34559         Make <sys/select.h> really self-contained, also on Solaris 10.
34560         * lib/sys_select.in.h: Include <string.h>.
34561         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
34562         Solaris 10 problem.
34563         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
34564         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
34565         Reported by Jim Meyering.
34566
34567 2009-08-09  Bruno Haible  <bruno@clisp.org>
34568
34569         Avoid warnings from 'aclocal' that are due to a use of macro name
34570         AM_XGETTEXT_OPTION that is not defined in automake.
34571         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
34572         automake.
34573         * modules/error (configure.ac): Likewise.
34574         * modules/propername (configure.ac): Likewise.
34575         * modules/vasprintf (configure.ac): Likewise.
34576         * modules/verror (configure.ac): Likewise.
34577         * modules/xprintf (configure.ac): Likewise.
34578         * modules/xvasprintf (configure.ac): Likewise.
34579
34580 2009-08-08  Bruno Haible  <bruno@clisp.org>
34581
34582         Avoid compilation error in C++ mode.
34583         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
34584         Reported by Sam Steingold <sds@gnu.org>.
34585
34586 2009-08-08  Bruno Haible  <bruno@clisp.org>
34587
34588         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
34589         for the various Unix platforms.
34590         * doc/posix-headers/limits.texi: Update platforms list regarding
34591         HOST_NAME_MAX.
34592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34593
34594 2009-08-07  Jim Meyering  <meyering@redhat.com>
34595
34596         selinux-at: fix typo in a comment
34597         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
34598         Spotted by Paolo Bonzini.
34599
34600         selinux-at: remove redundant m4 code, add documentation
34601         * modules/selinux-at (configure.ac): Remove redundant code.
34602         LIB_SELINUX is already set via the dependent module, selinux-h.
34603         (Include): Add quotes around selinux-at.h.
34604         * lib/selinux-at.h: Add documentation.
34605         Reported by Bruno Haible in
34606         http://marc.info/?l=gnulib-bug&m=124958988300749
34607
34608 2009-08-07  Bruno Haible  <bruno@clisp.org>
34609
34610         Avoid link error on MacOS X 10.3 and 10.4.
34611         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
34612         on non-ELF systems.
34613         * lib/argp-pv.c (argp_program_version): Likewise.
34614         Reported by Simon Josefsson.
34615
34616 2009-08-07  Simon Josefsson  <simon@josefsson.org>
34617
34618         * tests/test-version-etc.sh: Use $EXEEXT.
34619
34620 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
34621
34622         update-copyright: update documentation to point to maint.mk
34623         * build-aux/update-copyright: Here.
34624
34625 2009-08-06  Jim Meyering  <meyering@redhat.com>
34626
34627         maint.mk: support update-copyright-local
34628         * top/maint.mk (update-copyright-local): Define place-holder.
34629         (update-copyright): Depend on $(update-copyright-local).
34630
34631 2009-08-06  Jim Meyering  <meyering@redhat.com>
34632
34633         selinux-at: new module
34634         Initially written for coreutils, this module will soon be
34635         used by findutils, too.
34636         * MODULES.html.sh [Misc]: Add selinux-at.
34637         * lib/selinux-at.h: New file, from coreutils.
34638         * lib/selinux-at.c: Likewise.
34639         * modules/selinux-at: Likewise.
34640         (License): Change from LGPL to GPL, since it depends
34641         on the GPL'd openat module.
34642
34643         doc: update README
34644         * README: Remove references to cogito.
34645         Remove cvs-repo-updating instructions from 2007.
34646         Don't imply that CVS is better if you have limited disk space.
34647
34648 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
34649
34650         update-copyright: support C-style comments
34651         * build-aux/update-copyright: Implement and document.
34652         * tests/test-update-copyright.sh: Test.
34653
34654 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
34655
34656         update-copyright: support omitted "(C)"
34657         * build-aux/update-copyright: Implement and document.  Also,
34658         allow variable whitespace before "(C)".
34659         * tests/test-update-copyright.sh: Test.
34660
34661 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
34662
34663         update-copyright: don't trip on non-FSF copyright statements
34664         * build-aux/update-copyright: Fix so that the first correctly
34665         formatted FSF copyright statement is recognized no matter what
34666         appears before it.  Update documentation.
34667         * tests/test-update-copyright.sh: Test that.
34668
34669 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
34670
34671         update-copyright: clean up code a little
34672         * build-aux/update-copyright: Append "_re" to the name of any
34673         variable holding a regular expression.
34674         Replace "old" and "new" with "stmt" in variable names.
34675         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
34676         handled correctly.
34677         Format code more consistently.
34678
34679 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
34680
34681         update-copyright-tests: improve portability
34682         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
34683         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
34684
34685 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
34686
34687         update-copyright: support @copyright{} and &copy;
34688         * build-aux/update-copyright: Implement and document.
34689         * tests/test-update-copyright.sh: Test.
34690
34691 2009-08-04  Jim Meyering  <meyering@redhat.com>
34692
34693         update-copyright-tests: correctly test EOL=\r\n handling
34694         * tests/test-update-copyright.sh: Put \r at the end of some lines
34695         for the dos-eol tests.  Based on a patch by Joel E. Denny.
34696
34697         maint.mk: make update-copyright exclusion list more configurable
34698         * top/maint.mk (update-copyright): Default to excluding COPYING,
34699         but allow an override, in case someone does want to update that file.
34700
34701         maint.mk: don't update copyright date in COPYING
34702         * top/maint.mk (update-copyright): Exclude COPYING.
34703
34704         maint.mk: add a copyright-updating rule
34705         * top/maint.mk (update-copyright): New rule.
34706         Derived from coreutils/Makefile.am.
34707
34708         update-copyright: rename some variables
34709         * build-aux/update-copyright: Rename a few variables for clarity.
34710         Tweak syntax.  List Joel E. Denny as coauthor.
34711
34712 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
34713
34714         update-copyright: fix bug for 2-digit last year and add tests
34715         * build-aux/update-copyright: Fix bug.
34716         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
34717         specified.
34718         * modules/update-copyright-tests: New
34719         * tests/test-update-copyright.sh: New.
34720
34721 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
34722
34723         update-copyright: handle leading tabs in line prefix
34724         * build-aux/update-copyright: Count leading tabs as 8 spaces
34725         when computing margin.  This helps with the formatting of
34726         ChangeLogs, for example.
34727         Fix documentation a little.
34728
34729 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
34730
34731         update-copyright: support EOL=\r\n
34732         * build-aux/update-copyright: Implement that.
34733
34734 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
34735
34736         update-copyright: automatically format copyright statements
34737         * build-aux/update-copyright: Implement that.
34738         Also, be a little more predictable and safer by always failing
34739         when the full copyright format is not perfectly recognized as an
34740         unbroken whole.  Discussed at
34741         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
34742         Rewrite documentation.
34743
34744 2009-08-03  Bruno Haible  <bruno@clisp.org>
34745
34746         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
34747
34748 2009-08-02  Bruno Haible  <bruno@clisp.org>
34749
34750         Tests for module 'uname'.
34751         * modules/uname-tests: New file.
34752         * tests/test-uname.c: New file.
34753
34754         New module 'uname'.
34755         * lib/uname.c: New file.
34756         * m4/uname.m4: New file.
34757         * modules/uname: New file.
34758         * doc/posix-functions/uname.texi: Mention the new module.
34759
34760 2009-08-02  Bruno Haible  <bruno@clisp.org>
34761
34762         Tests for module 'sys_utsname'.
34763         * modules/sys_utsname-tests: New file.
34764         * tests/test-sys_utsname.c: New file.
34765
34766         New module 'sys_utsname'.
34767         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
34768         * m4/sys_utsname_h.m4: New file.
34769         * modules/sys_utsname: New file.
34770         * doc/posix-headers/sys_utsname.texi: Mention the new module.
34771
34772 2009-08-02  Bruno Haible  <bruno@clisp.org>
34773
34774         Implicitly initialize the sockets library.
34775         * lib/gethostname.c: Include sockets.h.
34776         (rpl_gethostname): Invoke gl_sockets_startup.
34777         * lib/socket.c: Include sockets.h.
34778         (rpl_socket): Invoke gl_sockets_startup.
34779         * modules/gethostname (Depends-on): Add sockets.
34780         * modules/socket (Depends-on): Likewise.
34781         * tests/test-poll.c: Don't include sockets.h.
34782         (main): Don't invoke gl_sockets_startup.
34783         * tests/test-select.c: Don't include sockets.h.
34784         (main): Don't invoke gl_sockets_startup.
34785
34786 2009-08-02  Bruno Haible  <bruno@clisp.org>
34787
34788         Allow multiple calls to gl_sockets_startup.
34789         * lib/sockets.c (initialized_sockets_version): New variable.
34790         (gl_sockets_startup): Do nothing if already called for this or a higher
34791         version.
34792         (gl_sockets_cleanup): Reset initialized_sockets_version.
34793
34794 2009-08-03  Simon Josefsson  <simon@josefsson.org>
34795
34796         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
34797         different project/version.
34798
34799 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
34800             Bruno Haible  <bruno@clisp.org>
34801
34802         Tests for module 'pipe-filter-gi'.
34803         * modules/pipe-filter-gi-tests: New file.
34804         * tests/test-pipe-filter-gi1.sh: New file.
34805         * tests/test-pipe-filter-gi1.c: New file.
34806         * tests/test-pipe-filter-gi2.sh: New file.
34807         * tests/test-pipe-filter-gi2-main.c: New file.
34808         * tests/test-pipe-filter-gi2-child.c: New file.
34809
34810         New module 'pipe-filter-gi'.
34811         * lib/pipe-filter-gi.c: New file.
34812         * modules/pipe-filter-gi: New file.
34813
34814 2009-08-02  Bruno Haible  <bruno@clisp.org>
34815             Paolo Bonzini  <bonzini@gnu.org>
34816
34817         Tests for module 'pipe-filter-ii'.
34818         * modules/pipe-filter-ii-tests: New file.
34819         * tests/test-pipe-filter-ii1.sh: New file.
34820         * tests/test-pipe-filter-ii1.c: New file.
34821         * tests/test-pipe-filter-ii2.sh: New file.
34822         * tests/test-pipe-filter-ii2-main.c: New file.
34823         * tests/test-pipe-filter-ii2-child.c: New file.
34824
34825         New module 'pipe-filter-ii'.
34826         * lib/pipe-filter.h: New file.
34827         * lib/pipe-filter-ii.c: New file.
34828         * lib/pipe-filter-aux.h: New file.
34829         * modules/pipe-filter-ii: New file.
34830
34831 2009-08-02  Simon Josefsson  <simon@josefsson.org>
34832
34833         * lib/gc-libgcrypt.c: Change copyright to FSF.
34834         * lib/gc-gnulib.c: Likewise.
34835
34836 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
34837
34838         * lib/gethostname.c: Include limits.h.
34839
34840 2009-08-02  Simon Josefsson  <simon@josefsson.org>
34841             Bruno Haible  <bruno@clisp.org>
34842
34843         Ensure HOST_NAME_MAX as part of the gethostname module.
34844         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
34845         define also HOST_NAME_MAX.
34846         * tests/test-gethostname.c: Include <limits.h>.
34847         (main): Check also HOST_NAME_MAX.
34848         * doc/posix-headers/limits.texi: Document the mingw problem.
34849
34850 2009-08-02  Bruno Haible  <bruno@clisp.org>
34851
34852         * lib/gethostname.c (gethostname): Fix handling of large len argument.
34853         Add comments.
34854
34855 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34856
34857         * lib/gethostname.c: Add Windows wrapper.
34858         * m4/gethostname.m4: Look for gethostname in -lws2_32.
34859         * modules/gethostname: Depend on sys_socket & errno, for also
34860         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
34861         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
34862
34863 2009-07-31  Jim Meyering  <meyering@redhat.com>
34864
34865         getloadavg: fix symbol name in comment
34866         * lib/getloadavg.c: Correct a typo I introduced when adding
34867         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
34868         Matt Kraai spotted the problem.
34869
34870 2009-07-29  Matt Kraai  <mkraai@beckman.com>
34871
34872         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
34873         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
34874         code also if ! defined N_NAME_POINTER.
34875         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
34876         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
34877         but the n_name member is a 12-byte array.
34878
34879 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
34880
34881         update-copyright: generalize comment handling
34882         * build-aux/update-copyright: Handle copyright statements
34883         within more comment styles.
34884         Document usage.
34885         Report any file with an external copyright holder or parse failure.
34886
34887 2009-07-29  Jim Meyering  <meyering@redhat.com>
34888
34889         mktime: correct setting of REPLACE_MKTIME
34890         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
34891
34892         update-copyright: new module
34893         * modules/update-copyright: New file.
34894         * build-aux/update-copyright: New file.
34895         * MODULES.html.sh (maint+release support): Add update-copyright.
34896
34897 2009-07-27  Bruno Haible  <bruno@clisp.org>
34898
34899         Fix compilation error when <ctime> is used and mktime is replaced.
34900         * lib/time.in.h (mktime): New declaration.
34901         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
34902         REPLACE_MKTIME instead of defining mktime in config.h.
34903         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
34904         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
34905         Reported by Ross McFarland <rwmcfa1@neces.com>.
34906
34907 2009-07-27  Bruno Haible  <bruno@clisp.org>
34908
34909         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
34910         Reported by Matt Kraai <mkraai@beckman.com>.
34911
34912 2009-07-25  Jim Meyering  <meyering@redhat.com>
34913
34914         maint.mk: avoid warnings about missing files
34915         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
34916         diagnostic when .prev-version does not exist.
34917         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
34918         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
34919         nonexistent cfg.mk.
34920         Suggestions from Simon Josefsson.
34921
34922 2009-07-25  Bruno Haible  <bruno@clisp.org>
34923
34924         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
34925         defined as macros. Needed on QNX 6.4.1.
34926         Reported by Matt Kraai <mkraai@beckman.com>.
34927
34928 2009-07-23  Jim Meyering  <meyering@redhat.com>
34929
34930         maint.mk: invoke "make dist" with a working value of XZ_OPT
34931         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
34932
34933 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
34934
34935         Make fseeko.c compile on QNX.
34936         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
34937
34938 2009-07-22  Peter Simons  <simons@cryp.to>
34939
34940         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
34941         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
34942         * lib/md4.h: Likewise.
34943         * lib/md5.h: Likewise.
34944         * lib/sha1.h: Likewise.
34945         * lib/sha256.h: Likewise.
34946         * lib/sha512.h: Likewise.
34947
34948         tests-sha1: don't assign literal string to 'char *' variable
34949         * tests/test-sha1.c (main): Declare locals with "const" to match
34950         attributes of the right hand side.
34951
34952 2009-07-21  Eric Blake  <ebb9@byu.net>
34953
34954         dup2: fix more mingw problems
34955         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
34956         fd to itself.
34957         * doc/posix-functions/dup2.texi (dup2): Document the bug.
34958         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
34959         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
34960         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
34961         care of mingw bugs.
34962
34963 2009-07-21  Jim Meyering  <meyering@redhat.com>
34964
34965         vc-list-files: avoid failure when /bin/sh is dash
34966         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
34967         On some Debian based systems, /bin/sh is a symlink to dash, and running
34968         this command would omit the "/" following each 'tests' prefix:
34969           dash -x build-aux/vc-list-files -C . tests
34970         That is because bash and dash work differently:
34971           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
34972           bash ok
34973           dash odd
34974
34975 2009-07-21  Eric Blake  <ebb9@byu.net>
34976
34977         dup2-tests: test previous patch
34978         * modules/dup2-tests: New file.
34979         * tests/test-dup2.c: Likewise.
34980         * tests/test-open.c (main): Avoid unspecified behavior.
34981         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
34982         test.
34983
34984         dup2: work around mingw and cygwin 1.5 bug
34985         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
34986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34987         * modules/unistd (Makefile.am): Substitute it.
34988         * lib/unistd.in.h (dup2): Declare the replacement.
34989         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
34990         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
34991         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
34992         * modules/execute (Depends-on): Add dup2.
34993         * modules/fseterr (Depends-on): Likewise.
34994         * modules/pipe (Depends-on): Likewise.
34995         * modules/posix_spawn-internal (Depends-on): Likewise.
34996
34997 2009-07-21  Bruno Haible  <bruno@clisp.org>
34998
34999         * modules/.gitattributes: New file.
35000
35001 2009-07-20  Bruno Haible  <bruno@clisp.org>
35002
35003         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
35004         (main): Use it.
35005
35006 2009-07-20  Eric Blake  <ebb9@byu.net>
35007
35008         test-pipe: make a bit more robust.
35009         * tests/test-pipe.c (myerr): Allow error messages regardless of
35010         what we do to stderr.
35011         (test_pipe): Rearrange to avoid deadlock.
35012         (child_main): Try a larger read, to ensure we avoided deadlock.
35013         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
35014         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
35015         if misused.
35016
35017 2009-07-19  Jim Meyering  <meyering@redhat.com>
35018
35019         fts: avoid false-positive cycle-detection
35020         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
35021         for each new command line argument.
35022
35023 2009-07-19  Bruno Haible  <bruno@clisp.org>
35024
35025         Fix build error on mingw with the modules sys_select and unistd.
35026         * modules/acl-tests (Depends-on): Add close.
35027         * modules/binary-io-tests (Depends-on): Likewise.
35028         * modules/closein-tests (Depends-on): Likewise.
35029         * modules/flock-tests (Depends-on): Likewise.
35030         * modules/fsync-tests (Depends-on): Likewise.
35031         * modules/lseek-tests (Depends-on): Likewise.
35032         * modules/pipe-tests (Depends-on): Likewise.
35033         * modules/posix_spawn-tests (Depends-on): Likewise.
35034         * modules/posix_spawnp-tests (Depends-on): Likewise.
35035         * modules/stat-time-tests (Depends-on): Likewise.
35036         * modules/yesno-tests (Depends-on): Likewise.
35037
35038 2009-07-19  Bruno Haible  <bruno@clisp.org>
35039
35040         Unify conditionals.
35041         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
35042         macros, not at the compiler macros.
35043         * lib/pipe.c: Likewise.
35044         * lib/execute.c: Likewise.
35045         * lib/spawni.c: Likewise.
35046
35047 2009-07-19  Bruno Haible  <bruno@clisp.org>
35048
35049         Fix handling of closed stdin/stdout/stderr on mingw.
35050         * lib/w32spawn.h: Include unistd.h.
35051         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
35052         file descriptor with O_NOINHERIT flag.
35053         (fd_safer_noinherit): New function, based on fd-safer.c.
35054         (dup_safer_noinherit): New function, based on dup-safer.c.
35055         (undup_safer_noinherit): New function.
35056         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
35057         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
35058         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
35059         instead of fd_safer.
35060         * tests/test-pipe.c: Include <windows.h>.
35061         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
35062         result.
35063
35064         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
35065         from main.
35066         (test_pipe): Pass an extra argument for disambiguation.
35067         (main): Invoke parent_main or child_main.
35068
35069         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
35070         consistently.
35071
35072 2009-07-18  Eric Blake  <ebb9@byu.net>
35073
35074         test-pipe: fix mingw build
35075         * tests/test-pipe.c (main): Avoid fcntl on mingw.
35076
35077 2009-07-18  Bruno Haible  <bruno@clisp.org>
35078
35079         * modules/pipe-tests (Makefile.am): Fix typo.
35080
35081 2009-07-18  Eric Blake  <ebb9@byu.net>
35082
35083         error: fix mingw build
35084         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
35085         Reported by Bruno Haible.
35086
35087         error: avoid undefined use of stdout
35088         * lib/error.c (error, error_at_line): Check that fd 1 is open
35089         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
35090         is handling faults and the close_stdout module wants to report the
35091         detection of closed stdout as an error.
35092
35093 2009-07-17  Eric Blake  <ebb9@byu.net>
35094
35095         pipe: be robust in face of closed fds
35096         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
35097         should cause child to misbehave.
35098         * modules/pipe-tests: New module.
35099         * tests/test-pipe.c: New file.
35100         * tests/test-pipe.sh: New file.
35101         Reported by Akim Demaille.
35102
35103 2009-07-14  Bruno Haible  <bruno@clisp.org>
35104
35105         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
35106         Reported by anonymous kc.
35107
35108 2009-07-07  Jim Meyering  <meyering@redhat.com>
35109
35110         maint.mk: don't look for translatable strings in *.m4 or *.mk
35111         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
35112         when searching for translatable strings.
35113
35114 2009-07-05  Jim Meyering  <meyering@redhat.com>
35115
35116         remove superfluous parentheses in STREQ definition
35117         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
35118         * lib/getugroups.c (STREQ): Likewise.
35119         * lib/fnmatch.c (STREQ): Likewise.
35120         Spotted by Bruno Haible.
35121
35122 2009-07-04  Jim Meyering  <meyering@redhat.com>
35123
35124         argv-iter: new module
35125         * MODULES.html.sh: Add argv-iter.
35126         * lib/argv-iter.c, lib/argv-iter.h: New files.
35127         * modules/argv-iter: New file.
35128         * modules/argv-iter-tests: New file.
35129         * tests/test-argv-iter.c: Test it.
35130
35131 2009-07-04  Bruno Haible  <bruno@clisp.org>
35132
35133         Fix assertion.
35134         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
35135         contains more exact copies of a given entry than file2, leave the extra
35136         copies unpaired rather than aborting.
35137         Reported by Eric Blake.
35138
35139 2009-07-02  Bruno Haible  <bruno@clisp.org>
35140
35141         Speedup git-merge-changelog for git cherry-pick.
35142         * lib/git-merge-changelog.c (struct entries_mapping): New type.
35143         (entries_mapping_get): New function, extracted from compute_mapping.
35144         (entries_mapping_reverse_get): New function.
35145         (compute_mapping): Add a 'full' argument. Return the result in a
35146         'struct entries_mapping'.
35147         (main): Update. Access the mappings through entries_mapping_get.
35148         Reported by Eric Blake.
35149
35150 2009-07-02  Bruno Haible  <bruno@clisp.org>
35151
35152         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
35153         best_i.
35154
35155 2009-07-02  Bruno Haible  <bruno@clisp.org>
35156
35157         Speed up approximate search for matching ChangeLog entries.
35158         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
35159         argument. Call fstrcmp_bounded instead of fstrcmp.
35160         (compute_mapping, try_split_merged_entry, main): Update callers.
35161
35162 2009-07-02  Bruno Haible  <bruno@clisp.org>
35163
35164         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
35165
35166 2009-06-30  Bruno Haible  <bruno@clisp.org>
35167
35168         Reduce the number of uc_is_cased calls.
35169         * lib/unicase.h (casing_suffix_context_t): Add
35170         'first_char_except_ignorable' field.
35171         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
35172         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
35173         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
35174         Update initializer.
35175         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
35176         case-ignorable characters.
35177         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
35178         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
35179         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
35180         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
35181         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
35182
35183 2009-06-30  Bruno Haible  <bruno@clisp.org>
35184
35185         Tests for module 'unicase/ignorable'.
35186         * modules/unicase/ignorable-tests: New file.
35187         * tests/unicase/test-ignorable.c: New file, generated by
35188         gen-uni-tables.
35189
35190         Tests for module 'unicase/cased'.
35191         * modules/unicase/cased-tests: New file.
35192         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
35193         * tests/unicase/test-predicate-part1.h: New file, derived from
35194         tests/unictype/test-predicate-part1.h.
35195         * tests/unicase/test-predicate-part2.h: New file, same as
35196         tests/unictype/test-predicate-part2.h.
35197
35198         Fix evaluation of "Before C" condition of FINAL_SIGMA.
35199         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
35200         (output_casing_properties): New function.
35201         (main): Call it.
35202         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
35203         * lib/unicase/cased.c: Include unictype/bitmap.h.
35204         (uc_is_cased): Define through a bitmap lookup.
35205         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
35206         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
35207         (uc_is_case_ignorable): Define through a bitmap lookup.
35208         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
35209         lib/unictype/bitmap.h.
35210         (Depends-on): Add inline. Clean up.
35211         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
35212         lib/unictype/bitmap.h.
35213         (Depends-on): Add inline. Clean up.
35214         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
35215         recognition.
35216         * tests/unicase/test-u16-tolower.c (main): Likewise.
35217         * tests/unicase/test-u32-tolower.c (main): Likewise.
35218
35219 2009-06-30  Bruno Haible  <bruno@clisp.org>
35220
35221         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
35222         * lib/unicase/u16-casemap.c: Likewise.
35223         * lib/unicase/u32-casemap.c: Likewise.
35224
35225 2009-06-29  Bruno Haible  <bruno@clisp.org>
35226
35227         Define u32_casefold as a wrapper around u32_ct_casefold.
35228         * lib/unicase/u32-casefold.c: Update.
35229         * modules/unicase/u32-casefold (Depends-on): Add
35230         unicase/u32-ct-casefold, unicase/empty-prefix-context,
35231         unicase/empty-suffix-context. Clean up.
35232
35233         Define u16_casefold as a wrapper around u16_ct_casefold.
35234         * lib/unicase/u16-casefold.c: Update.
35235         * modules/unicase/u16-casefold (Depends-on): Add
35236         unicase/u16-ct-casefold, unicase/empty-prefix-context,
35237         unicase/empty-suffix-context. Clean up.
35238
35239         Define u8_casefold as a wrapper around u8_ct_casefold.
35240         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
35241         * lib/unicase/u8-casefold.c: Update.
35242         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
35243         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35244
35245         Define u32_totitle as a wrapper around u32_ct_totitle.
35246         * lib/unicase/u32-totitle.c: Update.
35247         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
35248         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35249
35250         Define u16_totitle as a wrapper around u16_ct_totitle.
35251         * lib/unicase/u16-totitle.c: Update.
35252         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
35253         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35254
35255         Define u8_totitle as a wrapper around u8_ct_totitle.
35256         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
35257         functions.
35258         (FUNC): Delegate to U_CT_TOTITLE.
35259         * lib/unicase/u8-totitle.c: Update.
35260         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
35261         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35262
35263         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
35264         invocation.
35265         * modules/unicase/u32-tolower (Depends-on): Add
35266         unicase/empty-prefix-context, unicase/empty-suffix-context.
35267
35268         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
35269         invocation.
35270         * modules/unicase/u16-tolower (Depends-on): Add
35271         unicase/empty-prefix-context, unicase/empty-suffix-context.
35272
35273         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
35274         * modules/unicase/u8-tolower (Depends-on): Add
35275         unicase/empty-prefix-context, unicase/empty-suffix-context.
35276
35277         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
35278         invocation.
35279         * modules/unicase/u32-toupper (Depends-on): Add
35280         unicase/empty-prefix-context, unicase/empty-suffix-context.
35281
35282         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
35283         invocation.
35284         * modules/unicase/u16-toupper (Depends-on): Add
35285         unicase/empty-prefix-context, unicase/empty-suffix-context.
35286
35287         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
35288         * modules/unicase/u8-toupper (Depends-on): Add
35289         unicase/empty-prefix-context, unicase/empty-suffix-context.
35290
35291         New module 'unicase/u32-ct-casefold'.
35292         * lib/unicase/u32-ct-casefold.c: New file.
35293         * modules/unicase/u32-ct-casefold: New file.
35294
35295         New module 'unicase/u16-ct-casefold'.
35296         * lib/unicase/u16-ct-casefold.c: New file.
35297         * modules/unicase/u16-ct-casefold: New file.
35298
35299         New module 'unicase/u8-ct-casefold'.
35300         * lib/unicase/u8-ct-casefold.c: New file.
35301         * lib/unicase/u-ct-casefold.h: New file, derived from
35302         lib/unicase/u-casefold.h.
35303         * modules/unicase/u8-ct-casefold: New file.
35304
35305         New module 'unicase/u32-ct-totitle'.
35306         * lib/unicase/u32-ct-totitle.c: New file.
35307         * modules/unicase/u32-ct-totitle: New file.
35308
35309         New module 'unicase/u16-ct-totitle'.
35310         * lib/unicase/u16-ct-totitle.c: New file.
35311         * modules/unicase/u16-ct-totitle: New file.
35312
35313         New module 'unicase/u8-ct-totitle'.
35314         * lib/unicase/u8-ct-totitle.c: New file.
35315         * lib/unicase/u-ct-totitle.h: New file, derived from
35316         lib/unicase/u-totitle.h.
35317         * modules/unicase/u8-ct-totitle: New file.
35318
35319         New module 'unicase/u32-ct-tolower'.
35320         * lib/unicase/u32-ct-tolower.c: New file.
35321         * modules/unicase/u32-ct-tolower: New file.
35322
35323         New module 'unicase/u16-ct-tolower'.
35324         * lib/unicase/u16-ct-tolower.c: New file.
35325         * modules/unicase/u16-ct-tolower: New file.
35326
35327         New module 'unicase/u8-ct-tolower'.
35328         * lib/unicase/u8-ct-tolower.c: New file.
35329         * modules/unicase/u8-ct-tolower: New file.
35330
35331         New module 'unicase/u32-ct-toupper'.
35332         * lib/unicase/u32-ct-toupper.c: New file.
35333         * modules/unicase/u32-ct-toupper: New file.
35334
35335         New module 'unicase/u16-ct-toupper'.
35336         * lib/unicase/u16-ct-toupper.c: New file.
35337         * modules/unicase/u16-ct-toupper: New file.
35338
35339         New module 'unicase/u8-ct-toupper'.
35340         * lib/unicase/u8-ct-toupper.c: New file.
35341         * modules/unicase/u8-ct-toupper: New file.
35342
35343         Add context arguments to u*_casemap functions.
35344         * lib/unicase/unicasemap.h: Include unicase.h.
35345         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
35346         suffix_context arguments.
35347         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
35348         functions.
35349         (FUNC): Add prefix_context and suffix_context arguments. Use
35350         uc_is_cased and uc_is_case_ignorable.
35351         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
35352         * lib/unicase/u16-casemap.c: Likewise.
35353         * lib/unicase/u32-casemap.c: Likewise.
35354         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
35355         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35356         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
35357         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35358         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
35359         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35360
35361         New module 'unicase/u32-suffix-context'.
35362         * lib/unicase/u32-suffix-context.c: New file.
35363         * modules/unicase/u32-suffix-context: New file.
35364
35365         New module 'unicase/u16-suffix-context'.
35366         * lib/unicase/u16-suffix-context.c: New file.
35367         * modules/unicase/u16-suffix-context: New file.
35368
35369         New module 'unicase/u8-suffix-context'.
35370         * lib/unicase/u8-suffix-context.c: New file.
35371         * lib/unicase/u-suffix-context.h: New file.
35372         * modules/unicase/u8-suffix-context: New file.
35373
35374         New module 'unicase/empty-suffix-context'.
35375         * lib/unicase/empty-suffix-context.c: New file.
35376         * modules/unicase/empty-suffix-context: New file.
35377
35378         New module 'unicase/u32-prefix-context'.
35379         * lib/unicase/u32-prefix-context.c: New file.
35380         * modules/unicase/u32-prefix-context: New file.
35381
35382         New module 'unicase/u16-prefix-context'.
35383         * lib/unicase/u16-prefix-context.c: New file.
35384         * modules/unicase/u16-prefix-context: New file.
35385
35386         New module 'unicase/u8-prefix-context'.
35387         * lib/unicase/u8-prefix-context.c: New file.
35388         * lib/unicase/u-prefix-context.h: New file.
35389         * lib/unicase/context.h: New file.
35390         * modules/unicase/u8-prefix-context: New file.
35391
35392         New module 'unicase/empty-prefix-context'.
35393         * lib/unicase/empty-prefix-context.c: New file.
35394         * modules/unicase/empty-prefix-context: New file.
35395
35396         New module 'unicase/ignorable'.
35397         * lib/unicase/ignorable.c: New file.
35398         * modules/unicase/ignorable: New file.
35399
35400         New module 'unicase/cased'.
35401         * lib/unicase/caseprop.h: New file.
35402         * lib/unicase/cased.c: New file.
35403         * modules/unicase/cased: New file.
35404
35405         New functions for case mapping of substrings.
35406         * lib/unicase.h (casing_prefix_context_t): New type.
35407         (unicase_empty_prefix_context): New variable.
35408         (u8_casing_prefix_context, u16_casing_prefix_context,
35409         u32_casing_prefix_context, u8_casing_prefixes_context,
35410         u16_casing_prefixes_context, u32_casing_prefixes_context): New
35411         declarations.
35412         (casing_suffix_context_t): New type.
35413         (unicase_empty_suffix_context): New variable.
35414         (u8_casing_suffix_context, u16_casing_suffix_context,
35415         u32_casing_suffix_context, u8_casing_suffixes_context,
35416         u16_casing_suffixes_context, u32_casing_suffixes_context,
35417         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
35418         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
35419         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
35420         declarations.
35421
35422 2009-06-28  Jim Meyering  <meyering@redhat.com>
35423
35424         boostrap: indent only with spaces
35425         * build-aux/bootstrap: Indent only with spaces, never TABs.
35426
35427         bootstrap: split long lines
35428         * build-aux/bootstrap: Keep line length < 80.
35429
35430         bootstrap: sync from coreutils
35431         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
35432         just as autoreconf does.  Verify a list of prerequisite
35433         package-name,version-number pairs if defined in bootstrap.conf.
35434         Refer to README-prereq, if prerequisites are not satisfied.
35435
35436 2009-06-27  Eric Blake  <ebb9@byu.net>
35437
35438         tests: add test for bogus NULL definition
35439         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
35440         * tests/test-stdlib.c: Likewise.
35441         * tests/test-string.c: Likewise.
35442         * tests/test-locale.c: Likewise.
35443         * tests/test-unistd.c: Likewise.
35444         * modules/stdio-tests (Depends-on): Add verify.
35445         * modules/stdlib-tests (Depends-on): Likewise.
35446         * modules/string-tests (Depends-on): Likewise.
35447         * modules/locale-tests (Depends-on): Likewise.
35448         * modules/unistd-tests (Depends-on): Likewise.
35449
35450 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
35451
35452         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
35453         self-explaining comment.
35454         * m4/selinux-selinux-h: Update serial.
35455         (gl_LIBSELINUX): New macro, adding a warning for missing development
35456         packages to code extracted from...
35457         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
35458         Add warning for missing development packages here, too.
35459
35460 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
35461
35462         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
35463
35464 2009-06-25  Eric Blake  <ebb9@byu.net>
35465
35466         version-etc: fix regression
35467         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
35468         gcc.
35469         (version_etc): Use it, to catch bugs with trailing NULL.
35470         * lib/version-etc.c (version_etc_arn): Delete unused argument.
35471         (version_etc_va): Fix logic bug.
35472         * modules/version-etc-tests: Add test.
35473         * tests/test-version-etc.c: New file.
35474         * tests/test-version-etc.sh: Likewise.
35475
35476 2009-06-25  Sam Steingold  <sds@gnu.org>
35477
35478         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
35479         mbtowc declaration.
35480
35481 2009-06-25  Eric Blake  <ebb9@byu.net>
35482
35483         fpurge: migrate into <stdio.h>
35484         * lib/fpurge.h: Delete...
35485         * lib/stdio.in.h (fpurge): ...and declare here, instead.
35486         * lib/fpurge.c (fpurge): Change declaring header.
35487         * modules/fpurge (Files): Drop deleted file.
35488         (Depends-on): Add stdio.
35489         (configure.ac): Set witness.
35490         * modules/stdio (Makefile.am): Support fpurge macros.
35491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35492         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
35493         * lib/fflush.c: Update client.
35494         * tests/test-fpurge.c: Likewise.
35495         * NEWS: Mention the change.
35496
35497 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35498
35499         * lib/argp-version-etc.c (program_authors): Add const
35500         qualifier.
35501         * lib/version-etc.c: Fix typos in the comments.
35502         * modules/argp-version-etc: Depends on version-etc.
35503
35504 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35505
35506         argp-version-etc: new module.
35507
35508         * lib/argp-version-etc.c: New file.
35509         * lib/argp-version-etc.h: New file.
35510         * modules/argp-version-etc: New file.
35511         * modules/argp-version-etc-tests: New file.
35512         * tests/test-argp-version-etc.c: New test.
35513         * tests/test-argp-version-etc-1.sh: New test.
35514
35515 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35516
35517         Provide additional interfaces and documentation for version-etc
35518         module.
35519
35520         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
35521         interfaces.
35522         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
35523         prototypes.
35524
35525 2009-06-24  Bruno Haible  <bruno@clisp.org>
35526
35527         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
35528         HAVE_LIB${NAME} macro.
35529         Reported by Sam Steingold <sds@gnu.org>.
35530
35531 2009-06-23  Simon Josefsson  <simon@josefsson.org>
35532
35533         * modules/hash-tests (test_hash_LDADD): Link to libintl when
35534         needed.
35535
35536 2009-06-21  Bruno Haible  <bruno@clisp.org>
35537
35538         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
35539         work.
35540         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
35541         together with LIB${NAME}, LTLIB${NAME}.
35542         Reported by Sam Steingold <sds@gnu.org>.
35543
35544 2009-06-20  Jim Meyering  <meyering@redhat.com>
35545
35546         tests: make sc_require_test_exit_idiom more generic
35547         * top/maint.mk (Exit_witness_file): New overridable variable.
35548         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
35549         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
35550
35551 2009-06-19  Jim Meyering  <meyering@redhat.com>
35552
35553         hash: reverse order of src/dst parameters in an internal interface
35554         * lib/hash.c (transfer_entries): Reverse order of parameters to
35555         put DST before SRC.  Adjust callers.
35556
35557         tests: test-hash: avoid wholesale duplication
35558         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
35559         Instead, use a loop and add a single conditional.
35560
35561         tests: test-hash: allow seed selection via a command line argument
35562         * tests/test-hash.c (get_seed): New function.
35563         (main): Use it.
35564
35565 2009-06-19  Eric Blake  <ebb9@byu.net>
35566
35567         hash: avoid memory leak on allocation failure
35568         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
35569         failure.  Factor repeated algorithm...
35570         (transfer_entries): ...into new helper routine.
35571         (hash_delete): React to hash_rehash return value.
35572
35573         hash: reduce memory pressure in hash_rehash no-op case
35574         * lib/hash.c (next_prime): Avoid overflow.
35575         (hash_initialize): Factor bucket size computation...
35576         (compute_bucket_size): ...into new helper function.
35577         (hash_rehash): Use new function and open coding to reduce memory
35578         pressure, and avoid a memory leak in USE_OBSTACK code.
35579         Reported by Jim Meyering.
35580
35581 2009-06-18  Eric Blake  <ebb9@byu.net>
35582
35583         hash: make rotation more obvious
35584         * modules/hash (Depends-on): Add bitrotate and stdint.
35585         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
35586         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
35587         (SIZE_MAX): Rely on headers for definition.
35588         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
35589         (raw_hasher): Use rotr_sz.
35590         Suggested by Jim Meyering.
35591
35592         hash: fix memory leak in last patch
35593         * lib/hash.c (hash_rehash): Avoid memory leak.
35594
35595         hash: avoid no-op rehashing
35596         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
35597
35598         hash: provide default callback functions
35599         * lib/hash.c (raw_hasher, raw_comparator): New functions.
35600         (hash_initialize): Use them as defaults.
35601         * tests/test-hash.c (main): Test this.
35602
35603         hash: minor optimization
35604         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
35605         when possible.
35606         (hash_initialize): Document this promise.
35607         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
35608         * tests/test-hash.c (hash_compare_strings): Test this.
35609
35610 2009-06-18  Bruno Haible  <bruno@clisp.org>
35611
35612         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
35613         going to be replaced anyway.
35614
35615 2009-06-18  Bruno Haible  <bruno@clisp.org>
35616
35617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
35618         in one place.
35619         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
35620         be replaced anyway.
35621
35622 2009-06-18  Eric Blake  <ebb9@byu.net>
35623
35624         hash: check for resize before insertion
35625         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
35626         threshold before insertion, so that a pathological hash_rehash
35627         that fills every bucket can still trigger another rehash.
35628
35629 2009-06-18  Jim Meyering  <meyering@redhat.com>
35630
35631         hash-tests: add a loop around the small tests
35632         * tests/test-hash.c (main): Repeat small tests with selected
35633         small initial table sizes.
35634
35635 2009-06-17  Eric Blake  <ebb9@byu.net>
35636
35637         hash: minor cleanups
35638         * lib/hash.h (hash_entry): Make opaque, by moving...
35639         * lib/hash.c (hash_entry): ...here.
35640         (hash_insert): Clarify restrictions on what can be inserted.
35641         (hash_get_next): Clarify when it is safe to remove an element
35642         during traversal.
35643         (check_tuning): Skip verification when tuning is known safe.
35644         (hash_initialize): Clarify restrictions on tuning.
35645
35646 2009-06-17  Jim Meyering  <jim@meyering.net>
35647         and Eric Blake  <ebb9@byu.net>
35648
35649         hash-tests: new module
35650         * modules/hash-tests: New file.
35651         * tests/test-hash.c: New file.
35652
35653 2009-06-17  Eric Blake  <ebb9@byu.net>
35654
35655         strstr-simple: document new module
35656         * MODULES.html.sh: Document new module.
35657
35658         strstr, strcasestr: replace on platforms with broken memchr
35659         * modules/strstr: Split into...
35660         * modules/strstr-simple: ...new module that does not care about
35661         performance, but does care about glibc bug.
35662         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
35663         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
35664         if platform memchr is broken, per Debian bug 521737.
35665         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
35666         memchr.
35667         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
35668         * doc/posix-functions/strstr.texi (strstr): Document the fix.
35669         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
35670         * modules/mountlist (Depends-on): Add strstr-simple.
35671         * modules/gen-uni-tables (Depends-on): Likewise.
35672         * modules/argz (Depends-on): Add strstr.
35673
35674 2009-06-17  Bruno Haible  <bruno@clisp.org>
35675
35676         * modules/posix_spawn-internal (Depends-on): Add errno.
35677
35678 2009-06-17  Bruno Haible  <bruno@clisp.org>
35679
35680         Define missing ESTALE on Interix 3.5.
35681         * lib/errno.in.h (ESTALE): Assign a value if missing.
35682         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
35683         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
35684         missing.
35685         * doc/posix-headers/errno.texi: Mention the Interix bug.
35686         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
35687
35688 2009-06-15  Eric Blake  <ebb9@byu.net>
35689
35690         memchr, memchr2: add valgrind exception
35691         * lib/memchr.valgrind: New file.
35692         * lib/memchr2.valgrind: New file.
35693         * modules/memchr (Files): Distribute valgrind file.
35694         * modules/memchr2 (Files): Likewise.
35695
35696         docs: memchr is no longer obsolete
35697         * MODULES.html.sh: Move memchr from obsolete to string.h section.
35698         * lib/string.in.h (memchr): Simplify logic.
35699
35700 2009-06-14  Jim Meyering  <meyering@redhat.com>
35701
35702         link-follow: fix the "checking..." message to not mention trailing slash
35703         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
35704         never considered trailing slashes.
35705
35706 2009-06-14  Bruno Haible  <bruno@clisp.org>
35707
35708         * m4/memchr.m4: Mention also the bug on IA-64.
35709         * doc/posix-functions/memchr.texi: Likewise.
35710
35711 2009-06-12  Eric Blake  <ebb9@byu.net>
35712
35713         memchr: detect broken x86_64 and alpha implementations
35714         * modules/memchr-tests (Depends-on): Move mmap detection...
35715         * modules/memchr (Depends-on): ...here.
35716         (configure.ac): Set indicator.
35717         * lib/string.in.h (memchr): Declare replacement.
35718         * modules/string (Makefile.am): Trigger replacement.
35719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
35720         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
35721         bugs.
35722         * doc/posix-functions/memchr.texi (memchr): Document the bug.
35723         * modules/getpagesize (License): Relax license.
35724
35725 2009-06-11  Bruno Haible  <bruno@clisp.org>
35726
35727         * lib/idpriv.h: Add more references.
35728
35729 2009-06-08  Bruno Haible  <bruno@clisp.org>
35730
35731         Tests for module 'idpriv-droptemp'.
35732         * modules/idpriv-droptemp-tests: New file.
35733         * tests/test-idpriv-droptemp.sh: New file.
35734         * tests/test-idpriv-droptemp.su.sh: New file.
35735         * tests/test-idpriv-droptemp.c: New file.
35736
35737         New module 'idpriv-droptemp'.
35738         * lib/idpriv-droptemp.c: New file.
35739         * modules/idpriv-droptemp: New file.
35740
35741 2009-06-08  Bruno Haible  <bruno@clisp.org>
35742
35743         Tests for module 'idpriv-drop'.
35744         * modules/idpriv-drop-tests: New file.
35745         * tests/test-idpriv-drop.sh: New file.
35746         * tests/test-idpriv-drop.su.sh: New file.
35747         * tests/test-idpriv-drop.c: New file.
35748
35749         New module 'idpriv-drop'.
35750         * lib/idpriv.h: New file.
35751         * lib-idpriv-drop.c: New file.
35752         * m4/idpriv.m4: New file.
35753         * modules/idpriv-drop: New file.
35754
35755 2009-06-08  Bruno Haible  <bruno@clisp.org>
35756
35757         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
35758         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35759         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35760         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35761         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35762         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35763         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35764
35765 2009-06-08  Eric Blake  <ebb9@byu.net>
35766
35767         test-strstr: use memory fence, when possible
35768         * tests/test-strstr.c (main): Use memory fence, in order to be
35769         more likely to trigger Debian bug 521737.
35770         * modules/strstr-tests (Files): Pull in additional files.
35771
35772         memchr: no longer obsolete, for wider field testing
35773         * modules/memchr (Status, Notice): Delete, this module is no
35774         longer obsolete.
35775         * modules/vasnprintf (Depends-on): Add memchr.
35776
35777 2009-06-07  Jim Meyering  <meyering@redhat.com>
35778
35779         hash: declare some functions with the warn_unused_result attribute
35780         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
35781
35782 2009-06-07  Bruno Haible  <bruno@clisp.org>
35783
35784         * tests/test-alignof.c: Don't test int64_t if it does not exist.
35785         Reported by Eric Blake.
35786
35787 2009-06-06  Eric Blake  <ebb9@byu.net>
35788
35789         test-alignof: fix typo with long double
35790         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
35791         compiler error.
35792
35793 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
35794
35795         Escape non-texinfo { and }s.
35796         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
35797         markup error.
35798
35799 2009-06-04  Jim Meyering  <meyering@redhat.com>
35800
35801         gitlog-to-changelog: don't infloop on an empty commit log
35802         * build-aux/gitlog-to-changelog: Warn about an empty log message.
35803         Reported by Boris Petersen <transacid@centerim.org>.
35804
35805 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
35806
35807         version-etc: extend for packagers
35808         Add three new configure options, intended for packagers:
35809           --with-packager="packager name"
35810           --with-packager-version="packager-specific version"
35811           --with-packager-bug-reports="packager bug reporting"
35812         An example with coreutils:
35813           $ ./configure \
35814             --with-packager=Gentoo \
35815             --with-packager-bug-report=http://bugs.gentoo.org/ \
35816             --with-packager-version="patchset 1.6"
35817           $ ./src/ls --version | head -n2
35818           ls (GNU coreutils) 7.1-dirty
35819           Packaged by Gentoo (patchset 1.6)
35820         Note that the bug reporting info via --help doesn't show up because
35821         coreutils uses its own custom emit_bug_reporting_address() implementation
35822         in src/system.h.  If it didn't, it'd look like:
35823           $ ./src/ls --help | tail -n4
35824           Report bugs to <bug-coreutils@gnu.org>.
35825           Report Gentoo bugs to <http://bugs.gentoo.org/>.
35826           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
35827           General help using GNU software: <http://www.gnu.org/gethelp/>.
35828         * lib/version-etc.c: Print new information, if provided.
35829         * m4/version-etc.m4: New file.
35830         * modules/version-etc (Files): Add m4/version-etc.m4.
35831         (configure.ac): Add gl_VERSION_ETC.
35832
35833 2009-05-31  Bruno Haible  <bruno@clisp.org>
35834
35835         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
35836         and 'int64_t'.
35837         * modules/alignof-tests (Dependencies): Add stdint.
35838         Reported by Eric Blake.
35839
35840 2009-05-31  Bruno Haible  <bruno@clisp.org>
35841
35842         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
35843         restriction due to compiler bugs.
35844         Reported by Eric Blake.
35845
35846 2009-05-31  Simon Josefsson  <simon@josefsson.org>
35847             Bruno Haible  <bruno@clisp.org>
35848
35849         Fix test-alignof failure.
35850         * lib/alignof.h (alignof_slot): New macro.
35851         (alignof_type): New macro, with the same semantics as the previous
35852         'alignof'.
35853         (alignof): Alias to alignof_slot.
35854         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
35855         check that the results are usable as constant expressions.
35856
35857 2009-05-31  Bruno Haible  <bruno@clisp.org>
35858
35859         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
35860         * tests/test-memchr.c (main): Check that memchr does not read past the
35861         first occurrence of the byte.
35862         * tests/test-strstr.c (main): Update comment.
35863         Suggested by Eric Blake.
35864
35865 2009-05-30  Bruno Haible  <bruno@clisp.org>
35866
35867         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
35868         detail how to use dumpbin.
35869         Reported by David Byron <dbyron@dbyron.com>.
35870
35871 2009-06-02  Simon Josefsson  <simon@josefsson.org>
35872
35873         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
35874
35875 2009-06-02  Simon Josefsson  <simon@josefsson.org>
35876
35877         * m4/manywarnings.m4: Add GCC 4.4 warnings.
35878
35879 2009-05-28  Bruno Haible  <bruno@clisp.org>
35880
35881         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
35882         build-aux/ files.
35883
35884 2009-05-28  Simon Josefsson  <simon@josefsson.org>
35885
35886         * gnulib-tool (func_import): Transform license on build-aux/ files too.
35887
35888 2009-05-27  Simon Josefsson  <simon@josefsson.org>
35889
35890         * gnulib-tool (sed_transform_main_lib_file)
35891         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
35892         regexps.
35893
35894 2009-05-26  Simon Josefsson  <simon@josefsson.org>
35895
35896         * tests/test-strstr.c: Add another self-test.
35897         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
35898         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
35899
35900 2009-05-23  Bruno Haible  <bruno@clisp.org>
35901
35902         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
35903         change.
35904
35905 2009-05-21  Bruno Haible  <bruno@clisp.org>
35906
35907         Simplify use of mode_t varargs.
35908         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
35909         uses 'mode_t' or 'int'.
35910         * lib/openat.c (openat): Likewise.
35911         * lib/open-safer.c (open_safer): Likewise.
35912         * m4/mode_t.m4: New file.
35913         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
35914         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
35915         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
35916         * modules/open (Files): Add m4/mode_t.m4.
35917         * modules/openat (Files): Likewise.
35918         * modules/fcntl-safer (Files): Likewise.
35919         Suggested by Eric Blake.
35920
35921 2009-05-21  Pádraig Brady  <P@draigbrady.com>
35922
35923         * doc/glibc-functions/fallocate.texi: New file.
35924         * doc/gnulib.texi: Include it.
35925
35926 2009-05-21  Eric Blake  <ebb9@byu.net>
35927             Bruno Haible  <bruno@clisp.org>
35928
35929         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
35930         invocations.
35931         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35932
35933 2009-05-21  Eric Blake  <ebb9@byu.net>
35934             Bruno Haible  <bruno@clisp.org>
35935
35936         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
35937         include_next. Fix of 2008-11-20 commit.
35938         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
35939         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
35940         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
35941         NEXT_MATH_H.
35942         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
35943         instead of NEXT_MATH_H.
35944
35945 2009-05-21  Bruno Haible  <bruno@clisp.org>
35946
35947         Avoid redefinition warnings for SIZE_MAX.
35948         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
35949         Reported by Simon Josefsson.
35950
35951 2009-05-21  Bruno Haible  <bruno@clisp.org>
35952
35953         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
35954         AC_CACHE_VAL.
35955
35956 2009-05-20  Bruno Haible  <bruno@clisp.org>
35957
35958         Make zeroptr.h work on mingw.
35959         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
35960         mprotect.
35961         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
35962         * modules/memchr2-tests (configure.ac): Likewise.
35963         * modules/memcmp-tests (configure.ac): Likewise.
35964         * modules/memmem-tests (configure.ac): Likewise.
35965         * modules/memrchr-tests (configure.ac): Likewise.
35966         Reported by Simon Josefsson.
35967
35968 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35969
35970         * tests/test-glob.c: Include string.h for strcmp prototype.
35971
35972 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35973
35974         * modules/getdelim (Depends-on): Add explicit stdint, although it
35975         was implicitly already pulled in via realloc-posix.
35976         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
35977
35978 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35979
35980         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
35981         G. Christensen" <tgc@jupiterrise.com>.
35982         * m4/sys_socket_h.m4: Check for sa_family_t.
35983         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
35984         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
35985         * tests/test-sys_socket.c: Check that sa_family_t works.
35986
35987 2009-05-18  Eric Blake  <ebb9@byu.net>
35988
35989         maint.mk: allow gnulib_dir in VPATH build
35990         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
35991
35992 2009-05-15  Jim Meyering  <meyering@redhat.com>
35993
35994         maint.mk: Give gnulib_dir a default definition.
35995         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
35996         Thus, most packages no longer need to specify this variable in cfg.mk
35997
35998 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
35999
36000         rename.m4: fix typos that would make non-mingw cross-configure fail
36001         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
36002
36003 2009-05-13  Eric Blake  <ebb9@byu.net>
36004
36005         mmap-anon: avoid out-of-order autoconf expansion
36006         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
36007         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
36008         * modules/memchr-tests (Depends-on): Add extensions.
36009         * modules/memchr2-tests (Depends-on): Add extensions.
36010         * modules/memcmp-tests (Depends-on): Add extensions.
36011         * modules/memmem-tests (Depends-on): Add extensions.
36012         * modules/memrchr-tests (Depends-on): Add extensions.
36013
36014 2009-05-13  Bruno Haible  <bruno@clisp.org>
36015
36016         Make some tests ISO C 99 compliant.
36017         * tests/zerosize-ptr.h: New file.
36018         * tests/test-memchr.c: Include zerosize-ptr.h.
36019         (main): Use a zero-size object pointer instead of NULL.
36020         * tests/test-memchr2.c: Include zerosize-ptr.h.
36021         (main): Use a zero-size object pointer instead of NULL.
36022         * tests/test-memcmp.c: Include zerosize-ptr.h.
36023         (main): Use a zero-size object pointer instead of NULL.
36024         * tests/test-memmem.c: Include zerosize-ptr.h.
36025         (main): Use a zero-size object pointer instead of NULL.
36026         * tests/test-memrchr.c: Include zerosize-ptr.h.
36027         (main): Use a zero-size object pointer instead of NULL.
36028         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
36029         m4/mmap-anon.m4.
36030         (Depends-on): Add getpagesize.
36031         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36032         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
36033         m4/mmap-anon.m4.
36034         (Depends-on): Add getpagesize.
36035         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36036         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
36037         m4/mmap-anon.m4.
36038         (Depends-on): Add getpagesize.
36039         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36040         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
36041         m4/mmap-anon.m4.
36042         (Depends-on): Add getpagesize.
36043         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36044         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
36045         m4/mmap-anon.m4.
36046         (Depends-on): Add getpagesize.
36047         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36048
36049 2009-05-12  Bruno Haible  <bruno@clisp.org>
36050
36051         Tests for module 'alignof'.
36052         * modules/alignof-tests: New file.
36053         * tests/test-alignof.c: New file.
36054
36055 2009-05-12  Bruno Haible  <bruno@clisp.org>
36056
36057         Fix alignof macro.
36058         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
36059         vendor compilers that are always correct.
36060
36061 2009-05-12  Bruno Haible  <bruno@clisp.org>
36062
36063         Make the MAP_ANONYMOUS detection work on HP-UX 11.
36064         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
36065         not whether its fully works.
36066
36067 2009-05-12  Bruno Haible  <bruno@clisp.org>
36068
36069         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
36070
36071 2009-05-12  Jim Meyering  <meyering@redhat.com>
36072
36073         * top/maint.mk: Adjust backslash alignment.
36074
36075 2009-05-11  Simon Josefsson  <simon@josefsson.org>
36076
36077         * top/maint.mk: Make $(srcdir)/build-aux configurable.
36078
36079 2009-05-11  Eric Blake  <ebb9@byu.net>
36080
36081         argp: avoid undefined behavior
36082         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
36083         macros.
36084
36085 2009-05-08  Simon Josefsson  <simon@josefsson.org>
36086
36087         * tests/test-vc-list-files-git.sh: Do git config of user.email and
36088         user.name to prevent git commit from complaining.
36089
36090 2009-05-10  Bruno Haible  <bruno@clisp.org>
36091
36092         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
36093         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
36094         it rewrites every file name only once.
36095         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
36096
36097 2009-05-08  Bruno Haible  <bruno@clisp.org>
36098
36099         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
36100         instead of 'max'.
36101
36102 2009-05-08  Simon Josefsson  <simon@josefsson.org>
36103
36104         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
36105         sockaddr_storage test.
36106
36107 2009-05-07  Simon Josefsson  <simon@josefsson.org>
36108
36109         * modules/sys_socket (Makefile.am): Substitute
36110         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
36111         * m4/sys_socket_h.m4: Check for sockaddr_storage.
36112         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
36113         * tests/test-sys_socket.c: Check sockaddr_storage.
36114
36115 2009-05-08  Bruno Haible  <bruno@clisp.org>
36116
36117         New module 'alignof'.
36118         * lib/alignof.h: New file.
36119         * modules/alignof: New file.
36120
36121 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36122             Bruno Haible  <bruno@clisp.org>
36123
36124         Fix test-file-has-acl on FreeBSD.
36125         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
36126         mask is implicitly added.
36127         * tests/test-file-has-acl.c: Include <signal.h>.
36128         (main): Terminate the test after 5 seconds.
36129         * modules/acl-tests (configure.ac): Check for alarm function.
36130
36131 2009-05-04  Bruno Haible  <bruno@clisp.org>
36132
36133         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
36134         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
36135         * modules/errno (configure.ac): Drop AC_REQUIRE.
36136         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
36137         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
36138
36139 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36140
36141         * modules/glob-tests: New module.
36142         * tests/test-glob.c: Add.
36143
36144 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36145
36146         * modules/fnmatch-tests: New module.
36147         * tests/test-fnmatch.c: Add.
36148
36149 2009-05-04  Eric Blake  <ebb9@byu.net>
36150
36151         maint: make the new no-submodule-changes rule VPATH-safe
36152         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
36153
36154 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36155             Bruno Haible  <bruno@clisp.org>
36156
36157         acl: Fix infinite loop on FreeBSD.
36158         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
36159         of return value from acl_get_entry.
36160         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
36161         Likewise.
36162
36163 2009-05-03  Bruno Haible  <bruno@clisp.org>
36164
36165         * lib/acl-internal.h (acl_entries): Clarify return value.
36166         * lib/acl_entries.c (acl_entries): Likewise.
36167
36168 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36169
36170         Bug fix in acl module.
36171         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
36172
36173 2009-05-03  Bruno Haible  <bruno@clisp.org>
36174
36175         Create gperf-generated file in the source dir, not in the build dir.
36176         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
36177         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
36178         * modules/unicase/locale-language (unicase/locale-languages.h):
36179         Likewise.
36180         * modules/unicase/special-casing (unicase/special-casing-table.h):
36181         Likewise.
36182         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
36183         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
36184         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
36185         Reported by Ralf Wildenhues.
36186
36187 2009-05-03  Bruno Haible  <bruno@clisp.org>
36188
36189         * modules/fnmatch (Description, configure.ac): Taken from
36190         fnmatch-posix.
36191         * modules/fnmatch-posix: Turn into a symbolic reference to the
36192         'fnmatch' module, and deprecate.
36193         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
36194
36195 2009-05-03  Bruno Haible  <bruno@clisp.org>
36196
36197         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
36198         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
36199         Reported by Ralf Wildenhues.
36200
36201 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36202
36203         * m4/fnmatch.m4: Fix fnmatch re-define.
36204
36205 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36206
36207         priv-set: new module and tests; adapt write-any-file
36208         * lib/priv-set.c: New file.
36209         * lib/priv-set.h: New file.
36210         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
36211         * lib/write-any-file.c: Simplify by using priv-set module.
36212         * m4/priv-set.m4: New file.
36213         * modules/priv-set: New file.
36214         * modules/unlinkdir: Add dependency on priv-set module.
36215         * modules/write-any-file: Likewise.
36216
36217         Tests for module 'priv-set'.
36218         * modules/priv-set-tests: New file.
36219         * tests/test-priv-set.c: New file.
36220
36221 2009-05-03  Jim Meyering  <meyering@redhat.com>
36222             Bruno Haible  <bruno@clisp.org>
36223
36224         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
36225         use the converted UTF-8 variant of the name instead.
36226
36227 2009-05-03  Jim Meyering  <meyering@redhat.com>
36228
36229         tests: tighten some getdate tests
36230         * tests/test-getdate.c (main): Tighten tests: require equality,
36231         not just greater than.  Set TZ envvar to UTC0.
36232
36233 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
36234
36235         getdate: correctly interpret "next monday" when run on a Monday
36236         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
36237         that e.g., "next tues" (when run on a tuesday) results in a date
36238         that is one week in the future, and not today's date.
36239         I.e., add a week when the wday is the same as the current one.
36240         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
36241         and earlier by Martin Bernreuther and Jan Minář.
36242         * tests/test-getdate.c (main): Check that "next DAY" is always in
36243         the future and that "last DAY" is always in the past.
36244
36245 2009-05-02  Jim Meyering  <meyering@redhat.com>
36246
36247         build: ensure that a release build fails when a submodule is unclean
36248         * top/maint.mk (no-submodule-changes): New rule.
36249         (alpha beta major): Depend on it.
36250
36251 2009-05-02  Bruno Haible  <bruno@clisp.org>
36252
36253         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
36254         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
36255         shell variable gl_fnmatch_required to detect which variant is
36256         requested.
36257         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
36258         gl_FUNC_FNMATCH_POSIX.
36259         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
36260         exclude fnmatch-posix.
36261
36262 2009-05-02  Bruno Haible  <bruno@clisp.org>
36263
36264         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
36265         * modules/mbsrtowcs (License): Change to LGPLv2+.
36266         * modules/strnlen1 (License): Likewise.
36267         Reported by Simon Josefsson.
36268
36269 2009-05-02  Bruno Haible  <bruno@clisp.org>
36270
36271         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
36272         "cross".
36273         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
36274         gnulib-tool was called with option --source-base=lib.
36275
36276 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36277
36278         Use automake *-local hooks without commands, for extensibility.
36279         * modules/localcharset (Makefile.am): Rename install-exec-local
36280         rule to install-exec-localcharset, and make it a prerequisite of
36281         install-exec-local.  Likewise, rename the uninstall-local rule to
36282         uninstall-localcharset, and make it a prerequisite of the former.
36283
36284 2009-05-01  Bruno Haible  <bruno@clisp.org>
36285
36286         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
36287         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
36288         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
36289         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
36290         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
36291         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
36292         m4/locale-zh.m4, m4/codeset.m4.
36293
36294         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
36295         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
36296         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
36297         m4/locale-zh.m4.
36298
36299         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
36300         REPLACE_WCRTOMB if mbstate_t must be replaced.
36301         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
36302         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
36303
36304 2009-05-01  Bruno Haible  <bruno@clisp.org>
36305
36306         Avoid compiler warnings when redefining macros defined by <libintl.h>.
36307         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
36308         dngettext, dcngettext, textdomain, bindtextdomain,
36309         bind_textdomain_codeset): Undefine before redefining.
36310
36311 2009-04-30  Bruno Haible  <bruno@clisp.org>
36312
36313         Fix bug introduced on 2009-04-25.
36314         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
36315         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
36316         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
36317         is defined.
36318         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
36319         is defined.
36320         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
36321         is defined.
36322         Reported by Elbert_Pol <elbert.pol@gmail.com>.
36323
36324 2009-04-28  Bruno Haible  <bruno@clisp.org>
36325
36326         Comment tweaks.
36327         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
36328         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
36329         * lib/unicase.h (u*_casexfrm): Likewise.
36330         Reported by Paolo Bonzini.
36331
36332 2009-04-28  Bruno Haible  <bruno@clisp.org>
36333
36334         Fix a compilation error.
36335         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
36336         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
36337         Reported by Jim Meyering.
36338
36339 2009-04-27  Bruno Haible  <bruno@clisp.org>
36340
36341         New module 'libunistring'.
36342         * modules/libunistring: New file.
36343         * m4/libunistring.m4: New file.
36344         * MODULES.html.sh (Unicode string functions): Add it.
36345
36346 2009-04-27  Eric Blake  <ebb9@byu.net>
36347
36348         maint.mk: allow package-specific header to provide <config.h>
36349         * top/maint.mk (sc_require_config_h): New variable.
36350         (sc_require_config_h, sc_require_config_h_first): Use it.
36351
36352 2009-04-27  Simon Josefsson  <simon@josefsson.org>
36353
36354         * top/maint.mk (sc_avoid_if_before_free): Except
36355         useless-if-before-free script.
36356
36357 2009-04-27  Eric Blake  <ebb9@byu.net>
36358
36359         maintainer-makefile: depend on all required helper scripts
36360         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
36361         useless-if-before-free.
36362         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
36363         version, rather than assuming gnulib checkout is available.
36364         Reported by Simen Josefsson.
36365
36366 2009-04-26  Bruno Haible  <bruno@clisp.org>
36367
36368         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
36369         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
36370         "../" or "..".
36371
36372 2009-04-26  Bruno Haible  <bruno@clisp.org>
36373
36374         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
36375         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
36376         AC_LIB_HAVE_LINKFLAGS.
36377
36378 2009-04-26  Bruno Haible  <bruno@clisp.org>
36379
36380         Simplify calling convention of u*_conv_from_encoding.
36381         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
36382         u32_conv_from_encoding): Expect a resultbuf argument and return the
36383         result directly as a pointer.
36384         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
36385         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
36386         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
36387         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
36388         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
36389         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
36390         Update.
36391         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
36392         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
36393         * lib/vasnprintf.c (VASNPRINTF): Update.
36394         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
36395         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
36396         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
36397         * NEWS: Mention the change.
36398
36399 2009-04-26  Bruno Haible  <bruno@clisp.org>
36400
36401         Simplify calling convention of u*_conv_to_encoding.
36402         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
36403         u32_conv_to_encoding): Expect a resultbuf argument and return the
36404         result directly as a pointer.
36405         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
36406         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
36407         freeing scaled_offsets if mem_iconveha failed.
36408         * lib/unicase/u-casexfrm.h (FUNC): Update.
36409         * lib/uninorm/u-normxfrm.h (FUNC): Update.
36410         * lib/vasnprintf.c (VASNPRINTF): Update.
36411         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
36412         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
36413         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
36414         * NEWS: Mention the change.
36415
36416 2009-04-26  Bruno Haible  <bruno@clisp.org>
36417
36418         Avoid test failures on AIX and OSF/1.
36419         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
36420         malloc(0).
36421         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
36422         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
36423         Likewise.
36424         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
36425         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
36426         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
36427         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
36428         * doc/posix-functions/malloc.texi: Document the portability problem
36429         related to malloc(0).
36430
36431 2009-04-26  Bruno Haible  <bruno@clisp.org>
36432
36433         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
36434         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
36435         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
36436
36437 2009-04-25  Bruno Haible  <bruno@clisp.org>
36438
36439         Avoid link error when creating a namespace clean library.
36440         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
36441         as macro with arguments if already defined as an alias.
36442         * lib/signbitf.c (gl_signbitf): Don't undefine.
36443         * lib/signbitd.c (gl_signbitd): Don't undefine.
36444         * lib/signbitl.c (gl_signbitl): Don't undefine.
36445
36446 2009-04-25  Jim Meyering  <meyering@redhat.com>
36447
36448         vc-list-files: fix another quoting bug
36449         * build-aux/vc-list-files: Avoid sed backslash expansion
36450         of pathological directory names.
36451
36452 2009-04-25  Eric Blake  <ebb9@byu.net>
36453
36454         vc-list-files: fix shell quoting error
36455         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
36456         timestamp.
36457
36458 2009-04-25  Jim Meyering  <meyering@redhat.com>
36459
36460         vc-list-files: restore lost functionality with subdir argument
36461         * build-aux/vc-list-files: When given a non-"." sub-directory
36462         argument, substitute the $dir/ prefix back onto each resulting name.
36463         Otherwise, coreutils' root_tests check would fail.
36464
36465 2009-04-24  Eric Blake  <ebb9@byu.net>
36466
36467         vc-list-files: ignore git symlinks
36468         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
36469         than ls-files, to ignore git symlinks.
36470
36471         maint.mk: import improvements from m4
36472         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
36473         (move_if_change): Delete unused macro.
36474         (news-date-check, vc-diff-check): Support VPATH builds.
36475         (announcement): Likewise.  Split --bootstrap-tools list...
36476         (boostrap-tools): ...into separate list, which can be overridden
36477         in cfg.mk.
36478         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
36479         requiring dependency on useless-if-before-free module.
36480         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
36481         Support VPATH builds.
36482
36483 2009-04-24  Jim Meyering  <meyering@redhat.com>
36484
36485         maint.mk: remove coreutils-specific rules and variables
36486         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
36487         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
36488         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
36489
36490         maint.mk: remove obsolete rule
36491         * top/maint.mk (rel-check): Remove rule.
36492         (WGET, WGETFLAGS): Remove now-unused variables.
36493
36494 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36495
36496         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
36497         consistency.
36498
36499         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
36500         '$(PATH_SEPARATOR)' instead of ':'.
36501
36502 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36503
36504         * lib/getopt1.c (main): Use 'const' for static array.
36505
36506 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36507
36508         * top/maint.mk: Sync with coreutils.
36509         * NEWS: Explain incompatibilities.
36510
36511 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36512             Bruno Haible  <bruno@clisp.org>
36513
36514         Fix cross-compilation results.
36515         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
36516         statement, as third argument of AC_TRY_RUN.
36517         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
36518         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
36519         Likewise.
36520         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
36521         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
36522         Likewise.
36523         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
36524         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
36525         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
36526
36527 2009-04-20  Bruno Haible  <bruno@clisp.org>
36528
36529         Avoid test failure on mingw.
36530         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
36531
36532 2009-04-20  Bruno Haible  <bruno@clisp.org>
36533
36534         Avoid compilation error on mingw.
36535         * modules/localename-tests (Depends-on): Add locale.
36536
36537 2009-04-19  Bruno Haible  <bruno@clisp.org>
36538
36539         Support for building a shared library on Windows platforms.
36540         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
36541         (main): Test the presence of UNINORM_NFC here.
36542         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
36543         (main): Test the presence of UNINORM_NFD here.
36544         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
36545         (main): Test the presence of UNINORM_NFKC here.
36546         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
36547         (main): Test the presence of UNINORM_NFKD here.
36548
36549 2009-04-19  Bruno Haible  <bruno@clisp.org>
36550
36551         Avoid a compiler warning.
36552         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
36553         Change type of variable 'sequence'.
36554
36555 2009-04-19  Bruno Haible  <bruno@clisp.org>
36556
36557         * modules/configmake (Makefile.am): When the contents of configmake.h
36558         does not change, arrange to preserve its modification time.
36559
36560 2009-04-17  Simon Josefsson  <simon@josefsson.org>
36561
36562         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
36563         gettext domain.
36564
36565 2009-04-16  Jim Meyering  <meyering@redhat.com>
36566
36567         useless-if-before-free: improve conversion code
36568         * build-aux/useless-if-before-free: Adjust code-in-comment to match
36569         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
36570
36571 2009-04-14  Bruno Haible  <bruno@clisp.org>
36572
36573         * modules/fcntl (Depends-on): Add extensions.
36574         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
36575
36576 2009-04-12  Ben Pfaff  <blp@gnu.org>
36577
36578         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
36579         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
36580
36581 2009-03-20  Ben Pfaff  <blp@gnu.org>
36582
36583         Make rename replace existing destinations on Windows.
36584         * m4/rename.m4: Add test for Mingw.
36585         * lib/rename.c: Add rename replacement that uses MoveFileEx with
36586         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
36587         * doc/posix-functions/rename.texi: Document.
36588
36589 2009-04-10  Bruno Haible  <bruno@clisp.org>
36590
36591         New include file "iconveh.h".
36592         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
36593         * lib/striconveh.h: Include it.
36594         (enum iconv_ilseq_handler): Remove definition.
36595         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
36596         striconveh.h.
36597         * lib/striconveha.c: Include striconveh.h.
36598         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
36599         * modules/striconveh (Files): Add lib/iconveh.h.
36600         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
36601         lib/striconveh.h.
36602
36603 2009-04-10  Bruno Haible  <bruno@clisp.org>
36604
36605         * lib/uniconv.h: Update comment.
36606
36607 2009-04-10  Bruno Haible  <bruno@clisp.org>
36608
36609         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
36610         always.
36611         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
36612         * lib/unistr/u16-mbtouc-aux.c: Likewise.
36613         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
36614         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
36615         "unistring-notinline.h", so that the function gets defined always.
36616         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
36617         * lib/unistr/u8-uctomb.c: Likewise.
36618         * lib/unistr/u16-mbtouc.c: Likewise.
36619         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
36620         * lib/unistr/u16-uctomb.c: Likewise.
36621         * lib/unistr/u32-mbtouc.c: Likewise.
36622         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
36623         * lib/unistr/u32-uctomb.c: Likewise.
36624
36625 2009-04-10  Bruno Haible  <bruno@clisp.org>
36626
36627         Mark 'utime' obsolete.
36628         * modules/utime (Status, Notice): New sections.
36629         Suggested by Jim Meyering.
36630
36631         Fix cross-compile guess for utime test.
36632         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
36633         autoconf.
36634         * doc/posix-functions/utime.texi: Give more precisions.
36635         Reported by Jan <ipif@ymail.com>.
36636
36637 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
36638
36639         filevercmp: correct today's change
36640         * lib/filevercmp.c: Also handle coreutils' test inputs.
36641         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
36642
36643         Fix regression in 'filevercmp' module. Thanks Sven Joachim
36644         for reporting it.
36645         * lib/filevercmp.c: Special handle for "", "." and "..".
36646         * tests/test-filevercmp.c: Enlarge the set suite.
36647
36648 2009-04-07  Jim Meyering  <meyering@redhat.com>
36649
36650         useless-if-before-free: show how to remove braced useless free, too
36651         * build-aux/useless-if-before-free: still only in a comment, though.
36652
36653 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
36654
36655         maint.mk: import changes to syntax-check macros from coreutils
36656         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
36657         Use them in the relevant macros.
36658
36659 2009-04-06  Bruno Haible  <bruno@clisp.org>
36660
36661         Fix unportable use of bit-fields.
36662         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
36663         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
36664         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
36665
36666 2009-04-06  Bruno Haible  <bruno@clisp.org>
36667
36668         Avoid test failures on AIX and OSF/1.
36669         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
36670         that malloc(0) = NULL.
36671         * tests/unicase/test-u8-tolower.c (check): Likewise.
36672         * tests/unicase/test-u8-totitle.c (check): Likewise.
36673         * tests/unicase/test-u8-toupper.c (check): Likewise.
36674         * tests/unicase/test-u16-casefold.c (check): Likewise.
36675         * tests/unicase/test-u16-tolower.c (check): Likewise.
36676         * tests/unicase/test-u16-totitle.c (check): Likewise.
36677         * tests/unicase/test-u16-toupper.c (check): Likewise.
36678         * tests/unicase/test-u32-casefold.c (check): Likewise.
36679         * tests/unicase/test-u32-tolower.c (check): Likewise.
36680         * tests/unicase/test-u32-totitle.c (check): Likewise.
36681         * tests/unicase/test-u32-toupper.c (check): Likewise.
36682         * tests/uninorm/test-u8-nfc.c (check): Likewise.
36683         * tests/uninorm/test-u8-nfd.c (check): Likewise.
36684         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
36685         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
36686         * tests/uninorm/test-u16-nfc.c (check): Likewise.
36687         * tests/uninorm/test-u16-nfd.c (check): Likewise.
36688         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
36689         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
36690         * tests/uninorm/test-u32-nfc.c (check): Likewise.
36691         * tests/uninorm/test-u32-nfd.c (check): Likewise.
36692         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
36693         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
36694
36695 2009-04-05  Bruno Haible  <bruno@clisp.org>
36696
36697         Work around an autoconf limitation.
36698         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
36699         comment line if it would be longer than 3 KB.
36700
36701 2009-04-05  Bruno Haible  <bruno@clisp.org>
36702
36703         Avoid test failure with libiconv-1.13.
36704         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
36705         of the expected test results.
36706
36707 2009-04-05  Bruno Haible  <bruno@clisp.org>
36708
36709         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
36710         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
36711         that it should be installed.
36712
36713 2009-04-05  Bruno Haible  <bruno@clisp.org>
36714
36715         * gnulib-tool: New option --copy-file.
36716         (func_usage): Document it.
36717         (func_dest_tmpfilename): Moved out of func_import.
36718         (func_add_file, func_update_file): New functions, extracted from
36719         func_import.
36720         (func_import): Update.
36721
36722 2009-04-05  Karl Berry  <karl@gnu.org>
36723
36724         * README: prominently mention gnulib-tool.
36725         Rearrange sections so getting the code is near the top.
36726
36727 2009-04-05  Bruno Haible  <bruno@clisp.org>
36728
36729         * lib/unicase.h: Mention u*_cmp2.
36730         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
36731         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
36732         * lib/unicase/ulc-casecmp.c: Likewise.
36733         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
36734         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
36735         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
36736         unistr/u8-cmp.
36737         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
36738         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
36739         unistr/u16-cmp.
36740         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
36741         unistr/u32-cmp.
36742
36743         * lib/uninorm.h: Mention u*_cmp2.
36744         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
36745         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
36746         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
36747         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
36748         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
36749         unistr/u8-cmp.
36750         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
36751         unistr/u16-cmp.
36752         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
36753         unistr/u32-cmp.
36754
36755         New module 'unistr/u32-cmp2'.
36756         * lib/unistr/u32-cmp2.c: New file.
36757         * modules/unistr/u32-cmp2: New file.
36758
36759         New module 'unistr/u16-cmp2'.
36760         * lib/unistr/u16-cmp2.c: New file.
36761         * modules/unistr/u16-cmp2: New file.
36762
36763         New module 'unistr/u8-cmp2'.
36764         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
36765         * lib/unistr/u8-cmp2.c: New file.
36766         * lib/unistr/u-cmp2.h: New file.
36767         * modules/unistr/u8-cmp2: New file.
36768
36769 2009-04-05  Bruno Haible  <bruno@clisp.org>
36770
36771         * lib/unictype.h (uc_property_is_valid): New macro.
36772         * tests/unictype/test-pr_byname.c (main): Use it.
36773
36774         * lib/unistr.h: Doc fixes.
36775         * lib/uniconv.h: Doc fixes.
36776         * lib/unictype.h: Doc fixes.
36777
36778 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
36779
36780         Port coreutils 7.2 to Solaris 8.
36781
36782         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
36783         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
36784         for Solaris 8.  This is a bit of a hack, as it means it's the
36785         caller's responsibility to add -lnsl if needed, but most likely it
36786         won't be needed since only getaddrinfo uses this and getaddrinfo
36787         isn't needed on Solaris 8.
36788
36789         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
36790         problem to Solaris 8 encountered with coreutils 7.2, which
36791         resulted in a message "fnmatch.c:292: warning: passing argument 4
36792         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
36793         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
36794
36795 2009-04-03  Simon Josefsson  <simon@josefsson.org>
36796
36797         * m4/ld-version-script.m4: Add FIXME comment.
36798
36799 2009-04-02  Simon Josefsson  <simon@josefsson.org>
36800
36801         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
36802         SOVERSION variable.
36803
36804 2009-04-02  Bruno Haible  <bruno@clisp.org>
36805
36806         * Makefile (info, html, dvi, pdf): Combine the rules.
36807         Suggested by Jim Meyering.
36808
36809 2009-04-01  Bruno Haible  <bruno@clisp.org>
36810
36811         * Makefile (info, html, dvi, pdf): New targets.
36812         Reported by Reuben Thomas <rrt@sc3d.org>.
36813
36814 2009-04-01  Bruno Haible  <bruno@clisp.org>
36815
36816         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
36817         can be put into PATH.
36818         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
36819
36820 2009-04-01  Bruno Haible  <bruno@clisp.org>
36821
36822         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
36823
36824 2009-04-01  Bruno Haible  <bruno@clisp.org>
36825
36826         Rename module 'visibility'.
36827         * modules/lib-symbol-visibility: Renamed from modules/visibility.
36828         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
36829         * doc/gnulib.texi: Update.
36830         * MODULES.html.sh (Misc): Update.
36831         * NEWS: Mention the change.
36832
36833 2009-04-01  Simon Josefsson  <simon@josefsson.org>
36834
36835         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
36836         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
36837         Eric Blake <ebb9@byu.net> for review.
36838         * MODULES.html.sh: Add lib-msvc-compat.
36839         * doc/gnulib.texi: Link to new section.
36840         * m4/ld-output-def.m4: New file.
36841         * doc/ld-output-def.texi: New file.
36842
36843 2009-04-01  Simon Josefsson  <simon@josefsson.org>
36844
36845         Rename ld-version-script to lib-symbol-versions.  Suggested by
36846         Bruno Haible <bruno@clisp.org>.
36847         * modules/ld-version-script: Renamed to lib-symbol-versions.
36848         * doc/ld-version-script.texi: Fix module name.
36849         * MODULES.html.sh: Add lib-symbol-versions.
36850
36851 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36852
36853         * modules/u64-tests: New file.
36854         * tests/test-u64.c: New file.
36855
36856 2009-03-04  Simon Josefsson  <simon@josefsson.org>
36857
36858         * MODULES.html.sh: Mention u64.
36859         * modules/u64: New module.
36860         * modules/crypto/sha512: Depend on u64 module instead of providing
36861         u64.h.
36862
36863 2009-03-27  Eric Blake  <ebb9@byu.net>
36864
36865         test-strerror: make debugging EAI_SYSTEM easier
36866         * modules/getaddrinfo-tests (Depends-on): Add strerror.
36867         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
36868         failure was EAI_SYSTEM.
36869
36870 2009-03-25  Bruno Haible  <bruno@clisp.org>
36871
36872         Fix a problem with --enable-relocatable on Solaris 7.
36873         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
36874         since 2008-02-24.
36875
36876 2009-03-25  Eric Blake  <ebb9@byu.net>
36877
36878         test-sockets: avoid gcc warning
36879         * tests/test-sockets.c (main): Silence compiler warning.
36880
36881 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
36882
36883         New modules nproc, pthread, contributed by Glen Lenker.
36884
36885         * MODULES.html.sh: Add pthread, nproc.
36886         * lib/nproc.c: New file.
36887         * lib/nproc.h: New file.
36888         * lib/pthread.in.h: New file.
36889         * m4/pthread.m4: New file.
36890         * modules/nproc: New file.
36891         * modules/pthread: New file.
36892
36893 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36894
36895         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
36896         New variable.
36897
36898 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
36899
36900         filevercmp: handle simple~ and numbered.~3~ backup suffixes
36901         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
36902         * tests/test-filevercmp.c: Add tests for backup suffixes.
36903
36904 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36905
36906         * modules/stdlib (Depends-on): Add stdint, needed when defining
36907         struct random_data on, for example, HP-UX 10.20.  Reported by
36908         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36909
36910 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36911
36912         * lib/readline.c (readline): Call fflush on stdout after printing
36913         prompt.
36914
36915 2009-03-20  Bruno Haible  <bruno@clisp.org>
36916
36917         Remove dependency from 'close' module to -lws2_32 on native Windows.
36918         * lib/close-hook.h: New file.
36919         * lib/close-hook.c: New file.
36920         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
36921         w32sock.h.
36922         (_gl_close_fd_maybe_socket): Remove function.
36923         (rpl_close): Invoke execute_all_close_hooks instead of
36924         _gl_close_fd_maybe_socket.
36925         * lib/sockets.c: Include close-hook.h, w32sock.h.
36926         (close_fd_maybe_socket): New function, essentially from lib/close.c.
36927         (close_sockets_hook): New variable.
36928         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
36929         (gl_sockets_cleanup): Unregister it.
36930         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
36931         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
36932         * modules/close-hook: New file.
36933         * modules/close (Files): Remove lib/w32sock.h.
36934         (Depends-on): Add close-hook.
36935         (Link): Remove section.
36936         * modules/sockets (Files): Add lib/w32sock.h.
36937         (Depends-on): Add close-hook.
36938         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
36939         invocation.
36940         * NEWS: Mention that LIB_CLOSE is gone.
36941
36942 2009-03-23  Eric Blake  <ebb9@byu.net>
36943
36944         signal-tests: test previous patch
36945         * tests/test-signal.c: New file.
36946         * modules/signal-tests: Likewise.
36947
36948         signal.h: always support 'volatile sig_atomic_t'
36949         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
36950         (gl_SIGNAL_H_DEFAULTS): Add a default.
36951         * modules/signal (Makefile.am): Substitute if needed.
36952         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
36953         users can blindly add volatile.
36954         * doc/posix-headers/signal.texi (signal.h): Document it.
36955         Reported by Matthew Woehlke.
36956
36957 2009-03-23  Jim Meyering  <meyering@redhat.com>
36958
36959         pathmax: PATH_MAX: use pathconf only when available
36960         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
36961         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
36962         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
36963         This avoids a link failure in a PSP cross-compilation environment
36964         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
36965
36966         * lib/vasnprintf.c (divide): Fix typo in comment.
36967
36968 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36969
36970         * gnulib-tool (func_filter_filelist): Fix comment.
36971
36972 2009-03-20  Bruno Haible  <bruno@clisp.org>
36973
36974         Make sockets.h self-contained.
36975         * lib/sockets.c: Include sockets.h first.
36976         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
36977
36978 2009-03-19  Eric Blake  <ebb9@byu.net>
36979
36980         doc: mention more functions added in cygwin 1.7.0
36981         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
36982         addition.
36983         * doc/posix-functions/log2f.texi: Likewise.
36984
36985 2009-03-19  Jim Meyering  <meyering@redhat.com>
36986
36987         fsusage: avoid syntax error due to statement-before-declaration
36988         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
36989         after all declarations.  Reported by Matthew Woehlke in
36990         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
36991
36992 2009-03-18  Eric Blake  <ebb9@byu.net>
36993
36994         build-aux/compile: sync from automake
36995         * build-aux/compile: New file, from automake.
36996         * config/srclist.txt: Mention build-aux/compile.
36997
36998 2009-03-17  Bruno Haible  <bruno@clisp.org>
36999
37000         * lib/git-merge-changelog.c: Fix typo in comment.
37001         Reported by Reuben Thomas <rrt@sc3d.org>.
37002
37003 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
37004
37005         * m4/regex.m4: update and improve help for
37006         --without-included-regex.
37007
37008 2009-03-17  Simon Josefsson  <simon@josefsson.org>
37009
37010         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
37011         failure on missing include files.
37012
37013 2009-03-17  Eric Blake  <ebb9@byu.net>
37014
37015         doc: mention more functions added in cygwin 1.7.0
37016         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
37017         addition.
37018         * doc/posix-functions/fwscanf.texi: Likewise.
37019         * doc/posix-functions/swprintf.texi: Likewise.
37020         * doc/posix-functions/swscanf.texi: Likewise.
37021         * doc/posix-functions/vfwprintf.texi: Likewise.
37022         * doc/posix-functions/vfwscanf.texi: Likewise.
37023         * doc/posix-functions/vswprintf.texi: Likewise.
37024         * doc/posix-functions/vswscanf.texi: Likewise.
37025         * doc/posix-functions/vwprintf.texi: Likewise.
37026         * doc/posix-functions/vwscanf.texi: Likewise.
37027         * doc/posix-functions/wcscasecmp.texi: Likewise.
37028         * doc/posix-functions/wcsdup.texi: Likewise.
37029         * doc/posix-functions/wcsftime.texi: Likewise.
37030         * doc/posix-functions/wcsncasecmp.texi: Likewise.
37031         * doc/posix-functions/wprintf.texi: Likewise.
37032         * doc/posix-functions/wscanf.texi: Likewise.
37033         * doc/glibc-functions/gethostbyname2.texi: Likewise.
37034
37035 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37036
37037         maint.mk: really add $(AM_MAKEFLAGS)
37038         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
37039         was inadvertently omitted in the last commit.
37040         Spotted by Bruno Haible.
37041
37042         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
37043         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
37044         $(AM_MAKEFLAGS)' rather than plain `make'.
37045
37046         gnulib-tool: execute $MAKE not make
37047         * gnulib-tool: Default $MAKE to 'make'.
37048         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
37049         than make.  Initialize $MAKE in the do-autobuild script.
37050
37051         gnulib-tool: use $MAKE not make in generated files
37052         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
37053         make, in generated files.  Initialize $MAKE in the do-autobuild
37054         script.
37055
37056         * top/GNUmakefile (_have-git-version-gen): Fix typo.
37057
37058         GNUmakefile: disable parallelism only for multiple, recursive targets
37059         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
37060         additions in the Makefile.
37061         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
37062         by Automake.
37063         (.NOTPARALLEL): Only disable parallel builds if multiple targets
37064         are listed on the command line and at least one of them is
37065         listed in $(ALL_RECURSIVE_TARGETS).
37066
37067 2009-03-14  Bruno Haible  <bruno@clisp.org>
37068
37069         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
37070         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
37071         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
37072         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
37073         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
37074         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
37075         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
37076         unistr/u8-uctomb.
37077         * modules/unistr/u8-strchr (Depends-on): Likewise.
37078         * modules/unistr/u8-strrchr (Depends-on): Likewise.
37079         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
37080         unistr/u16-uctomb.
37081         * modules/unistr/u16-strchr (Depends-on): Likewise.
37082         * modules/unistr/u16-strrchr (Depends-on): Likewise.
37083
37084 2009-03-12  Bruno Haible  <bruno@clisp.org>
37085
37086         Work around select() bug on Interix 3.5.
37087         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
37088         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
37089         * m4/select.m4: New file.
37090         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
37091         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
37092         * modules/select (Files): Add m4/select.m4.
37093         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
37094         * modules/nanosleep (Depends-on): Add select.
37095         * modules/poll (Depends-on): Likewise.
37096         * doc/posix-functions/select.texi: Mention the Interix bug.
37097         Reported by Markus Duft <mduft@gentoo.org>.
37098
37099         * lib/select.c: Renamed from lib/winsock-select.c.
37100         * modules/select (Files): Add lib/select.c, remove
37101         lib/winsock-select.c.
37102         (configure.ac): Update.
37103
37104 2009-03-12  Jim Meyering  <meyering@redhat.com>
37105
37106         avoid gcc warnings about unused macro definitions
37107         * lib/readtokens.c (STREQ): Remove unused definition.
37108         * lib/xmalloc.c (SIZE_MAX): Likewise.
37109         * lib/openat-die.c (N_): Likewise.
37110         * lib/mountlist.c (SIZE_MAX): Remove definition.
37111         Instead, include <stdint.h>.
37112         * lib/readutmp.c: Likewise.
37113         * modules/readutmp (Depends-on): Add stdint.
37114         * modules/mountlist (Depends-on): Add stdint.
37115         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
37116
37117 2009-03-10  Bruno Haible  <bruno@clisp.org>
37118
37119         Tests for module 'mbmemcasecoll'.
37120         * modules/mbmemcasecoll-tests: New file.
37121         * tests/test-mbmemcasecoll1.sh: New file.
37122         * tests/test-mbmemcasecoll2.sh: New file.
37123         * tests/test-mbmemcasecoll3.sh: New file.
37124         * tests/test-mbmemcasecoll.c: New file.
37125
37126         New module 'mbmemcasecoll'.
37127         * lib/mbmemcasecoll.h: New file.
37128         * lib/mbmemcasecoll.c: New file.
37129         * modules/mbmemcasecoll: New file.
37130
37131         * tests/test-mbmemcasecmp.h: New file, extracted from
37132         tests/test-mbmemcasecmp.c.
37133         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
37134         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
37135         (main): Update.
37136         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
37137
37138 2009-03-09  Bruno Haible  <bruno@clisp.org>
37139
37140         Tests for module 'mbmemcasecmp'.
37141         * modules/mbmemcasecmp-tests: New file.
37142         * tests/test-mbmemcasecmp1.sh: New file.
37143         * tests/test-mbmemcasecmp2.sh: New file.
37144         * tests/test-mbmemcasecmp3.sh: New file.
37145         * tests/test-mbmemcasecmp.c: New file.
37146
37147         New module 'mbmemcasecmp'.
37148         * lib/mbmemcasecmp.h: New file.
37149         * lib/mbmemcasecmp.c: New file.
37150         * modules/mbmemcasecmp: New file.
37151
37152 2009-03-09  Bruno Haible  <bruno@clisp.org>
37153
37154         Tests for module 'unicase/ulc-casecoll'.
37155         * modules/unicase/ulc-casecoll-tests: New file.
37156         * tests/unicase/test-ulc-casecoll1.sh: New file.
37157         * tests/unicase/test-ulc-casecoll2.sh: New file.
37158         * tests/unicase/test-ulc-casecoll.c: New file.
37159
37160         New module 'unicase/ulc-casecoll'.
37161         * lib/unicase.h (ulc_casecoll): New declaration.
37162         * lib/unicase/ulc-casecoll.c: New file.
37163         * modules/unicase/ulc-casecoll: New file.
37164
37165         New module 'unicase/ulc-casexfrm'.
37166         * lib/unicase.h (ulc_casexfrm): New declaration.
37167         * lib/unicase/ulc-casexfrm.c: New file.
37168         * modules/unicase/ulc-casexfrm: New file.
37169
37170 2009-03-09  Bruno Haible  <bruno@clisp.org>
37171
37172         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
37173         invocations.
37174
37175         * m4/mbscasecmp.m4: Remove file.
37176         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
37177         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
37178
37179         * m4/mbscasestr.m4: Remove file.
37180         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
37181         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
37182
37183         * m4/mbschr.m4: Remove file.
37184         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
37185         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
37186
37187         * m4/mbscspn.m4: Remove file.
37188         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
37189         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
37190
37191         * m4/mbslen.m4: Remove file.
37192         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
37193         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
37194
37195         * m4/mbsncasecmp.m4: Remove file.
37196         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
37197         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
37198
37199         * m4/mbsnlen.m4: Remove file.
37200         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
37201         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
37202
37203         * m4/mbspbrk.m4: Remove file.
37204         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
37205         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
37206
37207         * m4/mbspcasecmp.m4: Remove file.
37208         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
37209         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
37210
37211         * m4/mbsrchr.m4: Remove file.
37212         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
37213         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
37214
37215         * m4/mbssep.m4: Remove file.
37216         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
37217         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
37218
37219         * m4/mbsspn.m4: Remove file.
37220         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
37221         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
37222
37223         * m4/mbsstr.m4: Remove file.
37224         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
37225         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
37226
37227         * m4/mbstok_r.m4: Remove file.
37228         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
37229         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
37230
37231         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
37232
37233         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
37234         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
37235
37236         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
37237
37238 2009-03-08  Bruno Haible  <bruno@clisp.org>
37239
37240         Tests for module 'unicase/ulc-casecmp'.
37241         * modules/unicase/ulc-casecmp-tests: New file.
37242         * tests/unicase/test-ulc-casecmp1.sh: New file.
37243         * tests/unicase/test-ulc-casecmp2.sh: New file.
37244         * tests/unicase/test-ulc-casecmp.c: New file.
37245
37246         New module 'unicase/ulc-casecmp'.
37247         * lib/unicase.h (ulc_casecmp): New declaration.
37248         * lib/unicase/ulc-casecmp.c: New file.
37249         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
37250         'const SRC_UNIT *'.
37251         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
37252         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
37253         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
37254         * modules/unicase/ulc-casecmp: New file.
37255
37256         Tests for module 'unicase/u32-is-cased'.
37257         * modules/unicase/u32-is-cased-tests: New file.
37258         * tests/unicase/test-u32-is-cased.c: New file.
37259
37260         Tests for module 'unicase/u16-is-cased'.
37261         * modules/unicase/u16-is-cased-tests: New file.
37262         * tests/unicase/test-u16-is-cased.c: New file.
37263
37264         Tests for module 'unicase/u8-is-cased'.
37265         * modules/unicase/u8-is-cased-tests: New file.
37266         * tests/unicase/test-u8-is-cased.c: New file.
37267         * tests/unicase/test-is-cased.h: New file.
37268
37269         New module 'unicase/u32-is-cased'.
37270         * lib/unicase/u32-is-cased.c: New file.
37271         * modules/unicase/u32-is-cased: New file.
37272
37273         New module 'unicase/u16-is-cased'.
37274         * lib/unicase/u16-is-cased.c: New file.
37275         * modules/unicase/u16-is-cased: New file.
37276
37277         New module 'unicase/u8-is-cased'.
37278         * lib/unicase/u8-is-cased.c: New file.
37279         * lib/unicase/u-is-cased.h: New file.
37280         * modules/unicase/u8-is-cased: New file.
37281
37282         Tests for module 'unicase/u32-is-casefolded'.
37283         * modules/unicase/u32-is-casefolded-tests: New file.
37284         * tests/unicase/test-u32-is-casefolded.c: New file.
37285
37286         Tests for module 'unicase/u16-is-casefolded'.
37287         * modules/unicase/u16-is-casefolded-tests: New file.
37288         * tests/unicase/test-u16-is-casefolded.c: New file.
37289
37290         Tests for module 'unicase/u8-is-casefolded'.
37291         * modules/unicase/u8-is-casefolded-tests: New file.
37292         * tests/unicase/test-u8-is-casefolded.c: New file.
37293         * tests/unicase/test-is-casefolded.h: New file.
37294
37295         New module 'unicase/u32-is-casefolded'.
37296         * lib/unicase/u32-is-casefolded.c: New file.
37297         * modules/unicase/u32-is-casefolded: New file.
37298
37299         New module 'unicase/u16-is-casefolded'.
37300         * lib/unicase/u16-is-casefolded.c: New file.
37301         * modules/unicase/u16-is-casefolded: New file.
37302
37303         New module 'unicase/u8-is-casefolded'.
37304         * lib/unicase/u8-is-casefolded.c: New file.
37305         * modules/unicase/u8-is-casefolded: New file.
37306
37307         Tests for module 'unicase/u32-is-titlecase'.
37308         * modules/unicase/u32-is-titlecase-tests: New file.
37309         * tests/unicase/test-u32-is-titlecase.c: New file.
37310
37311         Tests for module 'unicase/u16-is-titlecase'.
37312         * modules/unicase/u16-is-titlecase-tests: New file.
37313         * tests/unicase/test-u16-is-titlecase.c: New file.
37314
37315         Tests for module 'unicase/u8-is-titlecase'.
37316         * modules/unicase/u8-is-titlecase-tests: New file.
37317         * tests/unicase/test-u8-is-titlecase.c: New file.
37318         * tests/unicase/test-is-titlecase.h: New file.
37319
37320         New module 'unicase/u32-is-titlecase'.
37321         * lib/unicase/u32-is-titlecase.c: New file.
37322         * modules/unicase/u32-is-titlecase: New file.
37323
37324         New module 'unicase/u16-is-titlecase'.
37325         * lib/unicase/u16-is-titlecase.c: New file.
37326         * modules/unicase/u16-is-titlecase: New file.
37327
37328         New module 'unicase/u8-is-titlecase'.
37329         * lib/unicase/u8-is-titlecase.c: New file.
37330         * modules/unicase/u8-is-titlecase: New file.
37331
37332         Tests for module 'unicase/u32-is-lowercase'.
37333         * modules/unicase/u32-is-lowercase-tests: New file.
37334         * tests/unicase/test-u32-is-lowercase.c: New file.
37335
37336         Tests for module 'unicase/u16-is-lowercase'.
37337         * modules/unicase/u16-is-lowercase-tests: New file.
37338         * tests/unicase/test-u16-is-lowercase.c: New file.
37339
37340         Tests for module 'unicase/u8-is-lowercase'.
37341         * modules/unicase/u8-is-lowercase-tests: New file.
37342         * tests/unicase/test-u8-is-lowercase.c: New file.
37343         * tests/unicase/test-is-lowercase.h: New file.
37344
37345         New module 'unicase/u32-is-lowercase'.
37346         * lib/unicase/u32-is-lowercase.c: New file.
37347         * modules/unicase/u32-is-lowercase: New file.
37348
37349         New module 'unicase/u16-is-lowercase'.
37350         * lib/unicase/u16-is-lowercase.c: New file.
37351         * modules/unicase/u16-is-lowercase: New file.
37352
37353         New module 'unicase/u8-is-lowercase'.
37354         * lib/unicase/u8-is-lowercase.c: New file.
37355         * modules/unicase/u8-is-lowercase: New file.
37356
37357         Tests for module 'unicase/u32-is-uppercase'.
37358         * modules/unicase/u32-is-uppercase-tests: New file.
37359         * tests/unicase/test-u32-is-uppercase.c: New file.
37360
37361         Tests for module 'unicase/u16-is-uppercase'.
37362         * modules/unicase/u16-is-uppercase-tests: New file.
37363         * tests/unicase/test-u16-is-uppercase.c: New file.
37364
37365         Tests for module 'unicase/u8-is-uppercase'.
37366         * modules/unicase/u8-is-uppercase-tests: New file.
37367         * tests/unicase/test-u8-is-uppercase.c: New file.
37368         * tests/unicase/test-is-uppercase.h: New file.
37369
37370         New module 'unicase/u32-is-uppercase'.
37371         * lib/unicase/u32-is-uppercase.c: New file.
37372         * modules/unicase/u32-is-uppercase: New file.
37373
37374         New module 'unicase/u16-is-uppercase'.
37375         * lib/unicase/u16-is-uppercase.c: New file.
37376         * modules/unicase/u16-is-uppercase: New file.
37377
37378         New module 'unicase/u8-is-uppercase'.
37379         * lib/unicase/u8-is-uppercase.c: New file.
37380         * modules/unicase/u8-is-uppercase: New file.
37381
37382         New module 'unicase/u32-is-invariant'.
37383         * lib/unicase/u32-is-invariant.c: New file.
37384         * modules/unicase/u32-is-invariant: New file.
37385
37386         New module 'unicase/u16-is-invariant'.
37387         * lib/unicase/u16-is-invariant.c: New file.
37388         * modules/unicase/u16-is-invariant: New file.
37389
37390         New module 'unicase/u8-is-invariant'.
37391         * lib/unicase/u8-is-invariant.c: New file.
37392         * lib/unicase/invariant.h: New file.
37393         * lib/unicase/u-is-invariant.h: New file.
37394         * modules/unicase/u8-is-invariant: New file.
37395
37396         Tests for module 'unicase/u32-casecoll'.
37397         * modules/unicase/u32-casecoll-tests: New file.
37398         * tests/unicase/test-u32-casecoll.c: New file.
37399
37400         Tests for module 'unicase/u16-casecoll'.
37401         * modules/unicase/u16-casecoll-tests: New file.
37402         * tests/unicase/test-u16-casecoll.c: New file.
37403
37404         Tests for module 'unicase/u8-casecoll'.
37405         * modules/unicase/u8-casecoll-tests: New file.
37406         * tests/unicase/test-u8-casecoll.c: New file.
37407
37408         New module 'unicase/u32-casecoll'.
37409         * lib/unicase/u32-casecoll.c: New file.
37410         * modules/unicase/u32-casecoll: New file.
37411
37412         New module 'unicase/u16-casecoll'.
37413         * lib/unicase/u16-casecoll.c: New file.
37414         * modules/unicase/u16-casecoll: New file.
37415
37416         New module 'unicase/u8-casecoll'.
37417         * lib/unicase/u8-casecoll.c: New file.
37418         * lib/unicase/u-casecoll.h: New file.
37419         * modules/unicase/u8-casecoll: New file.
37420
37421         New module 'unicase/u32-casexfrm'.
37422         * lib/unicase/u32-casexfrm.c: New file.
37423         * modules/unicase/u32-casexfrm: New file.
37424
37425         New module 'unicase/u16-casexfrm'.
37426         * lib/unicase/u16-casexfrm.c: New file.
37427         * modules/unicase/u16-casexfrm: New file.
37428
37429         New module 'unicase/u8-casexfrm'.
37430         * lib/unicase/u8-casexfrm.c: New file.
37431         * lib/unicase/u-casexfrm.h: New file.
37432         * modules/unicase/u8-casexfrm: New file.
37433
37434         Tests for module 'unicase/u32-casecmp'.
37435         * modules/unicase/u32-casecmp-tests: New file.
37436         * tests/unicase/test-u32-casecmp.c: New file.
37437
37438         Tests for module 'unicase/u16-casecmp'.
37439         * modules/unicase/u16-casecmp-tests: New file.
37440         * tests/unicase/test-u16-casecmp.c: New file.
37441
37442         Tests for module 'unicase/u8-casecmp'.
37443         * modules/unicase/u8-casecmp-tests: New file.
37444         * tests/unicase/test-u8-casecmp.c: New file.
37445         * tests/unicase/test-casecmp.h: New file.
37446
37447         New module 'unicase/u32-casecmp'.
37448         * lib/unicase/u32-casecmp.c: New file.
37449         * modules/unicase/u32-casecmp: New file.
37450
37451         New module 'unicase/u16-casecmp'.
37452         * lib/unicase/u16-casecmp.c: New file.
37453         * modules/unicase/u16-casecmp: New file.
37454
37455         New module 'unicase/u8-casecmp'.
37456         * lib/unicase/u8-casecmp.c: New file.
37457         * lib/unicase/u-casecmp.h: New file.
37458         * modules/unicase/u8-casecmp: New file.
37459
37460         Tests for module 'unicase/u32-casefold'.
37461         * modules/unicase/u32-casefold-tests: New file.
37462         * tests/unicase/test-u32-casefold.c: New file.
37463
37464         Tests for module 'unicase/u16-casefold'.
37465         * modules/unicase/u16-casefold-tests: New file.
37466         * tests/unicase/test-u16-casefold.c: New file.
37467
37468         Tests for module 'unicase/u8-casefold'.
37469         * modules/unicase/u8-casefold-tests: New file.
37470         * tests/unicase/test-u8-casefold.c: New file.
37471
37472         New module 'unicase/u32-casefold'.
37473         * lib/unicase/u32-casefold.c: New file.
37474         * modules/unicase/u32-casefold: New file.
37475
37476         New module 'unicase/u16-casefold'.
37477         * lib/unicase/u16-casefold.c: New file.
37478         * modules/unicase/u16-casefold: New file.
37479
37480         New module 'unicase/u8-casefold'.
37481         * lib/unicase/u8-casefold.c: New file.
37482         * lib/unicase/u-casefold.h: New file.
37483         * modules/unicase/u8-casefold: New file.
37484
37485         New module 'unicase/tocasefold'.
37486         * lib/unicase/casefold.h: New file.
37487         * lib/unicase/tocasefold.c: New file.
37488         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
37489         * modules/unicase/tocasefold: New file.
37490
37491         Tests for module 'unicase/u32-totitle'.
37492         * modules/unicase/u32-totitle-tests: New file.
37493         * tests/unicase/test-u32-totitle.c: New file.
37494
37495         Tests for module 'unicase/u16-totitle'.
37496         * modules/unicase/u16-totitle-tests: New file.
37497         * tests/unicase/test-u16-totitle.c: New file.
37498
37499         Tests for module 'unicase/u8-totitle'.
37500         * modules/unicase/u8-totitle-tests: New file.
37501         * tests/unicase/test-u8-totitle.c: New file.
37502
37503         New module 'unicase/u32-totitle'.
37504         * lib/unicase/u32-totitle.c: New file.
37505         * modules/unicase/u32-totitle: New file.
37506
37507         New module 'unicase/u16-totitle'.
37508         * lib/unicase/u16-totitle.c: New file.
37509         * modules/unicase/u16-totitle: New file.
37510
37511         New module 'unicase/u8-totitle'.
37512         * lib/unicase/u8-totitle.c: New file.
37513         * lib/unicase/u-totitle.h: New file.
37514         * modules/unicase/u8-totitle: New file.
37515
37516         Tests for module 'unicase/u32-tolower'.
37517         * modules/unicase/u32-tolower-tests: New file.
37518         * tests/unicase/test-u32-tolower.c: New file.
37519
37520         Tests for module 'unicase/u16-tolower'.
37521         * modules/unicase/u16-tolower-tests: New file.
37522         * tests/unicase/test-u16-tolower.c: New file.
37523
37524         Tests for module 'unicase/u8-tolower'.
37525         * modules/unicase/u8-tolower-tests: New file.
37526         * tests/unicase/test-u8-tolower.c: New file.
37527
37528         New module 'unicase/u32-tolower'.
37529         * lib/unicase/u32-tolower.c: New file.
37530         * modules/unicase/u32-tolower: New file.
37531
37532         New module 'unicase/u16-tolower'.
37533         * lib/unicase/u16-tolower.c: New file.
37534         * modules/unicase/u16-tolower: New file.
37535
37536         New module 'unicase/u8-tolower'.
37537         * lib/unicase/u8-tolower.c: New file.
37538         * modules/unicase/u8-tolower: New file.
37539
37540         Tests for module 'unicase/u32-toupper'.
37541         * modules/unicase/u32-toupper-tests: New file.
37542         * tests/unicase/test-u32-toupper.c: New file.
37543
37544         Tests for module 'unicase/u16-toupper'.
37545         * modules/unicase/u16-toupper-tests: New file.
37546         * tests/unicase/test-u16-toupper.c: New file.
37547
37548         Tests for module 'unicase/u8-toupper'.
37549         * modules/unicase/u8-toupper-tests: New file.
37550         * tests/unicase/test-u8-toupper.c: New file.
37551
37552         New module 'unicase/u32-toupper'.
37553         * lib/unicase/u32-toupper.c: New file.
37554         * modules/unicase/u32-toupper: New file.
37555
37556         New module 'unicase/u16-toupper'.
37557         * lib/unicase/u16-toupper.c: New file.
37558         * modules/unicase/u16-toupper: New file.
37559
37560         New module 'unicase/u8-toupper'.
37561         * lib/unicase/u8-toupper.c: New file.
37562         * modules/unicase/u8-toupper: New file.
37563
37564         New module 'unicase/u32-casemap'.
37565         * lib/unicase/u32-casemap.c: New file.
37566         * modules/unicase/u32-casemap: New file.
37567
37568         New module 'unicase/u16-casemap'.
37569         * lib/unicase/u16-casemap.c: New file.
37570         * modules/unicase/u16-casemap: New file.
37571
37572         New module 'unicase/u8-casemap'.
37573         * lib/unicase/unicasemap.h: New file.
37574         * lib/unicase/u8-casemap.c: New file.
37575         * lib/unicase/u-casemap.h: New file.
37576         * modules/unicase/u8-casemap: New file.
37577
37578         New module 'unicase/special-casing'.
37579         * lib/unicase/special-casing.h: New file.
37580         * lib/unicase/special-casing.c: New file.
37581         * lib/unicase/special-casing-table.gperf: New file, generated by
37582         gen-uni-tables.c.
37583         * modules/unicase/special-casing: New file.
37584
37585         Tests for module 'unicase/locale-language'.
37586         * modules/unicase/locale-language-tests: New file.
37587         * tests/unicase/test-locale-language.sh: New file.
37588         * tests/unicase/test-locale-language.c: New file.
37589
37590         New module 'unicase/locale-language'.
37591         * lib/unicase/locale-language.c: New file.
37592         * lib/unicase/locale-languages.gperf: New file.
37593         * modules/unicase/locale-language: New file.
37594
37595         Generate more tables for case conversion and case folding.
37596         * lib/gen-uni-tables.c (SCC_*): New enum items.
37597         (struct special_casing_rule): New type.
37598         (casing_rules, num_casing_rules, allocated_casing_rules): New
37599         variables.
37600         (add_casing_rule, fill_casing_rules): New functions.
37601         (struct casefold_rule): New type.
37602         (casefolding_rules, num_casefolding_rules,
37603         allocated_casefolding_rules): New variables.
37604         (fill_casefolding_rules): New function.
37605         (unicode_casefold): New variable.
37606         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
37607         sort_casing_rules, output_casing_rules): New functions.
37608         (main): Accept to more arguments: SpecialCasing.txt and
37609         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
37610         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
37611         Output mapping for casefolding.
37612
37613         * lib/unicase.h: Include stdbool.h, uninorm.h.
37614         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
37615         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
37616         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
37617         arguments.
37618         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
37619         resultp arguments.
37620         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
37621         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
37622         resultp arguments.
37623         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
37624         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
37625         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
37626         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
37627         declarations.
37628         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
37629
37630 2009-03-08  Bruno Haible  <bruno@clisp.org>
37631
37632         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
37633         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
37634         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
37635         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
37636
37637 2009-03-07  Bruno Haible  <bruno@clisp.org>
37638
37639         Adjust u*_normcmp, u*_normcoll API.
37640         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
37641         u16_normcoll, u32_normcoll): Change failure conventions.
37642         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
37643         errno and return -1.
37644         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
37645
37646 2009-03-07  Bruno Haible  <bruno@clisp.org>
37647
37648         Tests for module 'uninorm/u32-normcoll'.
37649         * modules/uninorm/u32-normcoll-tests: New file.
37650         * tests/uninorm/test-u32-normcoll.c: New file.
37651
37652         Tests for module 'uninorm/u16-normcoll'.
37653         * modules/uninorm/u16-normcoll-tests: New file.
37654         * tests/uninorm/test-u16-normcoll.c: New file.
37655
37656         Tests for module 'uninorm/u8-normcoll'.
37657         * modules/uninorm/u8-normcoll-tests: New file.
37658         * tests/uninorm/test-u8-normcoll.c: New file.
37659
37660 2009-03-07  Bruno Haible  <bruno@clisp.org>
37661
37662         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
37663         tests/uninorm/test-u32-normcmp.c.
37664         * tests/uninorm/test-u32-normcmp.c: Include it.
37665         (test_nonascii): New function, extracted from main. Add some more
37666         tests.
37667         (main): Invoke test_ascii and test_nonascii.
37668         * modules/uninorm/u32-normcmp-tests (Files): Add
37669         tests/uninorm/test-u32-normcmp.h.
37670         (Depends-on): Remove uninorm/u32-normcmp.
37671
37672         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
37673         tests/uninorm/test-u16-normcmp.c.
37674         * tests/uninorm/test-u16-normcmp.c: Include it.
37675         (test_nonascii): New function, extracted from main. Add some more
37676         tests.
37677         (main): Invoke test_ascii and test_nonascii.
37678         * modules/uninorm/u16-normcmp-tests (Files): Add
37679         tests/uninorm/test-u16-normcmp.h.
37680         (Depends-on): Remove uninorm/u16-normcmp.
37681
37682         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
37683         tests/uninorm/test-u8-normcmp.c.
37684         * tests/uninorm/test-u8-normcmp.c: Include it.
37685         (test_nonascii): New function, extracted from main. Add some more
37686         tests.
37687         (main): Invoke test_ascii and test_nonascii.
37688         * modules/uninorm/u8-normcmp-tests (Files): Add
37689         tests/uninorm/test-u8-normcmp.h.
37690         (Depends-on): Remove uninorm/u8-normcmp.
37691
37692 2009-03-07  Bruno Haible  <bruno@clisp.org>
37693
37694         New module 'uninorm/u32-normcoll'.
37695         * lib/uninorm/u32-normcoll.c: New file.
37696         * modules/uninorm/u32-normcoll: New file.
37697
37698         New module 'uninorm/u16-normcoll'.
37699         * lib/uninorm/u16-normcoll.c: New file.
37700         * modules/uninorm/u16-normcoll: New file.
37701
37702         New module 'uninorm/u8-normcoll'.
37703         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
37704         declarations.
37705         * lib/uninorm/u8-normcoll.c: New file.
37706         * lib/uninorm/u-normcoll.h: New file.
37707         * modules/uninorm/u8-normcoll: New file.
37708
37709         New module 'uninorm/u32-normxfrm'.
37710         * lib/uninorm/u32-normxfrm.c: New file.
37711         * modules/uninorm/u32-normxfrm: New file.
37712
37713         New module 'uninorm/u16-normxfrm'.
37714         * lib/uninorm/u16-normxfrm.c: New file.
37715         * modules/uninorm/u16-normxfrm: New file.
37716
37717         New module 'uninorm/u8-normxfrm'.
37718         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
37719         declarations.
37720         * lib/uninorm/u8-normxfrm.c: New file.
37721         * lib/uninorm/u-normxfrm.h: New file.
37722         * modules/uninorm/u8-normxfrm: New file.
37723
37724 2009-03-07  Bruno Haible  <bruno@clisp.org>
37725
37726         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
37727         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
37728         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
37729
37730 2009-03-07  Bruno Haible  <bruno@clisp.org>
37731
37732         New module 'memxfrm'.
37733         * lib/memxfrm.h: New file.
37734         * lib/memxfrm.c: New file.
37735         * modules/memxfrm: New file.
37736
37737 2009-03-07  Bruno Haible  <bruno@clisp.org>
37738
37739         New module 'memcmp2'.
37740         * lib/memcmp2.h: New file.
37741         * lib/memcmp2.c: New file.
37742         * modules/memcmp2: New file.
37743
37744 2009-03-07  Bruno Haible  <bruno@clisp.org>
37745
37746         Tests for module 'uninorm/decomposing-form'.
37747         * modules/uninorm/decomposing-form-tests: New file.
37748         * tests/uninorm/test-decomposing-form.c: New file.
37749
37750         New module 'uninorm/decomposing-form'.
37751         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
37752         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
37753         Add 'decomposing_variant' field.
37754         * lib/uninorm/decomposing-form.c: New file.
37755         * lib/uninorm/nfc.c (uninorm_nfc): Update.
37756         * lib/uninorm/nfd.c (uninorm_nfd): Update.
37757         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
37758         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
37759         * modules/uninorm/decomposing-form: New file.
37760         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
37761         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
37762
37763 2009-03-07  Bruno Haible  <bruno@clisp.org>
37764
37765         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
37766         strings.
37767
37768 2009-03-06  Bruno Haible  <bruno@clisp.org>
37769
37770         Tests for module 'uninorm/u32-normcmp'.
37771         * tests/uninorm/test-u32-normcmp.c: New file.
37772         * modules/uninorm/u32-normcmp-tests: New file.
37773
37774         Tests for module 'uninorm/u16-normcmp'.
37775         * tests/uninorm/test-u16-normcmp.c: New file.
37776         * modules/uninorm/u16-normcmp-tests: New file.
37777
37778         Tests for module 'uninorm/u8-normcmp'.
37779         * tests/uninorm/test-u8-normcmp.c: New file.
37780         * modules/uninorm/u8-normcmp-tests: New file.
37781
37782         New module 'uninorm/u32-normcmp'.
37783         * lib/uninorm/u32-normcmp.c: New file.
37784         * modules/uninorm/u32-normcmp: New file.
37785
37786         New module 'uninorm/u16-normcmp'.
37787         * lib/uninorm/u16-normcmp.c: New file.
37788         * modules/uninorm/u16-normcmp: New file.
37789
37790         New module 'uninorm/u8-normcmp'.
37791         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
37792         declarations.
37793         * lib/uninorm/u8-normcmp.c: New file.
37794         * lib/uninorm/u-normcmp.h: New file.
37795         * modules/uninorm/u8-normcmp: New file.
37796
37797 2009-03-06  Bruno Haible  <bruno@clisp.org>
37798
37799         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
37800         Reported by Eric Blake.
37801
37802 2009-03-06  Eric Blake  <ebb9@byu.net>
37803             Bruno Haible  <bruno@clisp.org>
37804
37805         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
37806         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
37807         condition.
37808         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
37809         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
37810         condition.
37811         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
37812
37813 2009-03-06  Eric Blake  <ebb9@byu.net>
37814
37815         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
37816         to avoid compiler warnings.
37817         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
37818
37819 2009-03-05  Bruno Haible  <bruno@clisp.org>
37820
37821         * tests/test-ftell.c (main): Disable test beyond end of file on
37822         FreeMiNT.
37823         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
37824
37825 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
37826
37827         * lib/filevercmp.c: Move hidden files up in ordering.
37828         * tests/test-filevercmp.c: Add tests for hidden files.
37829
37830 2009-03-04  Bruno Haible  <bruno@clisp.org>
37831
37832         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
37833         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
37834         AM_CFLAGS.
37835         Reported by Simon Josefsson.
37836
37837 2009-03-03  Bruno Haible  <bruno@clisp.org>
37838
37839         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
37840         Reported by Simon Josefsson.
37841
37842         * doc/ld-version-script.texi: Update node reference.
37843
37844 2009-03-03  Bruno Haible  <bruno@clisp.org>
37845
37846         * modules/visibility (License): Change to 'unlimited'.
37847         Suggested by Simon Josefsson.
37848
37849 2009-03-03  Jim Meyering  <meyering@redhat.com>
37850
37851         unlinkdir: cannot_unlink_dir may modify process state
37852         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
37853         it's neither thread-safe nor appropriate for use in a library.
37854
37855 2009-03-03  Eric Blake  <ebb9@byu.net>
37856
37857         test-closein: silence test under Darwin
37858         * tests/test-closein.sh: Ignore stderr from cat, since we don't
37859         care if it dies from EPIPE or EBADF.
37860
37861 2009-03-03  Bruno Haible  <bruno@clisp.org>
37862
37863         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
37864         earlier.
37865         * doc/visibility.texi: Fix @node and @section.
37866
37867 2009-03-03  Simon Josefsson  <simon@josefsson.org>
37868
37869         * doc/gnulib.texi: Link to sections for ld version script and
37870         visibility.
37871         * doc/visibility.texi: Add @node and @section.
37872         * modules/ld-version-script: New module.
37873         * m4/ld-version-script.m4: New file.
37874         * doc/ld-version-script.texi: New file.
37875
37876 2009-03-02  David Lutterkort  <lutter@redhat.com>
37877
37878         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
37879         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37880
37881 2009-03-02  Bruno Haible  <bruno@clisp.org>
37882
37883         * doc/visibility.texi: Mention libtool's -export-symbols option.
37884
37885 2009-03-02  Jim Meyering  <meyering@redhat.com>
37886
37887         announce-gen: new option: --no-print-checksums
37888         * build-aux/announce-gen (usage): Describe it.
37889         (print_checksums): Print a newline here, not in the [*] footnote.
37890         (main): Honor it.
37891
37892 2009-03-01  Bruno Haible  <bruno@clisp.org>
37893
37894         Use socklen_t in the native Windows replacements prototypes.
37895         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
37896         instead of 'int'.
37897         * lib/getsockopt.c (rpl_getsockopt): Likewise.
37898         * lib/setsockopt.c (rpl_setsockopt): Likewise.
37899         * modules/getsockopt (Depends-on): Add socklen.
37900         * modules/setsockopt (Depends-on): Add socklen.
37901
37902 2009-03-01  Bruno Haible  <bruno@clisp.org>
37903
37904         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
37905         least 4.2.
37906
37907 2009-03-01  Eric Blake  <ebb9@byu.net>
37908             Bruno Haible  <bruno@clisp.org>
37909
37910         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
37911         error messages.
37912         * lib/wait-process.c (wait_subprocess): Omit error message about
37913         deadly signal sent to the child of termsigp != NULL.
37914
37915 2009-03-01  Eric Blake  <ebb9@byu.net>
37916
37917         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
37918
37919 2009-03-01  Bruno Haible  <bruno@clisp.org>
37920
37921         Avoid a gcc warning.
37922         * tests/test-sched.c (b): Make global.
37923         Reported by Eric Blake.
37924
37925 2009-01-19  Martin Lambers  <marlam@marlam.de>
37926
37927         Provide POSIX semantics for socket timeout options on W32.
37928         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
37929         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
37930         * modules/setsockopt: Depend on sys_time module for struct timeval.
37931         * modules/getsockopt: Depend on sys_time module for struct timeval.
37932
37933 2009-03-01  Simon Josefsson  <simon@josefsson.org>
37934
37935         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
37936         __USE_GNU, for consistency with netdb.in.h.
37937         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37938
37939 2009-03-01  Bruno Haible  <bruno@clisp.org>
37940
37941         More support for FreeMiNT.
37942         * lib/fseeko.c (rpl_fseeko): Complete last commit.
37943         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37944
37945 2009-03-01  Bruno Haible  <bruno@clisp.org>
37946
37947         More support for FreeMiNT.
37948         * lib/fpurge.c (fpurge): Correct last commit.
37949         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37950
37951 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37952
37953         Fix unportable awk script in vc-list-files.
37954         * build-aux/vc-list-files: In the replacement awk script, use
37955         substr with a second argument of 1, not zero.
37956         Report by Simon Josefsson.
37957
37958 2009-02-28  Bruno Haible  <bruno@clisp.org>
37959
37960         More support for FreeMiNT.
37961         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
37962         to FreeMiNT today.
37963         * lib/fwriting.c (fwriting): Likewise.
37964         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
37965
37966 2009-02-28  Bruno Haible  <bruno@clisp.org>
37967
37968         * tests/test-freadseek.c (main): Disable test beyond end of file on
37969         FreeMiNT.
37970         * tests/test-ftello.c (main): Likewise.
37971         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
37972
37973 2009-02-28  Bruno Haible  <bruno@clisp.org>
37974
37975         Add tentative support for FreeMiNT.
37976         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
37977         * lib/fpurge.c (fpurge): Likewise.
37978         * lib/freadable.c (freadable): Likewise.
37979         * lib/freading.c (freading): Likewise.
37980         * lib/freadptr.c (freadptr): Likewise.
37981         * lib/freadseek.c (freadptrinc): Likewise.
37982         * lib/fseeko.c (rpl_fseeko): Likewise.
37983         * lib/fseterr.c (fseterr): Likewise.
37984         * lib/fwritable.c (fwritable): Likewise.
37985         * lib/fwriting.c (fwriting): Likewise.
37986         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
37987         Hourihane.
37988         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37989
37990 2009-02-28  Bruno Haible  <bruno@clisp.org>
37991
37992         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
37993         SIGCHLD.
37994         Reported by Jim Meyering.
37995
37996 2009-02-28  Bruno Haible  <bruno@clisp.org>
37997
37998         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
37999         Mention the results of these tests on various platforms.
38000         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
38001         order.
38002         * doc/posix-functions/printf.texi: Likewise.
38003         * doc/posix-functions/snprintf.texi: Likewise.
38004         * doc/posix-functions/sprintf.texi: Likewise.
38005         * doc/posix-functions/vfprintf.texi: Likewise.
38006         * doc/posix-functions/vprintf.texi: Likewise.
38007         * doc/posix-functions/vsnprintf.texi: Likewise.
38008         * doc/posix-functions/vsprintf.texi: Likewise.
38009         * doc/glibc-functions/obstack_printf.texi: Likewise.
38010         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
38011
38012 2009-02-28  Bruno Haible  <bruno@clisp.org>
38013
38014         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
38015         Reported by Loïc Minier <lool@dooz.org>.
38016
38017 2009-02-27  Bruno Haible  <bruno@clisp.org>
38018
38019         * gnulib-tool (func_import): Make the sed expression used to create the
38020         sed script for updating the .gitignore file POSIX compliant.
38021         Reported by Eric Blake.
38022
38023 2009-02-27  Bruno Haible  <bruno@clisp.org>
38024
38025         * gnulib-tool (sed): Don't alias as "sed --posix".
38026         Reported by Eric Blake.
38027
38028 2009-02-27  Bruno Haible  <bruno@clisp.org>
38029
38030         Avoid test link errors.
38031         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
38032         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
38033         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
38034         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
38035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38036
38037 2009-02-27  Bruno Haible  <bruno@clisp.org>
38038
38039         Avoid spurious "(cached)" in configure output.
38040         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
38041         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
38042         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
38043         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
38044         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
38045         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
38046         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
38047         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
38048         Reported by Eric Blake.
38049
38050 2009-02-27  Eric Blake  <ebb9@byu.net>
38051
38052         printf: fix regression in previous patch
38053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
38054
38055 2009-02-27  Bruno Haible  <bruno@clisp.org>
38056
38057         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
38058         value.
38059         * lib/stdint.in.h: Likewise.
38060         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
38061
38062 2009-02-27  Eric Blake  <ebb9@byu.net>
38063
38064         doc: mention more functions added in cygwin 1.7.0
38065         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
38066         addition.
38067         * doc/posix-functions/open_wmemstream.texi: Likewise.
38068         * doc/posix-functions/wcsnlen.texi: Likewise.
38069         * doc/posix-functions/wcsnrtombs.texi: Likewise.
38070         * doc/posix-functions/wcstod.texi: Likewise.
38071         * doc/posix-functions/wcstof.texi: Likewise.
38072         * doc/posix-functions/wcstoimax.texi: Likewise.
38073         * doc/posix-functions/wcstok.texi: Likewise.
38074         * doc/posix-functions/wcstoumax.texi: Likewise.
38075
38076         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
38077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
38078         * doc/posix-functions/fprintf.texi: Update.
38079         * doc/posix-functions/printf.texi: Update.
38080         * doc/posix-functions/snprintf.texi: Update.
38081         * doc/posix-functions/sprintf.texi: Update.
38082         * doc/posix-functions/vfprintf.texi: Update.
38083         * doc/posix-functions/vprintf.texi: Update.
38084         * doc/posix-functions/vsnprintf.texi: Update.
38085         * doc/posix-functions/vsprintf.texi: Update.
38086         * doc/glibc-functions/obstack_printf.texi: Update.
38087         * doc/glibc-functions/obstack_vprintf.texi: Update.
38088
38089 2009-02-26  Eric Blake  <ebb9@byu.net>
38090
38091         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
38092         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
38093         compilation bug by using runtime conversion.
38094         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
38095         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
38096         * modules/ceill-tests (Files): Use nan.h.
38097         * modules/floorl-tests (Files): Likewise.
38098         * modules/frexpl-tests (Files): Likewise.
38099         * modules/isnanl-tests (Files): Likewise.
38100         * modules/ldexpl-tests (Files): Likewise.
38101         * modules/roundl-tests (Files): Likewise.
38102         * modules/truncl-tests (Files): Likewise.
38103         * tests/test-ceill.c (main): Use a working NaN.
38104         * tests/test-floorl.c (main): Likewise.
38105         * tests/test-frexpl.c (main): Likewise.
38106         * tests/test-isnan.c (test_long_double): Likewise.
38107         * tests/test-isnanl.h (main): Likewise.
38108         * tests/test-ldexpl.h (main): Likewise.
38109         * tests/test-roundl.h (main): Likewise.
38110         * tests/test-truncl.h (main): Likewise.
38111         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
38112
38113 2009-02-26  Eric Blake  <ebb9@byu.net>
38114             Bruno Haible  <bruno@clisp.org>
38115
38116         Work around a *printf bug with %ls on Solaris.
38117         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
38118         precision is specified, sprintf stops converting the wide string
38119         argument when the number of bytes that have been produced by this
38120         conversion equals or exceeds the precision.
38121         * doc/posix-functions/fprintf.texi: Update.
38122         * doc/posix-functions/printf.texi: Update.
38123         * doc/posix-functions/snprintf.texi: Update.
38124         * doc/posix-functions/sprintf.texi: Update.
38125         * doc/posix-functions/vfprintf.texi: Update.
38126         * doc/posix-functions/vprintf.texi: Update.
38127         * doc/posix-functions/vsnprintf.texi: Update.
38128         * doc/posix-functions/vsprintf.texi: Update.
38129         * doc/glibc-functions/obstack_printf.texi: Update.
38130         * doc/glibc-functions/obstack_vprintf.texi: Update.
38131
38132 2009-02-26  Eric Blake  <ebb9@byu.net>
38133
38134         stdlib: favor compiler check of random.h
38135         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
38136         to avoid an ObjC random.h installed by Swarm.
38137
38138 2009-02-26  Bruno Haible  <bruno@clisp.org>
38139
38140         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
38141         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
38142         Reported by Gary V. Vaughan <gary@gnu.org>.
38143
38144 2009-02-26  Bruno Haible  <bruno@clisp.org>
38145
38146         Fix *printf behaviour regarding the %ls directive.
38147         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
38148         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
38149         NEED_PRINTF_DIRECTIVE_LS.
38150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
38151         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
38152         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38153         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
38154         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
38155         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
38156         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38157         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38158         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38159         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38160         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38161         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
38162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38163         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38164         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38165         * doc/posix-functions/fprintf.texi: Update.
38166         * doc/posix-functions/printf.texi: Update.
38167         * doc/posix-functions/snprintf.texi: Update.
38168         * doc/posix-functions/sprintf.texi: Update.
38169         * doc/posix-functions/vfprintf.texi: Update.
38170         * doc/posix-functions/vprintf.texi: Update.
38171         * doc/posix-functions/vsnprintf.texi: Update.
38172         * doc/posix-functions/vsprintf.texi: Update.
38173         * doc/glibc-functions/obstack_printf.texi: Update.
38174         * doc/glibc-functions/obstack_vprintf.texi: Update.
38175         Reported by Eric Blake.
38176
38177 2009-02-25  Bruno Haible  <bruno@clisp.org>
38178
38179         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
38180         with known value.
38181         Reported by Gary V. Vaughan <gary@gnu.org>.
38182
38183 2009-02-25  Bruno Haible  <bruno@clisp.org>
38184
38185         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
38186         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
38187         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
38188         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
38189         Reported by Gary V. Vaughan <gary@gnu.org>.
38190
38191 2009-02-25  Bruno Haible  <bruno@clisp.org>
38192
38193         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
38194         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
38195         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
38196         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
38197         Reported by Gary V. Vaughan <gary@gnu.org>.
38198
38199 2009-02-25  Eric Blake  <ebb9@byu.net>
38200
38201         tests: skip fseek/ftell tests if ungetc is broken
38202         * m4/ungetc.m4: New file.
38203         * modules/fseek-tests: Split test, so ungetc dependency is
38204         separate from rest of test.
38205         * modules/fseeko-tests: Likewise.
38206         * modules/ftell-tests: Likewise.
38207         * modules/ftello-tests: Likewise.
38208         * tests/test-fseek.c (main): Isolate ungetc dependency.
38209         * tests/test-fseeko.c (main): Likewise.
38210         * tests/test-ftell.c (main): Likewise.
38211         * tests/test-ftello.c (main): Likewise.
38212         * tests/test-fseek2.sh: New file.
38213         * tests/test-fseeko2.sh: Likewise.
38214         * tests/test-ftell2.sh: Likewise.
38215         * tests/test-ftello2.sh: Likewise.
38216
38217 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
38218
38219         test-getaddrinfo: fix usage of skip return code 77
38220         * tests/test-gettaddrinfo.c: Return skip code 77 only
38221         for first occurance of skip (4x77 is not 77)
38222
38223 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
38224
38225         strtod: avoid C99 decl-after-statement
38226         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
38227
38228 2009-02-24  Eric Blake  <ebb9@byu.net>
38229
38230         strtod: detect HP-UX 11.31 bug
38231         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
38232         Reported by Gary V. Vaughan.
38233
38234 2009-02-23  Bruno Haible  <bruno@clisp.org>
38235
38236         Fix invalid read past end of memory block.
38237         * lib/vasnprintf.c (DCHAR_SET): Define.
38238         (local_wcslen): Define only when needed.
38239         (local_strnlen, local_wcsnlen): New functions.
38240         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
38241         directives that involve a conversion ourselves.
38242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
38243         wcsnlen, mbrtowc, wcrtomb.
38244         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
38245         * tests/test-vasprintf-posix.c (test_function): Likewise.
38246         * tests/test-snprintf-posix.h (test_function): Likewise.
38247         * tests/test-sprintf-posix.h (test_function): Likewise.
38248         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38249
38250 2009-02-22  Bruno Haible  <bruno@clisp.org>
38251
38252         Implement new clarified decomposition of Hangul syllables.
38253         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
38254         of type LTV, return only a pairwise decomposition.
38255         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
38256         Likewise.
38257         * tests/uninorm/test-decomposition.c (main): Updated expected result.
38258         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
38259         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
38260
38261 2009-02-22  Bruno Haible  <bruno@clisp.org>
38262
38263         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
38264         zero-length results and shrink excess allocated memory.
38265         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
38266         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
38267         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
38268         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
38269         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
38270         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
38271         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
38272         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
38273         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
38274         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
38275         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
38276         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
38277
38278 2009-02-21  Bruno Haible  <bruno@clisp.org>
38279
38280         * doc/gnulib.texi: Include safe-alloc.texi earlier.
38281         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
38282         spaces after a period. Put a space between a macro name and its
38283         argument list. Trivial rewordings.
38284         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
38285         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
38286         (main): Return 0 explicitly.
38287
38288 2009-02-21  Bruno Haible  <bruno@clisp.org>
38289
38290         Tests for module 'uninorm/filter'.
38291         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
38292         * modules/uninorm/filter-tests: New file.
38293
38294         New module 'uninorm/filter'.
38295         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
38296         uninorm_filter_flush, uninorm_filter_free): New declarations.
38297         * lib/uninorm/uninorm-filter.c: New file.
38298         * modules/uninorm/filter: New file.
38299
38300 2009-02-21  Bruno Haible  <bruno@clisp.org>
38301
38302         Tests for module 'uninorm/nfkc'.
38303         * tests/uninorm/test-nfkc.c: New file.
38304         * tests/uninorm/test-u8-nfkc.c: New file.
38305         * tests/uninorm/test-u16-nfkc.c: New file.
38306         * tests/uninorm/test-u32-nfkc.c: New file.
38307         * tests/uninorm/test-u32-nfkc-big.sh: New file.
38308         * tests/uninorm/test-u32-nfkc-big.c: New file.
38309         * modules/uninorm/nfkc-tests: New file.
38310
38311         New module 'uninorm/nfkc'.
38312         * lib/uninorm/nfkc.c: New file.
38313         * modules/uninorm/nfkc: New file.
38314
38315         Tests for module 'uninorm/nfkd'.
38316         * tests/uninorm/test-nfkd.c: New file.
38317         * tests/uninorm/test-u8-nfkd.c: New file.
38318         * tests/uninorm/test-u16-nfkd.c: New file.
38319         * tests/uninorm/test-u32-nfkd.c: New file.
38320         * tests/uninorm/test-u32-nfkd-big.sh: New file.
38321         * tests/uninorm/test-u32-nfkd-big.c: New file.
38322         * modules/uninorm/nfkd-tests: New file.
38323
38324         New module 'uninorm/nfkd'.
38325         * lib/uninorm/nfkd.c: New file.
38326         * modules/uninorm/nfkd: New file.
38327
38328         Tests for module 'uninorm/nfc'.
38329         * tests/uninorm/test-nfc.c: New file.
38330         * tests/uninorm/test-u8-nfc.c: New file.
38331         * tests/uninorm/test-u16-nfc.c: New file.
38332         * tests/uninorm/test-u32-nfc.c: New file.
38333         * tests/uninorm/test-u32-nfc-big.sh: New file.
38334         * tests/uninorm/test-u32-nfc-big.c: New file.
38335         * modules/uninorm/nfc-tests: New file.
38336
38337         New module 'uninorm/nfc'.
38338         * lib/uninorm/nfc.c: New file.
38339         * modules/uninorm/nfc: New file.
38340
38341         Tests for module 'uninorm/nfd'.
38342         * tests/uninorm/test-nfd.c: New file.
38343         * tests/uninorm/test-u8-nfd.c: New file.
38344         * tests/uninorm/test-u16-nfd.c: New file.
38345         * tests/uninorm/test-u32-nfd.c: New file.
38346         * tests/uninorm/test-u32-nfd-big.sh: New file.
38347         * tests/uninorm/test-u32-nfd-big.c: New file.
38348         * tests/uninorm/test-u32-normalize-big.h: New file.
38349         * tests/uninorm/test-u32-normalize-big.c: New file.
38350         * tests/uninorm/NormalizationTest.txt: New file, created from
38351         Unicode 5.1.0 NormalizationTest.txt.
38352         * modules/uninorm/nfd-tests: New file.
38353
38354         New module 'uninorm/nfd'.
38355         * lib/uninorm/nfd.c: New file.
38356         * modules/uninorm/nfd: New file.
38357
38358         New module 'uninorm/u32-normalize'.
38359         * lib/uninorm/u32-normalize.c: New file.
38360         * modules/uninorm/u32-normalize: New file.
38361
38362         New module 'uninorm/u16-normalize'.
38363         * lib/uninorm/u16-normalize.c: New file.
38364         * modules/uninorm/u16-normalize: New file.
38365
38366         New module 'uninorm/u8-normalize'.
38367         * lib/uninorm/u8-normalize.c: New file.
38368         * lib/uninorm/normalize-internal.h: New file.
38369         * lib/uninorm/u-normalize-internal.h: New file.
38370         * modules/uninorm/u8-normalize: New file.
38371
38372         New module 'uninorm/decompose-internal'.
38373         * lib/uninorm/decompose-internal.c: New file.
38374         * modules/uninorm/decompose-internal: New file.
38375
38376         Tests for module 'uninorm/composition'.
38377         * tests/uninorm/test-composition.c: New file.
38378         * modules/uninorm/composition-tests: New file.
38379
38380         New module 'uninorm/composition'.
38381         * lib/uninorm/composition.c: New file.
38382         * lib/uninorm/composition-table.gperf: New file, generated by
38383         gen-uni-tables.
38384         * modules/uninorm/composition: New file.
38385
38386         Tests for module 'uninorm/compat-decomposition'.
38387         * tests/uninorm/test-compat-decomposition.c: New file.
38388         * modules/uninorm/compat-decomposition-tests: New file.
38389
38390         New module 'uninorm/compat-decomposition'.
38391         * lib/uninorm/decompose-internal.h: New file.
38392         * lib/uninorm/compat-decomposition.c: New file.
38393         * modules/uninorm/compat-decomposition: New file.
38394
38395         Tests for module 'uninorm/canonical-decomposition'.
38396         * tests/uninorm/test-canonical-decomposition.c: New file.
38397         * modules/uninorm/canonical-decomposition-tests: New file.
38398
38399         New module 'uninorm/canonical-decomposition'.
38400         * lib/uninorm/canonical-decomposition.c: New file.
38401         * modules/uninorm/canonical-decomposition: New file.
38402
38403         Tests for module 'uninorm/decomposition'.
38404         * tests/uninorm/test-decomposition.c: New file.
38405         * modules/uninorm/decomposition-tests: New file.
38406
38407         New module 'uninorm/decomposition'.
38408         * lib/uninorm/decomposition.c: New file.
38409         * modules/uninorm/decomposition: New file.
38410
38411         New module 'uninorm/decomposition-table'.
38412         * lib/uninorm/decomposition-table.h: New file.
38413         * lib/uninorm/decomposition-table.c: New file.
38414         * lib/uninorm/decomposition-table1.h: New file, generated by
38415         gen-uni-tables.
38416         * lib/uninorm/decomposition-table2.h: New file, generated by
38417         gen-uni-tables.
38418         * modules/uninorm/decomposition-table: New file.
38419
38420         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
38421         (UC_DECOMP_*): New enumeration items.
38422         (get_decomposition): New function.
38423         (struct decomp_table): New type.
38424         (output_decomposition, output_decomposition_tables): New functions.
38425         (unicode_composition_exclusions): New variable.
38426         (fill_composition_exclusions, debug_output_composition_tables): New
38427         functions.
38428         (main): Accept one more argument. Invoke fill_composition_exclusions.
38429         Output decomposition and composition tables.
38430
38431         New module 'uninorm/base'.
38432         * lib/uninorm.h: New file.
38433         * lib/unictype.h: Update comment.
38434         * modules/uninorm/base: New file.
38435
38436 2009-02-21  David Lutterkort  <lutter@redhat.com>
38437
38438         Tests for module 'safe-alloc'.
38439         * tests/test-safe-alloc.c: New file.
38440         * modules/safe-alloc-tests: New file.
38441
38442         New module 'safe-alloc'.
38443         * lib/safe-alloc.h: New file.
38444         * lib/safe-alloc.c: New file.
38445         * m4/safe-alloc.m4: New file.
38446         * modules/safe-alloc: New file.
38447         * doc/safe-alloc.texi: New file.
38448         * doc/gnulib.texi: Include it.
38449         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
38450         safe-alloc.
38451
38452 2009-02-18  Bruno Haible  <bruno@clisp.org>
38453
38454         Fix link error on non-glibc systems.
38455         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
38456         variable.
38457         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38458
38459 2009-02-18  Jim Meyering  <meyering@redhat.com>
38460
38461         fts: avoid used-uninitialized error due to recent change
38462         * lib/fts.c (fts_read): Guard uses of the new member,
38463         parent->fts_n_dirs_remaining, since it's not relevant for
38464         the parent of a directory specified on the command-line.
38465
38466 2009-02-17  James Youngman  <jay@gnu.org>
38467             Bruno Haible  <bruno@clisp.org>
38468
38469         * m4/include_next.m4: Reformulate comment.
38470
38471 2009-02-16  Jim Meyering  <meyering@redhat.com>
38472
38473         fts: add #if guards so that the fts_lgpl module still builds
38474         * lib/fts.c: Guard just-added hash-table-using parts with
38475         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
38476         Reported by Simon Josefsson.
38477
38478 2009-02-15  Bruno Haible  <bruno@clisp.org>
38479
38480         * modules/array-mergesort-tests: New file.
38481         * tests/test-array-mergesort.c: New file.
38482
38483         New module 'array-mergesort'.
38484         * modules/array-mergesort: New file.
38485         * lib/array-mergesort.h: New file.
38486
38487 2009-02-15  Bruno Haible  <bruno@clisp.org>
38488
38489         Fix 2009-02-07 commit.
38490         * lib/gen-uni-tables.c (output_predicate, output_category,
38491         output_combclass, output_bidi_category, output_decimal_digit,
38492         output_digit, output_numeric, output_mirror, output_scripts,
38493         output_ident_category, output_simple_mapping): Fix format directives.
38494         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
38495
38496 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
38497
38498         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
38499         fixes are available from IBM.
38500
38501 2009-02-13  Jim Meyering  <meyering@redhat.com>
38502
38503         fts: arrange not to stat non-directories in more cases
38504         This makes GNU find (when it doesn't need to stat each file)
38505         *much* more efficient at traversing reiserfs file systems.
38506         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
38507         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
38508         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
38509         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
38510         (leaf_optimization_applies): New function.
38511         (LCO_hash, LCO_compare): New helper functions.
38512         (link_count_optimize_ok): New function.
38513         (fts_stat): Initialize new member (if dir).
38514         (fts_read): Decrement parent's fts_n_dirs_remaining count if
38515         we've just stat'ed a directory.  Skip the stat call when possible.
38516         ---
38517         Note this AFS-related exchange:
38518         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
38519         and note find's pioctl call in find/fstype.c.
38520         But that is necessary only if you want to enable the
38521         optimization for AFS, and for now, I don't.
38522
38523         fts: move a function definition "up" (no semantic change)
38524         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
38525         "up" to precede upcoming use of a related function.
38526
38527 2009-02-11  Jim Meyering  <meyering@redhat.com>
38528
38529         fts: correct internal computation of nlinks (optimization-related)
38530         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
38531         whether the current entry is a directory, so don't test it.
38532
38533 2009-02-10  Bruno Haible  <bruno@clisp.org>
38534
38535         Tests for module 'uniwbrk/ulc-wordbreaks'.
38536         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
38537         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
38538         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
38539
38540         Tests for module 'uniwbrk/u32-wordbreaks'.
38541         * modules/uniwbrk/u32-wordbreaks-tests: New file.
38542         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
38543
38544         Tests for module 'uniwbrk/u16-wordbreaks'.
38545         * modules/uniwbrk/u16-wordbreaks-tests: New file.
38546         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
38547
38548         Tests for module 'uniwbrk/u8-wordbreaks'.
38549         * modules/uniwbrk/u8-wordbreaks-tests: New file.
38550         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
38551
38552 2009-02-10  Bruno Haible  <bruno@clisp.org>
38553
38554         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
38555         property.
38556         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
38557         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
38558         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
38559
38560 2009-02-10  Simon Josefsson  <simon@josefsson.org>
38561
38562         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
38563         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
38564
38565 2009-02-10  Bruno Haible  <bruno@clisp.org>
38566
38567         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
38568         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
38569         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
38570         * lib/unilbrk/u8-possible-linebreaks.c: Update.
38571         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
38572         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
38573
38574 2009-02-09  Simon Josefsson  <simon@josefsson.org>
38575
38576         * lib/sockets.h (gl_fd_to_handle): New function.
38577
38578         * tests/test-sockets.c: Call gl_fd_to_handle.
38579
38580 2009-02-09  Bruno Haible  <bruno@clisp.org>
38581
38582         * doc/havelib.texi: Document the conventions on bi-arch systems.
38583
38584 2009-02-08  Bruno Haible  <bruno@clisp.org>
38585
38586         Document the AC_LIB_LINKFLAGS macro.
38587         * doc/havelib.texi: New file, mostly written on 2005-05-24.
38588         * doc/gnulib.texi: Include it.
38589
38590 2009-02-08  Bruno Haible  <bruno@clisp.org>
38591
38592         Fix wrong order of sections, compared to TOC.
38593         * doc/gnulib.texi: Include relocatable-maint.texi after the
38594         "Regular expressions" node, not before.
38595
38596 2009-02-08  Bruno Haible  <bruno@clisp.org>
38597
38598         Tests for module 'unicase/totitle'.
38599         * modules/unicase/totitle-tests: New file.
38600
38601         Tests for module 'unicase/tolower'.
38602         * modules/unicase/tolower-tests: New file.
38603
38604         Tests for module 'unicase/toupper'.
38605         * modules/unicase/toupper-tests: New file.
38606         * tests/unicase/test-mapping-part1.h: New file.
38607         * tests/unicase/test-mapping-part2.h: New file.
38608
38609         New module 'unicase/totitle'.
38610         * modules/unicase/totitle: New file.
38611         * lib/unicase/totitle.c: New file.
38612
38613         New module 'unicase/tolower'.
38614         * modules/unicase/tolower: New file.
38615         * lib/unicase/tolower.c: New file.
38616
38617         New module 'unicase/toupper'.
38618         * modules/unicase/toupper: New file.
38619         * lib/unicase/toupper.c: New file.
38620         * lib/unicase/simple-mapping.h: New file.
38621
38622         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
38623         (mapping_table): New structure.
38624         (output_simple_mapping): New function.
38625         (main): Invoke output_simple_mapping_test and output_simple_mapping.
38626         * modules/gen-uni-tables (Description): Update.
38627         * lib/unicase/toupper.h: New file, automatically generated by
38628         gen-uni-tables.
38629         * lib/unicase/tolower.h: New file, automatically generated by
38630         gen-uni-tables.
38631         * lib/unicase/totitle.h: New file, automatically generated by
38632         gen-uni-tables.
38633         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
38634         gen-uni-tables.
38635         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
38636         gen-uni-tables.
38637         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
38638         gen-uni-tables.
38639
38640         New module 'unicase/base'.
38641         * modules/unicase/base: New file.
38642         * lib/unicase.h: New file.
38643
38644 2009-02-08  Bruno Haible  <bruno@clisp.org>
38645
38646         New module 'uniwbrk/ulc-wordbreaks'.
38647         * modules/uniwbrk/ulc-wordbreaks: New file.
38648         * lib/uniwbrk/ulc-wordbreaks.c: New file.
38649
38650         New module 'uniwbrk/u32-wordbreaks'.
38651         * modules/uniwbrk/u32-wordbreaks: New file.
38652         * lib/uniwbrk/u32-wordbreaks.c: New file.
38653
38654         New module 'uniwbrk/u16-wordbreaks'.
38655         * modules/uniwbrk/u16-wordbreaks: New file.
38656         * lib/uniwbrk/u16-wordbreaks.c: New file.
38657
38658         New module 'uniwbrk/u8-wordbreaks'.
38659         * modules/uniwbrk/u8-wordbreaks: New file.
38660         * lib/uniwbrk/u8-wordbreaks.c: New file.
38661         * lib/uniwbrk/u-wordbreaks.h: New file.
38662
38663         New module 'uniwbrk/table'.
38664         * modules/uniwbrk/table: New file.
38665         * lib/uniwbrk/wbrktable.h: New file.
38666         * lib/uniwbrk/wbrktable.c: New file.
38667
38668         New module 'uniwbrk/wordbreak-property'.
38669         * modules/uniwbrk/wordbreak-property: New file.
38670         * lib/uniwbrk/wordbreak-property.c: New file.
38671
38672         * lib/gen-uni-tables.c (WBP_*): New enum items.
38673         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
38674         (unicode_org_wbp): New variable.
38675         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
38676         New functions.
38677         (wbp_table): New structure.
38678         (output_wbp, output_wbrk_tables): New functions.
38679         (main): Accept additional argument. Invoke fill_org_wbp,
38680         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
38681         output_wbrk_tables.
38682         * modules/gen-uni-tables (Description): Update.
38683         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
38684         gen-uni-tables.
38685
38686         New module 'uniwbrk/base'.
38687         * modules/uniwbrk/base: New file.
38688         * lib/uniwbrk.h: New file.
38689
38690 2009-02-08  Bruno Haible  <bruno@clisp.org>
38691
38692         Update to Unicode 5.1.0.
38693         * lib/gen-uni-tables.c (is_property_alphabetic): Include
38694         U+2185..U+2188.
38695         (is_property_default_ignorable_code_point): Don't include characters
38696         of category Cc or Cs and not-a-characters.
38697         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
38698         U+0D79, U+109E, U+109F, U+A60C.
38699         * lib/unictype/bidi_of.h: Regenerated.
38700         * lib/unictype/blocks.h: Regenerated.
38701         * lib/unictype/categ_C.h: Regenerated.
38702         * lib/unictype/categ_Cf.h: Regenerated.
38703         * lib/unictype/categ_Cn.h: Regenerated.
38704         * lib/unictype/categ_L.h: Regenerated.
38705         * lib/unictype/categ_Ll.h: Regenerated.
38706         * lib/unictype/categ_Lm.h: Regenerated.
38707         * lib/unictype/categ_Lo.h: Regenerated.
38708         * lib/unictype/categ_Lu.h: Regenerated.
38709         * lib/unictype/categ_M.h: Regenerated.
38710         * lib/unictype/categ_Mc.h: Regenerated.
38711         * lib/unictype/categ_Me.h: Regenerated.
38712         * lib/unictype/categ_Mn.h: Regenerated.
38713         * lib/unictype/categ_N.h: Regenerated.
38714         * lib/unictype/categ_Nd.h: Regenerated.
38715         * lib/unictype/categ_Nl.h: Regenerated.
38716         * lib/unictype/categ_No.h: Regenerated.
38717         * lib/unictype/categ_P.h: Regenerated.
38718         * lib/unictype/categ_Pd.h: Regenerated.
38719         * lib/unictype/categ_Pe.h: Regenerated.
38720         * lib/unictype/categ_Pf.h: Regenerated.
38721         * lib/unictype/categ_Pi.h: Regenerated.
38722         * lib/unictype/categ_Po.h: Regenerated.
38723         * lib/unictype/categ_Ps.h: Regenerated.
38724         * lib/unictype/categ_S.h: Regenerated.
38725         * lib/unictype/categ_Sk.h: Regenerated.
38726         * lib/unictype/categ_Sm.h: Regenerated.
38727         * lib/unictype/categ_So.h: Regenerated.
38728         * lib/unictype/categ_of.h: Regenerated.
38729         * lib/unictype/combining.h: Regenerated.
38730         * lib/unictype/ctype_alnum.h: Regenerated.
38731         * lib/unictype/ctype_alpha.h: Regenerated.
38732         * lib/unictype/ctype_graph.h: Regenerated.
38733         * lib/unictype/ctype_lower.h: Regenerated.
38734         * lib/unictype/ctype_print.h: Regenerated.
38735         * lib/unictype/ctype_punct.h: Regenerated.
38736         * lib/unictype/ctype_upper.h: Regenerated.
38737         * lib/unictype/decdigit.h: Regenerated.
38738         * lib/unictype/digit.h: Regenerated.
38739         * lib/unictype/mirror.h: Regenerated.
38740         * lib/unictype/numeric.h: Regenerated.
38741         * lib/unictype/pr_alphabetic.h: Regenerated.
38742         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
38743         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
38744         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
38745         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
38746         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
38747         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
38748         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
38749         * lib/unictype/pr_combining.h: Regenerated.
38750         * lib/unictype/pr_dash.h: Regenerated.
38751         * lib/unictype/pr_decimal_digit.h: Regenerated.
38752         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
38753         * lib/unictype/pr_deprecated.h: Regenerated.
38754         * lib/unictype/pr_diacritic.h: Regenerated.
38755         * lib/unictype/pr_extender.h: Regenerated.
38756         * lib/unictype/pr_format_control.h: Regenerated.
38757         * lib/unictype/pr_grapheme_base.h: Regenerated.
38758         * lib/unictype/pr_grapheme_extend.h: Regenerated.
38759         * lib/unictype/pr_grapheme_link.h: Regenerated.
38760         * lib/unictype/pr_id_continue.h: Regenerated.
38761         * lib/unictype/pr_id_start.h: Regenerated.
38762         * lib/unictype/pr_ideographic.h: Regenerated.
38763         * lib/unictype/pr_ignorable_control.h: Regenerated.
38764         * lib/unictype/pr_lowercase.h: Regenerated.
38765         * lib/unictype/pr_math.h: Regenerated.
38766         * lib/unictype/pr_numeric.h: Regenerated.
38767         * lib/unictype/pr_other_alphabetic.h: Regenerated.
38768         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
38769         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
38770         * lib/unictype/pr_other_id_continue.h: Regenerated.
38771         * lib/unictype/pr_other_lowercase.h: Regenerated.
38772         * lib/unictype/pr_other_math.h: Regenerated.
38773         * lib/unictype/pr_punctuation.h: Regenerated.
38774         * lib/unictype/pr_sentence_terminal.h: Regenerated.
38775         * lib/unictype/pr_soft_dotted.h: Regenerated.
38776         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
38777         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
38778         * lib/unictype/pr_unified_ideograph.h: Regenerated.
38779         * lib/unictype/pr_uppercase.h: Regenerated.
38780         * lib/unictype/pr_xid_continue.h: Regenerated.
38781         * lib/unictype/pr_xid_start.h: Regenerated.
38782         * lib/unictype/pr_zero_width.h: Regenerated.
38783         * lib/unictype/scripts.h: Regenerated.
38784         * lib/unictype/scripts_byname.gperf: Regenerated.
38785         * lib/unictype/sy_java_ident.h: Regenerated.
38786         * lib/unilbrk/lbrkprop1.h: Regenerated.
38787         * lib/unilbrk/lbrkprop2.h: Regenerated.
38788         * tests/unictype/test-categ_C.c: Regenerated.
38789         * tests/unictype/test-categ_Cf.c: Regenerated.
38790         * tests/unictype/test-categ_Cn.c: Regenerated.
38791         * tests/unictype/test-categ_L.c: Regenerated.
38792         * tests/unictype/test-categ_Ll.c: Regenerated.
38793         * tests/unictype/test-categ_Lm.c: Regenerated.
38794         * tests/unictype/test-categ_Lo.c: Regenerated.
38795         * tests/unictype/test-categ_Lu.c: Regenerated.
38796         * tests/unictype/test-categ_M.c: Regenerated.
38797         * tests/unictype/test-categ_Mc.c: Regenerated.
38798         * tests/unictype/test-categ_Me.c: Regenerated.
38799         * tests/unictype/test-categ_Mn.c: Regenerated.
38800         * tests/unictype/test-categ_N.c: Regenerated.
38801         * tests/unictype/test-categ_Nd.c: Regenerated.
38802         * tests/unictype/test-categ_Nl.c: Regenerated.
38803         * tests/unictype/test-categ_No.c: Regenerated.
38804         * tests/unictype/test-categ_P.c: Regenerated.
38805         * tests/unictype/test-categ_Pd.c: Regenerated.
38806         * tests/unictype/test-categ_Pe.c: Regenerated.
38807         * tests/unictype/test-categ_Pf.c: Regenerated.
38808         * tests/unictype/test-categ_Pi.c: Regenerated.
38809         * tests/unictype/test-categ_Po.c: Regenerated.
38810         * tests/unictype/test-categ_Ps.c: Regenerated.
38811         * tests/unictype/test-categ_S.c: Regenerated.
38812         * tests/unictype/test-categ_Sk.c: Regenerated.
38813         * tests/unictype/test-categ_Sm.c: Regenerated.
38814         * tests/unictype/test-categ_So.c: Regenerated.
38815         * tests/unictype/test-ctype_alnum.c: Regenerated.
38816         * tests/unictype/test-ctype_alpha.c: Regenerated.
38817         * tests/unictype/test-ctype_graph.c: Regenerated.
38818         * tests/unictype/test-ctype_lower.c: Regenerated.
38819         * tests/unictype/test-ctype_print.c: Regenerated.
38820         * tests/unictype/test-ctype_punct.c: Regenerated.
38821         * tests/unictype/test-ctype_upper.c: Regenerated.
38822         * tests/unictype/test-decdigit.h: Regenerated.
38823         * tests/unictype/test-digit.h: Regenerated.
38824         * tests/unictype/test-numeric.h: Regenerated.
38825         * tests/unictype/test-pr_alphabetic.c: Regenerated.
38826         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
38827         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
38828         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
38829         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
38830         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
38831         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
38832         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
38833         * tests/unictype/test-pr_combining.c: Regenerated.
38834         * tests/unictype/test-pr_dash.c: Regenerated.
38835         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
38836         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
38837         * tests/unictype/test-pr_deprecated.c: Regenerated.
38838         * tests/unictype/test-pr_diacritic.c: Regenerated.
38839         * tests/unictype/test-pr_extender.c: Regenerated.
38840         * tests/unictype/test-pr_format_control.c: Regenerated.
38841         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
38842         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
38843         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
38844         * tests/unictype/test-pr_id_continue.c: Regenerated.
38845         * tests/unictype/test-pr_id_start.c: Regenerated.
38846         * tests/unictype/test-pr_ideographic.c: Regenerated.
38847         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
38848         * tests/unictype/test-pr_lowercase.c: Regenerated.
38849         * tests/unictype/test-pr_math.c: Regenerated.
38850         * tests/unictype/test-pr_numeric.c: Regenerated.
38851         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
38852         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
38853         Regenerated.
38854         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
38855         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
38856         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
38857         * tests/unictype/test-pr_other_math.c: Regenerated.
38858         * tests/unictype/test-pr_punctuation.c: Regenerated.
38859         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
38860         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
38861         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
38862         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
38863         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
38864         * tests/unictype/test-pr_uppercase.c: Regenerated.
38865         * tests/unictype/test-pr_xid_continue.c: Regenerated.
38866         * tests/unictype/test-pr_xid_start.c: Regenerated.
38867         * tests/unictype/test-pr_zero_width.c: Regenerated.
38868
38869         Update to Unicode 5.1.0.
38870         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
38871         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
38872         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
38873         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
38874         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
38875         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
38876         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
38877         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
38878         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
38879         (nonspacing_table_ind): Update.
38880         * tests/uniwidth/test-uc_width2.sh: Update expected result.
38881
38882         Update to Unicode 5.1.0.
38883         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
38884         code transform.
38885         * lib/uniname/uniname.c (unicode_character_name,
38886         unicode_name_character): Add the range 0x1Fxxx to the code transform.
38887         * lib/uniname/uninames.h: Regenerated.
38888         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
38889
38890 2009-02-07  Bruno Haible  <bruno@clisp.org>
38891
38892         Merge gen-ctype and gen-lbrk into a single program.
38893         * lib/gen-uni-tables.c: New file, incorporating
38894         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
38895         Add directory prefixes to the names of the generated files.
38896         * lib/unictype/gen-ctype.c: Remove file.
38897         * lib/unilbrk/gen-lbrk.c: Remove file.
38898         * modules/gen-uni-tables: New file.
38899         * modules/unictype/gen-ctype: Remove file.
38900         * modules/unilbrk/gen-lbrk: Remove file.
38901
38902 2009-02-07  Bruno Haible  <bruno@clisp.org>
38903
38904         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
38905
38906         New module 'unistr/u32-strcoll'.
38907         * modules/unistr/u32-strcoll: New file.
38908         * lib/unistr/u32-strcoll.c: New file.
38909
38910         New module 'unistr/u16-strcoll'.
38911         * modules/unistr/u16-strcoll: New file.
38912         * lib/unistr/u16-strcoll.c: New file.
38913
38914         New module 'unistr/u8-strcoll'.
38915         * modules/unistr/u8-strcoll: New file.
38916         * lib/unistr/u8-strcoll.c: New file.
38917         * lib/unistr/u-strcoll.h: New file.
38918
38919 2009-02-07  Bruno Haible  <bruno@clisp.org>
38920
38921         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
38922         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
38923         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
38924         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
38925         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
38926         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
38927
38928 2009-02-07  Bruno Haible  <bruno@clisp.org>
38929
38930         Make 64-bit clean.
38931         * lib/unictype/gen-ctype.c (output_predicate, output_category,
38932         output_combclass, output_bidi_category, output_decimal_digit,
38933         output_digit, output_numeric, output_mirror, output_scripts,
38934         output_ident_category): Use proper width specifier in format strings.
38935
38936 2009-02-07  Bruno Haible  <bruno@clisp.org>
38937
38938         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
38939         failure behaviour.
38940
38941 2009-02-07  Jim Meyering  <meyering@redhat.com>
38942
38943         regex: avoid compilation failure with upcoming gcc-4.4
38944         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
38945         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
38946         "... error: integer overflow in preprocessor expression".
38947
38948 2009-02-05  Ben Pfaff  <blp@gnu.org>
38949
38950         Fix link errors on Windows when close module is used.
38951         * modules/close: Add $(LIB_CLOSE) to Link section.
38952         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
38953         $(LIB_CLOSE) on Windows.
38954
38955 2009-02-05  Jim Meyering  <meyering@redhat.com>
38956
38957         still avoid unused-parameter warnings, but do it cleanly
38958         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
38959         (get_fs_usage): Cast to void instead.
38960         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
38961         (dev_from_mount_options, read_file_system_list): Cast to void.
38962         Prompted by Bruno Haible.
38963
38964 2009-02-04  Jim Meyering  <meyering@redhat.com>
38965
38966         fsusage.c: correct copyright year
38967         * lib/fsusage.c: Reflect year in which the change is pushed into
38968
38969         avoid misc. warnings
38970         * lib/fsusage.c (UNUSED_PARAM): Define.
38971         (get_fs_usage): Mark parameter "disk" as unused.
38972         * lib/getugroups.c (getgrent): Use "void" in prototype.
38973         * lib/mountlist.c: Mark unused parameters.
38974         (read_file_system_list): Declare a local with "const".
38975         * lib/nanosleep.c (getnow): Declare static.
38976         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
38977
38978         dirfd: set errno upon failure
38979         * lib/dirfd.c: Include <errno.h>.
38980         Set errno to ENOTSUP when returning -1.
38981         * modules/dirfd (Depends-on): Add errno.
38982         Suggested by John Kodis <kodis@comcast.net>.
38983
38984 2009-02-01  Bruno Haible  <bruno@clisp.org>
38985
38986         Don't assume sizeof (long) >= sizeof (void *).
38987         * lib/memcmp.c: Include stdint.h.
38988         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
38989         srcp2 to 'const byte *'.
38990         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
38991         types to uintptr_t.
38992         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
38993         * modules/memcmp (Depends-on): Add stdint.
38994         Reported by Ozkan Sezer <sezeroz@gmail.com>.
38995
38996 2009-01-30  Eric Blake  <ebb9@byu.net>
38997
38998         fix more require-before-expand issues
38999         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
39000         expand, AC_PROG_AWK.
39001         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
39002
39003 2009-01-28  Eric Blake  <ebb9@byu.net>
39004
39005         version-etc: use consistent URL formatting
39006         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
39007         Improve formatting.  Use fputs for string without %.
39008
39009 2009-01-28  Jim Meyering  <meyering@redhat.com>
39010
39011         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
39012         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
39013         "underquoted definition of NAME" from autoconf-2.59.
39014
39015 2009-01-28  Bruno Haible  <bruno@clisp.org>
39016
39017         * doc/gnulib.texi: Add "Obsolete modules" to index.
39018
39019 2009-01-28  Jim Meyering  <meyering@redhat.com>
39020
39021         useless-if-before-free: recognize more variants
39022         * build-aux/useless-if-before-free: Also recognize e.g.,
39023         if (NULL != p) free (p);
39024
39025 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
39026
39027         test-getaddrinfo: skip (don't fail) this test when there's no network
39028         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
39029         on the presumption that it means you lack network access.
39030
39031 2009-01-26  Jim Meyering  <meyering@redhat.com>
39032
39033         fflush: avoid warnings on modern systems
39034         * lib/fflush.c (rpl_fflush): Move declarations of locals,
39035         pos and result, into scopes where they're used.
39036
39037 2009-01-26  Eric Blake  <ebb9@byu.net>
39038
39039         Silence warning reintroduced by recent extensions patch.
39040         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
39041         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
39042         autoconf.
39043
39044         Backport improved autoconf semantics of AC_DEFUN_ONCE.
39045         * m4/00gnulib.m4: New file.
39046         * gnulib-tool (func_get_filelist): Always use it.
39047         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
39048         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
39049
39050 2009-01-25  Bruno Haible  <bruno@clisp.org>
39051
39052         Make test-quotearg work on MacOS X and AIX.
39053         * tests/test-quotearg.sh: New file.
39054         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
39055         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
39056         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
39057         include <libintl.h>.
39058         (fake_locale): Remove variable.
39059         (gettext, dgettext, dcgettext): Remove functions.
39060         (main): Instead of setting a fake locale, set a real locale. Call
39061         textdomain and bindtextdomain.
39062         * modules/quotearg-tests (Files): Add the new files.
39063         (Depends-on): Add gettext, setenv, unsetenv.
39064         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
39065         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
39066         Augment TESTS_ENVIRONMENT.
39067
39068 2009-01-25  Bruno Haible  <bruno@clisp.org>
39069
39070         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
39071         fr_FR.ISO8859-1 locale on MacOS X.
39072         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
39073         ja_JP.eucJP locale on MacOS X.
39074         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
39075         zh_CN.GB18030 locale on MacOS X.
39076
39077 2009-01-25  Bruno Haible  <bruno@clisp.org>
39078
39079         Avoid link errors on MacOS X 10.3.
39080         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
39081         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
39082
39083 2009-01-25  Bruno Haible  <bruno@clisp.org>
39084
39085         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
39086         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
39087         * modules/pipe (Files): Remove m4/posix_spawn.m4.
39088         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
39089         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
39090         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
39091         posix_spawnattr_init, posix_spawnattr_setsigmask,
39092         posix_spawnattr_setflags, posix_spawnattr_destroy.
39093
39094         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
39095         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
39096         * modules/execute (Files): Remove m4/posix_spawn.m4.
39097         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
39098         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
39099         posix_spawnattr_init, posix_spawnattr_setsigmask,
39100         posix_spawnattr_setflags, posix_spawnattr_destroy.
39101
39102 2009-01-25  Bruno Haible  <bruno@clisp.org>
39103
39104         * lib/glthread/threadlib.c: Include <stdlib.h>.
39105
39106 2009-01-25  Bruno Haible  <bruno@clisp.org>
39107
39108         * lib/glthread/threadlib.c (dummy): New declaration.
39109
39110 2009-01-25  Bruno Haible  <bruno@clisp.org>
39111
39112         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
39113         multibyte characters also for the GB18030 encoding. Don't crash when
39114         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
39115
39116 2009-01-25  Bruno Haible  <bruno@clisp.org>
39117
39118         Avoid redefining 'struct random_data' on OSF/1 5.1.
39119         * lib/stdlib.in.h: Include <random.h> if it exists.
39120         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
39121         HAVE_RANDOM_H. Include <random.h> when testing whether
39122         'struct random_data' exists.
39123         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
39124
39125 2009-01-25  Bruno Haible  <bruno@clisp.org>
39126
39127         Don't install charset.alias on MacOS X >= 10.3.
39128         * lib/localcharset.c (DARWIN7): New macro.
39129         (get_charset_aliases): Hardcode the result for Darwin7.
39130         * modules/localcharset (install-exec-local): Don't install
39131         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
39132
39133 2009-01-25  Bruno Haible  <bruno@clisp.org>
39134
39135         Don't install charset.alias on mingw and Cygwin.
39136         * modules/localcharset (install-exec-local): Don't install
39137         charset.alias on mingw and Cygwin, if the file does not yet exist.
39138         The result for these platforms is hardcoded in localcharset.c.
39139
39140 2009-01-25  Bruno Haible  <bruno@clisp.org>
39141
39142         Make it possible again to use AC_GNU_SOURCE together with gnulib.
39143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
39144         before requiring AC_USE_SYSTEM_EXTENSIONS.
39145
39146 2009-01-25  Jim Meyering  <meyering@redhat.com>
39147
39148         c-strtod: avoid warnings
39149         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
39150         "assignment discards qualifiers from pointer target type" warnings.
39151
39152 2009-01-24  Bruno Haible  <bruno@clisp.org>
39153
39154         Add support for non-UTF-8 locales on MacOS X.
39155         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
39156         canonical encodings. For Darwin 7 and newer, don't map traditional
39157         encodings to UTF-8.
39158         Reported by Vincent Lefevre <vincent@vinc17.org>
39159         at <http://savannah.gnu.org/bugs/?25235>.
39160
39161 2009-01-24  Bruno Haible  <bruno@clisp.org>
39162
39163         * doc/gnulib.texi (Obsolete modules): New section.
39164         Reported by Mike Frysinger <vapier@gentoo.org>.
39165
39166 2009-01-24  Bruno Haible  <bruno@clisp.org>
39167
39168         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
39169         (%.dvi): New rule.
39170
39171 2009-01-24  Bruno Haible  <bruno@clisp.org>
39172
39173         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
39174         Reported by Eric Blake.
39175
39176 2009-01-24  Bruno Haible  <bruno@clisp.org>
39177
39178         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
39179         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
39180         Reported by Gary V. Vaughan <gary@gnu.org>.
39181
39182 2009-01-24  Bruno Haible  <bruno@clisp.org>
39183
39184         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
39185
39186 2009-01-23  Bruno Haible  <bruno@clisp.org>
39187
39188         Make c-strtod, c-strtold usable in libraries.
39189         * lib/c-strtod.c: Include string.h instead of xalloc.h.
39190         (C_STRTOD): Call strdup instead of xstrdup.
39191         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
39192         * modules/c-strtold (Depends-on): Likewise.
39193         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
39194         * NEWS: Mention the change.
39195         Reported by Michael Gold <mgold@ncf.ca>.
39196
39197 2009-01-23  Jim Meyering  <meyering@redhat.com>
39198
39199         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
39200         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
39201         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
39202
39203 2009-01-23  Simon Josefsson  <simon@josefsson.org>
39204
39205         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
39206         GNU CoreUtils.
39207         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
39208         * modules/version-etc (Description): Update.
39209
39210 2009-01-22  Bruno Haible  <bruno@clisp.org>
39211
39212         Cache the C locale object.
39213         * lib/c-strtod.c (c_locale_cache): New variable.
39214         (c_locale): New function.
39215         (C_STRTOD): Use it, and don't call freelocale.
39216         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
39217         Suggested by Paolo Bonzini.
39218
39219 2009-01-21  Bruno Haible  <bruno@clisp.org>
39220
39221         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
39222         conditions other than overflow.
39223
39224 2009-01-21  Bruno Haible  <bruno@clisp.org>
39225
39226         * lib/c-strtod.c: Include errno.h.
39227         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
39228         value from STRTOD_L and STRTOD.
39229
39230 2009-01-21  Bruno Haible  <bruno@clisp.org>
39231         and Jim Meyering  <meyering@redhat.com>
39232
39233         nanosleep: skip configure test (fail it) for apple universal builds
39234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
39235         universal builds, assume that nanosleep does not work.
39236         * modules/nanosleep (Depends-on): Add multiarch.
39237
39238         mktime: skip configure test (fail it) for apple universal builds
39239         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
39240         universal builds, assume that mktime does not work.
39241         * modules/mktime (Depends-on): Add multiarch.
39242
39243 2009-01-21  Eric Blake  <ebb9@byu.net>
39244
39245         multiarch: avoid expand-before-require warning
39246         * modules/multiarch (configure.ac): Require, rather than expand,
39247         gl_MULTIARCH.
39248         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
39249         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
39250         enforce that all clients require it.  Partial reversion of
39251         2008-12-29 patch.
39252
39253         error: avoid expand-before-require warning
39254         * modules/errno (configure.ac): Require, rather than expand,
39255         gl_HEADER_ERRNO_H.
39256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
39257         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
39258         enforce that all clients require it.
39259
39260         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
39261         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
39262         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
39263         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
39264
39265 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
39266
39267         Revert:
39268         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
39269
39270         regex: do not depend on obsolete modules.
39271         * modules/regex: Remove memcmp and memmove.
39272
39273 2009-01-20  Bruno Haible  <bruno@clisp.org>
39274
39275         Make the 'link' module link on Windows NT 4.
39276         * lib/link.c (_WIN32_WINNT): Don't define.
39277         (CreateHardLinkFuncType): New type.
39278         (CreateHardLinkFunc, initialized): New variables.
39279         (initialize): New function.
39280         (link): Invoke CreateHardLink indirectly through the function pointer.
39281
39282 2009-01-20  Bruno Haible  <bruno@clisp.org>
39283
39284         Fix compilation failure on mingw.
39285         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
39286
39287 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
39288
39289         * doc/c-strtod.texi: Mention a couple of restrictions.
39290
39291 2009-01-20  Jim Meyering  <meyering@redhat.com>
39292
39293         gettimeofday: move more declarations out of functions
39294         * lib/gettimeofday.c: Move extern declarations of tzset and
39295         gmtime out of containing functions.  Prompted by Bruno Haible.
39296
39297 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
39298
39299         regex: do not depend on obsolete modules.
39300         * modules/regex: Remove memcmp and memmove.
39301
39302 2009-01-19  Bruno Haible  <bruno@clisp.org>
39303
39304         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
39305         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
39306         gl_BIGENDIAN, not AC_C_BIGENDIAN.
39307         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
39308         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
39309
39310 2009-01-19  Bruno Haible  <bruno@clisp.org>
39311
39312         * tests/test-link.c: Include <errno.h>.
39313         (main): Exit with code 77 when a hard link cannot be created due to
39314         the file system.
39315         * tests/test-link.sh: Skip test when a hard link cannot be created due
39316         to the file system.
39317         Suggested by Eric Blake.
39318
39319 2009-01-19  Martin Lambers  <marlam@marlam.de>
39320
39321         * modules/link-tests: New file.
39322         * tests/test-link.sh: New file.
39323         * tests/test-link.c: New file.
39324
39325 2009-01-19  Eric Blake  <ebb9@byu.net>
39326
39327         doc: mention another function added in cygwin 1.7.0
39328         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
39329         Another new function in cygwin 1.7.
39330
39331 2009-01-19  Bruno Haible  <bruno@clisp.org>
39332
39333         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
39334         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
39335         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
39336         gl_BIGENDIAN, not AC_C_BIGENDIAN.
39337         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39338         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
39339         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
39340         * m4/md4.m4 (gl_MD4): Likewise.
39341         * m4/md5.m4 (gl_MD5): Likewise.
39342         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
39343         * m4/sha1.m4 (gl_SHA1): Likewise.
39344         * m4/sha256.m4 (gl_SHA256): Likewise.
39345         * m4/sha512.m4 (gl_SHA512): Likewise.
39346
39347 2009-01-19  Bruno Haible  <bruno@clisp.org>
39348
39349         * modules/uniname/uniname-tests (Depends-on): Add progname.
39350         * tests/uniname/test-uninames.c: Include progname.h.
39351         (main): Call set_program_name.
39352
39353         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
39354         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
39355         (main): Call set_program_name.
39356
39357         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
39358         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
39359         (main): Call set_program_name.
39360
39361         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
39362         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
39363         (main): Call set_program_name.
39364
39365         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
39366         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
39367         (main): Call set_program_name.
39368
39369         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
39370         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
39371         (main): Call set_program_name.
39372
39373         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
39374         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
39375         (main): Call set_program_name.
39376
39377         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
39378         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
39379         (main): Call set_program_name.
39380
39381         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
39382         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
39383         (main): Call set_program_name.
39384
39385 2009-01-19  Eric Blake  <ebb9@byu.net>
39386
39387         test-unistd: test previous patch
39388         * tests/test-unistd.c: Test *_FILENO macros.
39389
39390         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
39391         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39392         Guarantee a definition.
39393         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
39394         * modules/unistd-safer (Depends-on): Add dependency on unistd.
39395         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
39396         * lib/dup-safer.c (STDERR_FILENO): Likewise.
39397         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39398         Likewise.
39399         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
39400         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
39401         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39402         Likewise.
39403         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
39404         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
39405         (STDERR_FILENO): Likewise.
39406         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
39407         (STDERR_FILENO): Likewise.
39408         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
39409         (STDERR_FILENO): Likewise.
39410         Reported by Elbert Pol.
39411
39412 2009-01-19  Eric Blake  <ebb9@byu.net>
39413
39414         doc: mention more functions added in cygwin 1.7.0
39415         * doc/posix-functions/abort.texi (abort): Update wording related
39416         to cygwin.
39417         * doc/posix-functions/daylight.texi (daylight): Likewise.
39418         * doc/posix-functions/optarg.texi (optarg): Likewise.
39419         * doc/posix-functions/optarg.texi (opterr): Likewise.
39420         * doc/posix-functions/optarg.texi (optind): Likewise.
39421         * doc/posix-functions/optarg.texi (optopt): Likewise.
39422         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
39423         worked in 1.5.x, and was withdrawn in 1.7.
39424         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
39425         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
39426         cygwin versions.
39427         * doc/posix-functions/perror.texi (perror): Likewise.
39428         * doc/posix-functions/printf.texi (printf): Likewise.
39429         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
39430         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
39431         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
39432         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
39433         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
39434         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
39435         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39436         Likewise.
39437         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39438         Likewise.
39439         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
39440         this function.
39441         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
39442         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
39443         Likewise.
39444         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
39445         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
39446         * doc/posix-functions/confstr.texi (confstr): Likewise.
39447         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
39448         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
39449         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
39450         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
39451         * doc/posix-functions/fputws.texi (fputws): Likewise.
39452         * doc/posix-functions/fwide.texi (fwide): Likewise.
39453         * doc/posix-functions/getwc.texi (getwc): Likewise.
39454         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
39455         * doc/posix-functions/putwc.texi (putwc): Likewise.
39456         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
39457         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
39458         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
39459         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
39460         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
39461         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
39462         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
39463         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
39464         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
39465         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
39466         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
39467
39468 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
39469
39470         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
39471         * lib/ioctl.c: Include <sys/ioctl.h>.
39472
39473 2009-01-19  Simon Josefsson  <simon@josefsson.org>
39474
39475         * modules/getdate-tests (Depends-on): Add progname.
39476         * tests/test-getdate.c: Use progname module, to avoid link errors
39477         on non-glibc systems.
39478
39479 2009-01-18  Simon Josefsson  <simon@josefsson.org>
39480
39481         * modules/filenamecat-tests (Depends-on): Add progname.
39482         * modules/fstrcmp-tests (Depends-on): Likewise.
39483
39484         * tests/test-filenamecat.c: Use progname module, to avoid link
39485         errors on non-glibc systems.
39486         * tests/test-fstrcmp.c: Likewise.
39487
39488 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
39489
39490         gettimeofday: avoid warning: nested extern declaration of 'localtime'
39491         * lib/gettimeofday.c: Move extern declaration out of function.
39492
39493 2009-01-18  Bruno Haible  <bruno@clisp.org>
39494
39495         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
39496         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
39497         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
39498
39499 2009-01-18  Bruno Haible  <bruno@clisp.org>
39500
39501         * lib/strftime.c (MEMPCPY): Remove unused macro.
39502         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
39503
39504 2009-01-18  Martin Lambers  <marlam@marlam.de>
39505
39506         New module 'link'.
39507         * lib/unistd.in.h (link): New declaration.
39508         * lib/link.c: New file.
39509         * m4/link.m4: New file.
39510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
39511         HAVE_LINK.
39512         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
39513         * modules/link: New file.
39514         * doc/posix-functions/link.texi: Mention the new module.
39515
39516 2009-01-18  Bruno Haible  <bruno@clisp.org>
39517
39518         * tests/test-avltree_list.c (main): Call set_program_name.
39519         * tests/test-avltree_oset.c (main): Likewise.
39520         * tests/test-obstack-printf.c: Include progname.h.
39521         (main): Call set_program_name.
39522         * tests/test-quotearg.c: Include progname.h.
39523         (main): Call set_program_name.
39524         * tests/test-xmemdup0.c: Include progname.h.
39525         (main): Call set_program_name.
39526
39527 2009-01-18  Bruno Haible  <bruno@clisp.org>
39528
39529         New module 'alphasort'.
39530         * lib/dirent.in.h (alphasort): New declaration.
39531         * lib/alphasort.c: New file, from glibc with modifications.
39532         * m4/alphasort.m4: New file.
39533         * modules/alphasort: New file.
39534         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
39535         HAVE_ALPHASORT.
39536         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
39537         HAVE_ALPHASORT.
39538         * doc/posix-functions/alphasort.texi: Mention the new module and the
39539         portability problems.
39540
39541 2009-01-18  Bruno Haible  <bruno@clisp.org>
39542
39543         New module 'scandir'.
39544         * lib/dirent.in.h (scandir): New declaration.
39545         * lib/scandir.c: New file, from glibc with modifications.
39546         * m4/scandir.m4: New file.
39547         * modules/scandir: New file.
39548         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
39549         HAVE_SCANDIR.
39550         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
39551         HAVE_SCANDIR.
39552         * doc/posix-functions/scandir.texi: Mention the new module and the
39553         portability problems.
39554
39555 2009-01-17  Bruno Haible  <bruno@clisp.org>
39556
39557         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
39558         Update documentation.
39559         (func_remove_suffix): Escape all dots in the suffix. Update
39560         documentation.
39561         (func_filter_filelist): Update documentation.
39562         Reported by Ralf Wildenhues.
39563
39564 2009-01-17  Bruno Haible  <bruno@clisp.org>
39565
39566         * modules/dprintf-posix-tests: New file.
39567         * tests/test-dprintf-posix.sh: New file.
39568         * tests/test-dprintf-posix.c: New file.
39569
39570         New modules 'dprintf', 'dprintf-posix'.
39571         * lib/stdio.in.h (dprintf): New declaration.
39572         * lib/dprintf.c: New file.
39573         * m4/dprintf.m4: New file.
39574         * m4/dprintf-posix.m4: New file.
39575         * modules/dprintf: New file.
39576         * modules/dprintf-posix: New file.
39577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
39578         HAVE_DPRINTF, REPLACE_DPRINTF.
39579         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
39580         HAVE_DPRINTF, REPLACE_DPRINTF.
39581         * doc/posix-functions/dprintf.texi: Mention the new modules.
39582
39583 2009-01-17  Bruno Haible  <bruno@clisp.org>
39584
39585         * modules/vdprintf-posix-tests: New file.
39586         * tests/test-vdprintf-posix.sh: New file.
39587         * tests/test-vdprintf-posix.c: New file.
39588
39589         New modules 'vdprintf', 'vdprintf-posix'.
39590         * lib/stdio.in.h (vdprintf): New declaration.
39591         * lib/vdprintf.c: New file.
39592         * m4/vdprintf.m4: New file.
39593         * m4/vdprintf-posix.m4: New file.
39594         * modules/vdprintf: New file.
39595         * modules/vdprintf-posix: New file.
39596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
39597         HAVE_VDPRINTF, REPLACE_VDPRINTF.
39598         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
39599         HAVE_VDPRINTF, REPLACE_VDPRINTF.
39600         * doc/posix-functions/vdprintf.texi: Mention the new modules.
39601
39602 2009-01-17  Bruno Haible  <bruno@clisp.org>
39603
39604         Fix replacement of fopen on mingw.
39605         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
39606         mingw.
39607
39608 2009-01-17  Bruno Haible  <bruno@clisp.org>
39609
39610         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
39611         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
39612
39613 2009-01-17  Bruno Haible  <bruno@clisp.org>
39614
39615         Avoid test-fflush2.sh failure on mingw.
39616         * tests/test-fflush2.c: Include binary-io.h.
39617         (main): Put standard input into binary mode.
39618         * modules/fflush-tests (Depends-on): Add binary-io.
39619
39620 2009-01-17  Bruno Haible  <bruno@clisp.org>
39621
39622         * lib/wchar.in.h: In another particular situation, include only the
39623         system's <wchar.h> file.
39624         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
39625         Reported by Albert Chin-A-Young <china@thewrittenword.com>
39626         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
39627
39628 2009-01-17  Bruno Haible  <bruno@clisp.org>
39629
39630         Support for stripping executables in --enable-relocatable.
39631         * build-aux/install-reloc: Expect one more argument, or an environment
39632         variable RELOC_STRIP_PROG. If set, strip the destination program and
39633         its wrapper.
39634         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
39635         RELOC_STRIP_PROG.
39636         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
39637         to set RELOCATABLE_STRIP.
39638         * NEWS: Mention the new Makefile requirement.
39639
39640 2009-01-17  Bruno Haible  <bruno@clisp.org>
39641
39642         * build-aux/install-reloc: Remove debugging information left over by
39643         C compiler on MacOS X.
39644
39645 2009-01-17  Bruno Haible  <bruno@clisp.org>
39646
39647         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
39648         * lib/progreloc.c (find_executable): Fix type of pointer passed to
39649         _NSGetExecutablePath.
39650
39651 2009-01-16  Jim Meyering  <meyering@redhat.com>
39652
39653         strerror: avoid warnings about discarding "const"
39654         * lib/strerror.c (rpl_strerror): Instead of returning a const
39655         string from each and every "case", use a variable, and add a single
39656         cast after the switch.
39657
39658 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
39659
39660         * lib/arpa_inet.in.h: Add extern "C" block for C++.
39661
39662 2009-01-16  Bruno Haible  <bruno@clisp.org>
39663
39664         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
39665         array initializer syntax that also works in C++ mode.
39666         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39667
39668 2009-01-16  Jim Meyering  <meyering@redhat.com>
39669
39670         poll: suppress a warning
39671         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
39672         to ignore "...unsigned expression < 0 is always false" warnings.
39673
39674 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
39675
39676         poll: remove declarations of unused variables
39677         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
39678         sockbuf and optlen.
39679
39680 2009-01-15  Bruno Haible  <bruno@clisp.org>
39681
39682         Make fflush-after-ungetc POSIX compliant on BSD systems.
39683         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
39684         (clear_ungetc_buffer): Implement also for other systems.
39685         (rpl_fflush): On glibc systems, invoke
39686         clear_ungetc_buffer_preserving_position. Otherwise, invoke
39687         clear_ungetc_buffer after fetching the stream's position, not before.
39688
39689 2009-01-15  Bruno Haible  <bruno@clisp.org>
39690
39691         Make fflush-after-ungetc POSIX compliant on glibc systems.
39692         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
39693         after ungetc.
39694         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
39695         (rpl_fflush): On glibc systems, simply call the system's fflush
39696         function after clearing the ungetc buffer.
39697         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
39698         Instead, lseek only to the end of file, then use the system's fseeko
39699         for the rest. On glibc systems, reset the EOF indicator bit.
39700
39701 2009-01-15  Jim Meyering  <meyering@redhat.com>
39702
39703         openmp.m4: revert quote-adding change, for portability to older autoconf
39704         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
39705         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
39706         Simon Josefsson noticed the problem when using autoconf-2.61.
39707
39708 2009-01-15  Bruno Haible  <bruno@clisp.org>
39709
39710         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
39711         * tests/test-fflush2.c (ASSERT): Always fail.
39712         (main): Add two tests for fflush() after ungetc(), taking into account
39713         the Austin Group's clarification.
39714         Suggested by Eric Blake.
39715
39716 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
39717
39718         mktime.m4: remove K&R-style function prototypes
39719         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
39720         for the Sun C++ compiler.
39721
39722 2009-01-14  Bruno Haible  <bruno@clisp.org>
39723
39724         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
39725         while including <wchar.h>.
39726         * lib/wchar.in.h: In two particular situations on HP-UX, include only
39727         the system's <wchar.h> file.
39728         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39729
39730 2009-01-14  Bruno Haible  <bruno@clisp.org>
39731
39732         * m4/csharp.m4: Don't mention gettext on the serial number line.
39733         * m4/csharpexec.m4: Likewise.
39734         * m4/eaccess.m4: Likewise.
39735         * m4/javaexec.m4: Likewise.
39736         * m4/sig_atomic_t.m4: Likewise.
39737         * m4/tmpdir.m4: Likewise.
39738         * m4/intldir.m4: Bump gettext version.
39739         * m4/lib-ld.m4: Likewise.
39740
39741 2009-01-14  Bruno Haible  <bruno@clisp.org>
39742
39743         * lib/progname.c (set_program_name): Add more comments.
39744         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
39745
39746 2009-01-14  Simon Josefsson  <simon@josefsson.org>
39747
39748         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
39749         were sys/stat.h does not define it.
39750
39751 2009-01-14  Jim Meyering  <meyering@redhat.com>
39752
39753         many *.m4 files: improve m4 quoting
39754         99% of this change was performed by running the following commands:
39755         git ls-files | grep '\.m4$' | xargs perl -pi \
39756           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
39757           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
39758           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
39759           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
39760         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
39761         The remainder were to add Copyright dates, increment serial numbers,
39762         undo some changes in comments, exclude m4/intl.m4, and add quotes
39763         around the "1" in ",1" where the unusual spacing prohibited the
39764         above regexps from doing the job.  For more details, see
39765         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
39766         * m4/acl.m4: Modified.
39767         * m4/afs.m4: Likewise.
39768         * m4/alloca.m4: Likewise.
39769         * m4/argp.m4: Likewise.
39770         * m4/argz.m4: Likewise.
39771         * m4/atexit.m4: Likewise.
39772         * m4/bison-i18n.m4: Likewise.
39773         * m4/bison.m4: Likewise.
39774         * m4/byteswap.m4: Likewise.
39775         * m4/c-stack.m4: Likewise.
39776         * m4/c-strtod.m4: Likewise.
39777         * m4/calloc.m4: Likewise.
39778         * m4/canonicalize-lgpl.m4: Likewise.
39779         * m4/chown.m4: Likewise.
39780         * m4/clock_time.m4: Likewise.
39781         * m4/codeset.m4: Likewise.
39782         * m4/copy-file.m4: Likewise.
39783         * m4/csharp.m4: Likewise.
39784         * m4/csharpcomp.m4: Likewise.
39785         * m4/csharpexec.m4: Likewise.
39786         * m4/d-ino.m4: Likewise.
39787         * m4/d-type.m4: Likewise.
39788         * m4/dirfd.m4: Likewise.
39789         * m4/double-slash-root.m4: Likewise.
39790         * m4/eaccess.m4: Likewise.
39791         * m4/eealloc.m4: Likewise.
39792         * m4/environ.m4: Likewise.
39793         * m4/errno_h.m4: Likewise.
39794         * m4/euidaccess.m4: Likewise.
39795         * m4/execute.m4: Likewise.
39796         * m4/fatal-signal.m4: Likewise.
39797         * m4/fchdir.m4: Likewise.
39798         * m4/fcntl_h.m4: Likewise.
39799         * m4/fileblocks.m4: Likewise.
39800         * m4/filenamecat.m4: Likewise.
39801         * m4/findprog.m4: Likewise.
39802         * m4/flexmember.m4: Likewise.
39803         * m4/fnmatch.m4: Likewise.
39804         * m4/fopen.m4: Likewise.
39805         * m4/fpending.m4: Likewise.
39806         * m4/fprintf-posix.m4: Likewise.
39807         * m4/free.m4: Likewise.
39808         * m4/frexp.m4: Likewise.
39809         * m4/frexpl.m4: Likewise.
39810         * m4/fsusage.m4: Likewise.
39811         * m4/ftruncate.m4: Likewise.
39812         * m4/gc-camellia.m4: Likewise.
39813         * m4/gc-random.m4: Likewise.
39814         * m4/gc.m4: Likewise.
39815         * m4/getaddrinfo.m4: Likewise.
39816         * m4/getcwd-abort-bug.m4: Likewise.
39817         * m4/getcwd-path-max.m4: Likewise.
39818         * m4/getdate.m4: Likewise.
39819         * m4/getdomainname.m4: Likewise.
39820         * m4/getgroups.m4: Likewise.
39821         * m4/gethostname.m4: Likewise.
39822         * m4/gethrxtime.m4: Likewise.
39823         * m4/getline.m4: Likewise.
39824         * m4/getloadavg.m4: Likewise.
39825         * m4/getndelim2.m4: Likewise.
39826         * m4/getpass.m4: Likewise.
39827         * m4/gettext.m4: Likewise.
39828         * m4/gettime.m4: Likewise.
39829         * m4/gettimeofday.m4: Likewise.
39830         * m4/gnulib-common.m4: Likewise.
39831         * m4/group-member.m4: Likewise.
39832         * m4/host-os.m4: Likewise.
39833         * m4/iconv.m4: Likewise.
39834         * m4/iconv_open.m4: Likewise.
39835         * m4/inet_ntop.m4: Likewise.
39836         * m4/inet_pton.m4: Likewise.
39837         * m4/inline.m4: Likewise.
39838         * m4/intldir.m4: Likewise.
39839         * m4/intlmacosx.m4: Likewise.
39840         * m4/intmax.m4: Likewise.
39841         * m4/intmax_t.m4: Likewise.
39842         * m4/inttypes.m4: Likewise.
39843         * m4/inttypes_h.m4: Likewise.
39844         * m4/inttypes-pri.m4: Likewise.
39845         * m4/isapipe.m4: Likewise.
39846         * m4/isnand.m4: Likewise.
39847         * m4/isnanf.m4: Likewise.
39848         * m4/isnanl.m4: Likewise.
39849         * m4/javacomp.m4: Likewise.
39850         * m4/javaexec.m4: Likewise.
39851         * m4/jm-winsz1.m4: Likewise.
39852         * m4/jm-winsz2.m4: Likewise.
39853         * m4/lchown.m4: Likewise.
39854         * m4/lcmessage.m4: Likewise.
39855         * m4/ldexpl.m4: Likewise.
39856         * m4/lib-ld.m4: Likewise.
39857         * m4/lib-link.m4: Likewise.
39858         * m4/libsigsegv.m4: Likewise.
39859         * m4/link-follow.m4: Likewise.
39860         * m4/localcharset.m4: Likewise.
39861         * m4/locale-fr.m4: Likewise.
39862         * m4/locale-ja.m4: Likewise.
39863         * m4/locale-tr.m4: Likewise.
39864         * m4/locale-zh.m4: Likewise.
39865         * m4/lock.m4: Likewise.
39866         * m4/longlong.m4: Likewise.
39867         * m4/ls-mntd-fs.m4: Likewise.
39868         * m4/lstat.m4: Likewise.
39869         * m4/malloc.m4: Likewise.
39870         * m4/mathl.m4: Likewise.
39871         * m4/mbrtowc.m4: Likewise.
39872         * m4/mbstate_t.m4: Likewise.
39873         * m4/mbswidth.m4: Likewise.
39874         * m4/memchr.m4: Likewise.
39875         * m4/memcmp.m4: Likewise.
39876         * m4/memcpy.m4: Likewise.
39877         * m4/memmem.m4: Likewise.
39878         * m4/memmove.m4: Likewise.
39879         * m4/mempcpy.m4: Likewise.
39880         * m4/memrchr.m4: Likewise.
39881         * m4/memset.m4: Likewise.
39882         * m4/minmax.m4: Likewise.
39883         * m4/mkdir-slash.m4: Likewise.
39884         * m4/mkdtemp.m4: Likewise.
39885         * m4/mktime.m4: Likewise.
39886         * m4/mmap-anon.m4: Likewise.
39887         * m4/mountlist.m4: Likewise.
39888         * m4/nanosleep.m4: Likewise.
39889         * m4/nls.m4: Likewise.
39890         * m4/nocrash.m4: Likewise.
39891         * m4/open.m4: Likewise.
39892         * m4/openat.m4: Likewise.
39893         * m4/openmp.m4: Likewise.
39894         * m4/pathmax.m4: Likewise.
39895         * m4/perl.m4: Likewise.
39896         * m4/physmem.m4: Likewise.
39897         * m4/pipe.m4: Likewise.
39898         * m4/po.m4: Likewise.
39899         * m4/poll.m4: Likewise.
39900         * m4/posixtm.m4: Likewise.
39901         * m4/posixver.m4: Likewise.
39902         * m4/printf-frexp.m4: Likewise.
39903         * m4/printf-frexpl.m4: Likewise.
39904         * m4/printf-posix.m4: Likewise.
39905         * m4/printf-posix-rpl.m4: Likewise.
39906         * m4/printf.m4: Likewise.
39907         * m4/progtest.m4: Likewise.
39908         * m4/putenv.m4: Likewise.
39909         * m4/readline.m4: Likewise.
39910         * m4/readlink.m4: Likewise.
39911         * m4/readutmp.m4: Likewise.
39912         * m4/realloc.m4: Likewise.
39913         * m4/regex.m4: Likewise.
39914         * m4/relocatable.m4: Likewise.
39915         * m4/relocatable-lib.m4: Likewise.
39916         * m4/rename-dest-slash.m4: Likewise.
39917         * m4/rename.m4: Likewise.
39918         * m4/rmdir-errno.m4: Likewise.
39919         * m4/rmdir.m4: Likewise.
39920         * m4/roundf.m4: Likewise.
39921         * m4/roundl.m4: Likewise.
39922         * m4/rpmatch.m4: Likewise.
39923         * m4/save-cwd.m4: Likewise.
39924         * m4/selinux-selinux-h.m4: Likewise.
39925         * m4/setenv.m4: Likewise.
39926         * m4/settime.m4: Likewise.
39927         * m4/sig2str.m4: Likewise.
39928         * m4/sig_atomic_t.m4: Likewise.
39929         * m4/signalblocking.m4: Likewise.
39930         * m4/signbit.m4: Likewise.
39931         * m4/sigpipe.m4: Likewise.
39932         * m4/sockets.m4: Likewise.
39933         * m4/sockpfaf.m4: Likewise.
39934         * m4/st_dm_mode.m4: Likewise.
39935         * m4/stat-time.m4: Likewise.
39936         * m4/stdbool.m4: Likewise.
39937         * m4/stdint.m4: Likewise.
39938         * m4/stdint_h.m4: Likewise.
39939         * m4/stpcpy.m4: Likewise.
39940         * m4/stpncpy.m4: Likewise.
39941         * m4/strcase.m4: Likewise.
39942         * m4/strchrnul.m4: Likewise.
39943         * m4/strcspn.m4: Likewise.
39944         * m4/strdup.m4: Likewise.
39945         * m4/strftime.m4: Likewise.
39946         * m4/strndup.m4: Likewise.
39947         * m4/strnlen.m4: Likewise.
39948         * m4/strpbrk.m4: Likewise.
39949         * m4/strptime.m4: Likewise.
39950         * m4/strsep.m4: Likewise.
39951         * m4/strtod.m4: Likewise.
39952         * m4/strtoimax.m4: Likewise.
39953         * m4/strtok_r.m4: Likewise.
39954         * m4/strtol.m4: Likewise.
39955         * m4/strtoll.m4: Likewise.
39956         * m4/strtoul.m4: Likewise.
39957         * m4/strtoull.m4: Likewise.
39958         * m4/strtoumax.m4: Likewise.
39959         * m4/strverscmp.m4: Likewise.
39960         * m4/threadlib.m4: Likewise.
39961         * m4/timegm.m4: Likewise.
39962         * m4/tm_gmtoff.m4: Likewise.
39963         * m4/tmpdir.m4: Likewise.
39964         * m4/tmpfile.m4: Likewise.
39965         * m4/tzset.m4: Likewise.
39966         * m4/uintmax_t.m4: Likewise.
39967         * m4/unlinkdir.m4: Likewise.
39968         * m4/unlocked-io.m4: Likewise.
39969         * m4/uptime.m4: Likewise.
39970         * m4/userspec.m4: Likewise.
39971         * m4/utimbuf.m4: Likewise.
39972         * m4/utime.m4: Likewise.
39973         * m4/utimes-null.m4: Likewise.
39974         * m4/utimes.m4: Likewise.
39975         * m4/vararrays.m4: Likewise.
39976         * m4/vasnprintf.m4: Likewise.
39977         * m4/vfprintf-posix.m4: Likewise.
39978         * m4/vprintf-posix.m4: Likewise.
39979         * m4/wait-process.m4: Likewise.
39980         * m4/wchar_t.m4: Likewise.
39981         * m4/wint_t.m4: Likewise.
39982         * m4/write-any-file.m4: Likewise.
39983         * m4/yield.m4: Likewise.
39984
39985 2009-01-13  Bruno Haible  <bruno@clisp.org>
39986
39987         Avoid test-copy-file.sh failures when ACL support insufficient.
39988         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
39989         TESTS_ENVIRONMENT.
39990         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
39991         Reported by Jim Meyering.
39992
39993 2009-01-13  Bruno Haible  <bruno@clisp.org>
39994
39995         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
39996         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
39997         * modules/unistdio/u8-printf-parse (Files): Likewise.
39998         * modules/unistdio/u32-printf-parse (Files): Likewise.
39999         * modules/unistdio/ulc-printf-parse (Files): Likewise.
40000
40001 2009-01-13  Simon Josefsson  <simon@josefsson.org>
40002
40003         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
40004         and m4/inttypes_h.m4 too.
40005
40006 2009-01-12  Eric Blake  <ebb9@byu.net>
40007
40008         tests: IRIX 6.2 cc can't compile -0.0 into .data
40009         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
40010         rather than at compile-time.
40011         * tests/test-floorl.c (minus_zero): Likewise.
40012         * tests/test-frexpl.c (minus_zero): Likewise.
40013         * tests/test-isnan.c (minus_zerol): Likewise.
40014         * tests/test-isnanl.h (minus_zero): Likewise.
40015         * tests/test-ldexpl.c (minus_zero): Likewise.
40016         * tests/test-roundl.c (minus_zero): Likewise.
40017         * tests/test-signbit.c (minus_zerol): Likewise.
40018         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40019         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40020         * tests/test-truncl.c (minus_zero): Likewise.
40021         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40022         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40023         Reported by Tom G. Christensen and Nelson H. F. Beebe.
40024
40025 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40026
40027         regex: fix glibc bug 9697
40028         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
40029         handling.
40030
40031 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40032
40033         regex: fix glibc bug 697
40034         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
40035         being NULL also if there are no backreferences.
40036
40037 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40038
40039         regex: merge glibc changes
40040         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
40041         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
40042         re_string_skip_chars, re_string_reconstruct): Likewise.
40043         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
40044
40045 2009-01-07  Jim Meyering  <meyering@redhat.com>
40046
40047         poll: filter through cppi
40048         * lib/poll.c: Indent cpp directives to reflect nesting.
40049
40050 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
40051
40052         poll: don't return uninitialized
40053         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
40054
40055 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
40056
40057         avoid compile failure on AIX 6.1
40058         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
40059         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
40060
40061 2009-01-04  Jim Meyering  <meyering@redhat.com>
40062
40063         remove duplicate inclusion of <stdio.h>
40064         * tests/test-fprintf-posix.c: Likewise.
40065         * tests/test-printf-posix.c: Likewise.
40066         * tests/test-snprintf-posix.c: Likewise.
40067         * tests/test-sprintf-posix.c: Likewise.
40068         * tests/test-vasprintf-posix.c: Likewise.
40069         * tests/test-vfprintf-posix.c: Likewise.
40070         * tests/test-vprintf-posix.c: Likewise.
40071         * tests/test-vsnprintf-posix.c: Likewise.
40072         * tests/test-vsprintf-posix.c: Likewise.
40073
40074 2009-01-03  Jim Meyering  <meyering@redhat.com>
40075
40076         gnulib-tool: fix sed-based filtering
40077         * gnulib-tool (func_filter_filelist): Remove extra backslash
40078         in sed_fff_filter definition.
40079
40080 2009-01-02  Jim Meyering  <meyering@redhat.com>
40081
40082         strftime: avoid compilation failure on Solaris 2.6
40083         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
40084         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
40085         Don't #define mbrlen or mbsinit, since now they're guaranteed to
40086         be available.  Reported by Tom G. Christensen.  Details in
40087         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
40088
40089 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40090             Bruno Haible  <bruno@clisp.org>
40091
40092         Speed up gnulib-tool by doing more string processing through shell
40093         built-ins.
40094         * gnulib-tool (fast_func_append): New variable.
40095         (func_remove_prefix, func_remove_suffix): New functions.
40096         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
40097         (func_filter_filelist): New function.
40098         (func_get_dependencies): Use func_remove_suffix instead of sed.
40099         (func_get_automake_snippet): Use func_filter_filelist instead of a
40100         subshell and sed invocation.
40101
40102 2009-01-01  Bruno Haible  <bruno@clisp.org>
40103
40104         Fix a security bug.
40105         * gnulib-tool (func_import, import, update): Don't allow the characters
40106         '"', '$', '`', '\' in macro arguments that become part of commands that
40107         are evaluated.
40108
40109 2009-01-01  Bruno Haible  <bruno@clisp.org>
40110
40111         * gnulib-tool (func_reset_sigpipe): Add more comments.
40112
40113 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40114
40115         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
40116         func_emit_tests_Makefile_am, func_import): Abort loops early if we
40117         already know the answer.
40118
40119 2009-01-01  Jim Meyering  <meyering@redhat.com>
40120
40121         * lib/version-etc.c (version_etc_va): Update copyright year.
40122
40123 2008-12-30  Bruno Haible  <bruno@clisp.org>
40124
40125         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
40126         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
40127         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
40128
40129 2008-12-29  Eric Blake  <ebb9@byu.net>
40130
40131         multiarch: avoid autoconf AC_REQUIRE bug
40132         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
40133         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
40134         2.63 and older.
40135         Reported by Bruno Haible, and analyzed in
40136         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
40137
40138 2008-12-29  Bruno Haible  <bruno@clisp.org>
40139
40140         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
40141         files in subdirectories correctly.
40142         Reported by Ralf Wildenhues.
40143
40144 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40145
40146         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
40147         rather than 'join FILE -', for Solaris join.
40148
40149 2008-12-29  Bruno Haible  <bruno@clisp.org>
40150
40151         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
40152         quoting.
40153         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
40154         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
40155         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
40156         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
40157         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
40158         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
40159         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
40160         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
40161         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
40162         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
40163         * m4/nls.m4 (AM_NLS): Likewise.
40164         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
40165         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
40166         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
40167         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
40168         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
40169         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
40170         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
40171         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
40172         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
40173         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40174         * m4/xsize.m4 (gl_XSIZE): Likewise.
40175         Suggested by Jim Meyering.
40176
40177 2008-11-17  Bruce Korb  <bkorb@gnu.org>
40178
40179         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
40180         * lib/parse-duration.c: use a switch instead of cascading if's.
40181
40182 2008-12-29  Eric Blake  <ebb9@byu.net>
40183
40184         wchar.h: supply WEOF on Irix 5.3
40185         * lib/wchar.in.h (wint_t): Also supply WEOF.
40186         * lib/wctype.in.h (wint_t): Likewise.
40187         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
40188         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
40189         Reported by Tom G. Christensen.
40190
40191 2008-12-26  Bruno Haible  <bruno@clisp.org>
40192
40193         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
40194         i486, i586, i686.
40195
40196 2008-12-26  Bruno Haible  <bruno@clisp.org>
40197
40198         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
40199
40200 2008-12-26  Bruno Haible  <bruno@clisp.org>
40201
40202         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
40203         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
40204         not __STDC_CONSTANT_MACROS.
40205         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40206
40207 2008-12-25  Bruno Haible  <bruno@clisp.org>
40208
40209         Add support for universal builds to vasnprintf.
40210         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
40211         universal builds, guess no.
40212         * modules/vasnprintf-posix (Depends-on): Add multiarch.
40213         * modules/vasprintf-posix (Depends-on): Likewise.
40214         * modules/fprintf-posix (Depends-on): Likewise.
40215         * modules/vfprintf-posix (Depends-on): Likewise.
40216         * modules/snprintf-posix (Depends-on): Likewise.
40217         * modules/vsnprintf-posix (Depends-on): Likewise.
40218         * modules/sprintf-posix (Depends-on): Likewise.
40219         * modules/vsprintf-posix (Depends-on): Likewise.
40220         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40221         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40222         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40223         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40224         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40225         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40226         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40227
40228         Add support for universal builds to <inttypes.h>.
40229         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
40230         _SCNu64_PREFIX): In Apple
40231         universal builds, define directly, using _LP64.
40232         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
40233         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
40234         * modules/inttypes (Depends-on): Add multiarch.
40235         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
40236
40237         Add support for universal builds to <stdint.h>.
40238         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
40239         universal builds, define directly, using _LP64.
40240         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
40241         Apple universal builds, don't test for the size and suffix of ptrdiff_t
40242         and size_t.
40243         * modules/stdint (Depends-on): Add multiarch.
40244         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
40245
40246         New module 'multiarch'.
40247         * modules/multiarch: New file.
40248         * m4/multiarch.m4: New file.
40249
40250 2008-12-25  Bruno Haible  <bruno@clisp.org>
40251
40252         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
40253
40254 2008-12-25  Bruno Haible  <bruno@clisp.org>
40255
40256         * modules/btowc (License): Relicense under LGPLv2+.
40257         * modules/mbsinit (License): Likewise.
40258         * modules/mbrtowc (License): Likewise.
40259         * modules/wcrtomb (License): Likewise.
40260         * modules/streq (License): Likewise.
40261         Reported by David Lutterkort <lutter@redhat.com>.
40262
40263 2008-12-23  Bruno Haible  <bruno@clisp.org>
40264
40265         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
40266
40267 2008-12-23  Bruno Haible  <bruno@clisp.org>
40268
40269         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
40270         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
40271         GETADDRINFO_LIB, not in LIBS.
40272         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
40273         * modules/canon-host (Link): Likewise.
40274         * NEWS: Mention the change.
40275         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
40276         GETADDRINFO_LIB.
40277
40278 2008-12-22  Bruno Haible  <bruno@clisp.org>
40279
40280         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
40281         * doc/posix-functions/iswalpha_l.texi: Likewise.
40282         * doc/posix-functions/iswblank_l.texi: Likewise.
40283         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40284         * doc/posix-functions/iswctype_l.texi: Likewise.
40285         * doc/posix-functions/iswdigit_l.texi: Likewise.
40286         * doc/posix-functions/iswgraph_l.texi: Likewise.
40287         * doc/posix-functions/iswlower_l.texi: Likewise.
40288         * doc/posix-functions/iswprint_l.texi: Likewise.
40289         * doc/posix-functions/iswpunct_l.texi: Likewise.
40290         * doc/posix-functions/iswspace_l.texi: Likewise.
40291         * doc/posix-functions/iswupper_l.texi: Likewise.
40292         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40293         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
40294         * doc/posix-functions/open_wmemstream.texi: Likewise.
40295         * doc/posix-functions/swscanf.texi: Likewise.
40296         * doc/posix-functions/towctrans_l.texi: Likewise.
40297         * doc/posix-functions/towlower.texi: Likewise.
40298         * doc/posix-functions/towlower_l.texi: Likewise.
40299         * doc/posix-functions/towupper.texi: Likewise.
40300         * doc/posix-functions/towupper_l.texi: Likewise.
40301         * doc/posix-functions/vfwprintf.texi: Likewise.
40302         * doc/posix-functions/vfwscanf.texi: Likewise.
40303         * doc/posix-functions/vswscanf.texi: Likewise.
40304         * doc/posix-functions/vwprintf.texi: Likewise.
40305         * doc/posix-functions/vwscanf.texi: Likewise.
40306         * doc/posix-functions/wcpcpy.texi: Likewise.
40307         * doc/posix-functions/wcpncpy.texi: Likewise.
40308         * doc/posix-functions/wcscasecmp.texi: Likewise.
40309         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
40310         * doc/posix-functions/wcscoll_l.texi: Likewise.
40311         * doc/posix-functions/wcsdup.texi: Likewise.
40312         * doc/posix-functions/wcsncasecmp.texi: Likewise.
40313         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
40314         * doc/posix-functions/wcsnlen.texi: Likewise.
40315         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40316         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40317         * doc/posix-functions/wctrans_l.texi: Likewise.
40318         * doc/posix-functions/wctype_l.texi: Likewise.
40319         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
40320         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
40321         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
40322         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
40323         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
40324         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
40325         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
40326         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
40327         * doc/glibc-functions/wcschrnul.texi: Likewise.
40328         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40329         * doc/glibc-functions/wcstod_l.texi: Likewise.
40330         * doc/glibc-functions/wcstof_l.texi: Likewise.
40331         * doc/glibc-functions/wcstol_l.texi: Likewise.
40332         * doc/glibc-functions/wcstold_l.texi: Likewise.
40333         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40334         * doc/glibc-functions/wcstoq.texi: Likewise.
40335         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40336         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40337         * doc/glibc-functions/wcstouq.texi: Likewise.
40338         * doc/glibc-functions/wmempcpy.texi: Likewise.
40339
40340 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
40341             Eric Blake  <ebb9@byu.net>
40342             Paolo Bonzini  <bonzini@gnu.org>
40343             Bruno Haible  <bruno@clisp.org>
40344
40345         Make c-stack work on Haiku.
40346         * lib/c-stack.c (SA_ONSTACK): Define fallback.
40347         (c_stack_action): Use SA_ONSTACK flag.
40348
40349 2008-12-22  Bruno Haible  <bruno@clisp.org>
40350
40351         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
40352
40353 2008-12-22  Bruno Haible  <bruno@clisp.org>
40354
40355         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
40356         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
40357         being overridden.
40358         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
40359         New macros.
40360         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
40361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
40362         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
40363         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
40364
40365 2008-12-22  Bruno Haible  <bruno@clisp.org>
40366
40367         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
40368         from test code.
40369
40370 2008-12-22  Eric Blake  <ebb9@byu.net>
40371
40372         Avoid gcc warnings on cygwin.
40373         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
40374         Avoid unused variable.
40375         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
40376         Likewise.
40377
40378 2008-12-22  Bruno Haible  <bruno@clisp.org>
40379
40380         Remove HAVE_MBRTOWC conditionals.
40381         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
40382         (mbscasecmp): Assume mbrtowc function.
40383         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
40384         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
40385         * lib/mbschr.c: Include mbuiter.h unconditionally.
40386         (mbschr): Assume mbrtowc function.
40387         * lib/mbscspn.c: Include mbuiter.h unconditionally.
40388         (mbscspn): Assume mbrtowc function.
40389         * lib/mbslen.c: Include mbuiter.h unconditionally.
40390         (mbslen): Assume mbrtowc function.
40391         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
40392         (mbsncasecmp): Assume mbrtowc function.
40393         * lib/mbsnlen.c: Include mbiter.h unconditionally.
40394         (mbsnlen): Assume mbrtowc function.
40395         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
40396         (mbspbrk): Assume mbrtowc function.
40397         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
40398         (mbspcasecmp): Assume mbrtowc function.
40399         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
40400         (mbsrchr): Assume mbrtowc function.
40401         * lib/mbssep.c: Include mbuiter.h unconditionally.
40402         (mbssep): Assume mbrtowc function.
40403         * lib/mbsspn.c: Include mbuiter.h unconditionally.
40404         (mbsspn): Assume mbrtowc function.
40405         * lib/mbsstr.c: Include mbuiter.h unconditionally.
40406         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
40407         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
40408         (mbstok_r): Assume mbrtowc function.
40409         * lib/propername.c: Include mbuiter.h unconditionally.
40410         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
40411         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
40412         (trim2): Assume mbrtowc function.
40413         * lib/mbswidth.c (mbsinit): Remove fallback definition.
40414         (mbsnwidth): Assume mbrtowc function.
40415         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
40416         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
40417         fallback definitions.
40418         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
40419
40420 2008-12-22  Bruno Haible  <bruno@clisp.org>
40421
40422         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
40423
40424 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
40425
40426         * modules/regex: Request emulations for the mb*/wc* functions we need.
40427         * m4/regex.m4: Don't look for those functions here.
40428         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
40429
40430 2008-12-22  Bruno Haible  <bruno@clisp.org>
40431
40432         * modules/fnmatch (Depends-on): Remove duplicated dependency.
40433
40434 2008-12-21  Bruno Haible  <bruno@clisp.org>
40435
40436         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
40437         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
40438         (Include): Remove conditionalization.
40439         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
40440         (Include): Remove conditionalization.
40441         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
40442         (Include): Remove conditionalization.
40443         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
40444         * m4/mbfile.m4 (gl_MBFILE): Likewise.
40445         * NEWS: Mention the change.
40446         Reported by Alan Hourihane <alanh@fairlite.co.uk>
40447         via Sergey Poznyakoff <gray@gnu.org.ua>.
40448
40449 2008-12-21  Bruno Haible  <bruno@clisp.org>
40450
40451         * MODULES.html.sh (Extended multibyte and wide character utilities
40452         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
40453         wcrtomb, wcsrtombs.
40454         (Support for systems lacking POSIX:2008): Add accept, bind, close,
40455         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
40456         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
40457         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
40458
40459 2008-12-21  Bruno Haible  <bruno@clisp.org>
40460
40461         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
40462
40463 2008-12-21  Bruno Haible  <bruno@clisp.org>
40464
40465         * modules/wcsnrtombs-tests: New file.
40466         * tests/test-wcsnrtombs1.sh: New file.
40467         * tests/test-wcsnrtombs2.sh: New file.
40468         * tests/test-wcsnrtombs3.sh: New file.
40469         * tests/test-wcsnrtombs4.sh: New file.
40470         * tests/test-wcsnrtombs.c: New file.
40471
40472         New module 'wcsnrtombs'.
40473         * lib/wchar.in.h (wcsnrtombs): New declaration.
40474         * lib/wcsnrtombs.c: New file.
40475         * lib/wcsrtombs-state.c: New file.
40476         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
40477         (internal_state): Remove variable.
40478         * m4/wcsnrtombs.m4: New file.
40479         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
40480         compilation units.
40481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
40482         HAVE_WCSNRTOMBS.
40483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
40484         HAVE_WCSNRTOMBS.
40485         * modules/wcsnrtombs: New file.
40486         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
40487         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
40488
40489 2008-12-21  Bruno Haible  <bruno@clisp.org>
40490
40491         * modules/wcsrtombs-tests: New file.
40492         * tests/test-wcsrtombs1.sh: New file.
40493         * tests/test-wcsrtombs2.sh: New file.
40494         * tests/test-wcsrtombs3.sh: New file.
40495         * tests/test-wcsrtombs4.sh: New file.
40496         * tests/test-wcsrtombs.c: New file.
40497
40498         New module 'wcsrtombs'.
40499         * lib/wchar.in.h (wcsrtombs): New declaration.
40500         * lib/wcsrtombs.c: New file.
40501         * m4/wcsrtombs.m4: New file.
40502         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
40503         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
40504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
40505         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
40506         * modules/wcsrtombs: New file.
40507         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
40508         bugs.
40509
40510 2008-12-21  Bruno Haible  <bruno@clisp.org>
40511
40512         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
40513         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
40514         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
40515         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
40516         if not correct.
40517         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
40518         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
40519         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
40520         m4/locale-zh.m4, m4/codeset.m4.
40521         * doc/posix-functions/wcrtomb.texi: Document the bug.
40522
40523 2008-12-21  Bruno Haible  <bruno@clisp.org>
40524
40525         Work around a btowc() bug on IRIX 6.5.
40526         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
40527         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
40528         REPLACE_WTOBC if not.
40529         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
40530         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
40531         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
40532
40533 2008-12-21  Bruno Haible  <bruno@clisp.org>
40534
40535         * modules/wcrtomb-tests: New file.
40536         * tests/test-wcrtomb.sh: New file.
40537         * tests/test-wcrtomb.c: New file.
40538
40539         New module 'wcrtomb'.
40540         * lib/wchar.in.h (wcrtomb): New declaration.
40541         * lib/wcrtomb.c: New file.
40542         * m4/wcrtomb.m4: New file.
40543         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
40544         HAVE_WCRTOMB.
40545         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
40546         HAVE_WCRTOMB.
40547         * modules/wcrtomb: New file.
40548         * doc/posix-functions/wcrtomb.texi: Mention the new module.
40549
40550 2008-12-21  Bruno Haible  <bruno@clisp.org>
40551
40552         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
40553         * modules/mbsrtowcs (Files): Likewise.
40554         * modules/wctob (Files): Likewise.
40555         * modules/c-strcase-tests (Files): Likewise.
40556         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40557         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40558         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40559         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40560         * modules/vasnprintf-posix-tests (Files): Likewise.
40561
40562 2008-12-21  William Pursell  <bill.pursell@gmail.com>
40563
40564         gitlog-to-changelog: pass all command-line arguments to git-log
40565         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
40566         it is sometimes convenient to filter the commits in various ways.
40567         gitlog-to-changelog only allows --since to specify a start date,
40568         but git-log itself supports many other filtering mechanisms.
40569         At the moment, I want to filter by branch name.  Rather than
40570         adding a --branch option to gitlog-to-changelog, it seems more
40571         flexible to simply pass all options directly to git-log and let
40572         git do the work.  Notice that this effectively makes --since a
40573         redundant option for gitlog-to-changelog, but removing it would
40574         require current usage to change since calls would then require
40575         an additional '--'.
40576
40577 2008-12-21  Bruno Haible  <bruno@clisp.org>
40578
40579         * modules/mbsnrtowcs-tests: New file.
40580         * tests/test-mbsnrtowcs1.sh: New file.
40581         * tests/test-mbsnrtowcs2.sh: New file.
40582         * tests/test-mbsnrtowcs3.sh: New file.
40583         * tests/test-mbsnrtowcs4.sh: New file.
40584         * tests/test-mbsnrtowcs.c: New file.
40585
40586         New module 'mbsnrtowcs'.
40587         * lib/wchar.in.h (mbsnrtowcs): New declaration.
40588         * lib/mbsnrtowcs.c: New file.
40589         * lib/mbsrtowcs-state.c: New file.
40590         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
40591         (internal_state): Remove variable.
40592         * m4/mbsnrtowcs.m4: New file.
40593         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
40594         compilation units.
40595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
40596         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
40597         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
40598         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
40599         * modules/mbsnrtowcs: New file.
40600         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
40601         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
40602         portability problem.
40603
40604 2008-12-21  Bruno Haible  <bruno@clisp.org>
40605
40606         Work around mbsrtowcs bug.
40607         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
40608         (gl_FUNC_MBSRTOWCS): Invoke it.
40609         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
40610         m4/locale-zh.m4.
40611         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
40612
40613 2008-12-21  Bruno Haible  <bruno@clisp.org>
40614
40615         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
40616
40617 2008-12-21  Bruno Haible  <bruno@clisp.org>
40618
40619         Update doc for AIX.
40620         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
40621         16-bit wchar_t type.
40622         * doc/posix-functions/btowc.texi: Likewise.
40623         * doc/posix-functions/fgetwc.texi: Likewise.
40624         * doc/posix-functions/fgetws.texi: Likewise.
40625         * doc/posix-functions/fputwc.texi: Likewise.
40626         * doc/posix-functions/fputws.texi: Likewise.
40627         * doc/posix-functions/fwide.texi: Likewise.
40628         * doc/posix-functions/fwprintf.texi: Likewise.
40629         * doc/posix-functions/fwscanf.texi: Likewise.
40630         * doc/posix-functions/getwchar.texi: Likewise.
40631         * doc/posix-functions/getwc.texi: Likewise.
40632         * doc/posix-functions/iswalnum.texi: Likewise.
40633         * doc/posix-functions/iswalpha.texi: Likewise.
40634         * doc/posix-functions/iswblank.texi: Likewise.
40635         * doc/posix-functions/iswcntrl.texi: Likewise.
40636         * doc/posix-functions/iswctype.texi: Likewise.
40637         * doc/posix-functions/iswdigit.texi: Likewise.
40638         * doc/posix-functions/iswgraph.texi: Likewise.
40639         * doc/posix-functions/iswlower.texi: Likewise.
40640         * doc/posix-functions/iswprint.texi: Likewise.
40641         * doc/posix-functions/iswpunct.texi: Likewise.
40642         * doc/posix-functions/iswspace.texi: Likewise.
40643         * doc/posix-functions/iswupper.texi: Likewise.
40644         * doc/posix-functions/iswxdigit.texi: Likewise.
40645         * doc/posix-functions/mbrtowc.texi: Likewise.
40646         * doc/posix-functions/mbsrtowcs.texi: Likewise.
40647         * doc/posix-functions/mbstowcs.texi: Likewise.
40648         * doc/posix-functions/mbtowc.texi: Likewise.
40649         * doc/posix-functions/putwchar.texi: Likewise.
40650         * doc/posix-functions/putwc.texi: Likewise.
40651         * doc/posix-functions/swprintf.texi: Likewise.
40652         * doc/posix-functions/tolower.texi: Likewise.
40653         * doc/posix-functions/toupper.texi: Likewise.
40654         * doc/posix-functions/towctrans.texi: Likewise.
40655         * doc/posix-functions/ungetwc.texi: Likewise.
40656         * doc/posix-functions/vswprintf.texi: Likewise.
40657         * doc/posix-functions/wcrtomb.texi: Likewise.
40658         * doc/posix-functions/wcscat.texi: Likewise.
40659         * doc/posix-functions/wcschr.texi: Likewise.
40660         * doc/posix-functions/wcscmp.texi: Likewise.
40661         * doc/posix-functions/wcscoll.texi: Likewise.
40662         * doc/posix-functions/wcscpy.texi: Likewise.
40663         * doc/posix-functions/wcscspn.texi: Likewise.
40664         * doc/posix-functions/wcsftime.texi: Likewise.
40665         * doc/posix-functions/wcslen.texi: Likewise.
40666         * doc/posix-functions/wcsncat.texi: Likewise.
40667         * doc/posix-functions/wcsncmp.texi: Likewise.
40668         * doc/posix-functions/wcsncpy.texi: Likewise.
40669         * doc/posix-functions/wcspbrk.texi: Likewise.
40670         * doc/posix-functions/wcsrchr.texi: Likewise.
40671         * doc/posix-functions/wcsrtombs.texi: Likewise.
40672         * doc/posix-functions/wcsspn.texi: Likewise.
40673         * doc/posix-functions/wcsstr.texi: Likewise.
40674         * doc/posix-functions/wcstod.texi: Likewise.
40675         * doc/posix-functions/wcstof.texi: Likewise.
40676         * doc/posix-functions/wcstoimax.texi: Likewise.
40677         * doc/posix-functions/wcstok.texi: Likewise.
40678         * doc/posix-functions/wcstold.texi: Likewise.
40679         * doc/posix-functions/wcstoll.texi: Likewise.
40680         * doc/posix-functions/wcstol.texi: Likewise.
40681         * doc/posix-functions/wcstombs.texi: Likewise.
40682         * doc/posix-functions/wcstoull.texi: Likewise.
40683         * doc/posix-functions/wcstoul.texi: Likewise.
40684         * doc/posix-functions/wcstoumax.texi: Likewise.
40685         * doc/posix-functions/wcswidth.texi: Likewise.
40686         * doc/posix-functions/wcsxfrm.texi: Likewise.
40687         * doc/posix-functions/wctob.texi: Likewise.
40688         * doc/posix-functions/wctomb.texi: Likewise.
40689         * doc/posix-functions/wctrans.texi: Likewise.
40690         * doc/posix-functions/wctype.texi: Likewise.
40691         * doc/posix-functions/wcwidth.texi: Likewise.
40692         * doc/posix-functions/wmemchr.texi: Likewise.
40693         * doc/posix-functions/wmemcmp.texi: Likewise.
40694         * doc/posix-functions/wmemcpy.texi: Likewise.
40695         * doc/posix-functions/wmemmove.texi: Likewise.
40696         * doc/posix-functions/wmemset.texi: Likewise.
40697         * doc/posix-functions/wprintf.texi: Likewise.
40698         * doc/posix-functions/wscanf.texi: Likewise.
40699
40700 2008-12-21  Bruno Haible  <bruno@clisp.org>
40701
40702         Update doc for HP-UX 11.11.
40703         * doc/posix-functions/btowc.texi: Clarify that the function is missing
40704         in HP-UX version 11.00, not in all versions of HP-UX 11.
40705         * doc/posix-functions/fwide.texi: Likewise.
40706         * doc/posix-functions/fwprintf.texi: Likewise.
40707         * doc/posix-functions/fwscanf.texi: Likewise.
40708         * doc/posix-functions/inet_ntop.texi: Likewise.
40709         * doc/posix-functions/inet_pton.texi: Likewise.
40710         * doc/posix-functions/mbrlen.texi: Likewise.
40711         * doc/posix-functions/mbrtowc.texi: Likewise.
40712         * doc/posix-functions/mbsinit.texi: Likewise.
40713         * doc/posix-functions/mbsrtowcs.texi: Likewise.
40714         * doc/posix-functions/swprintf.texi: Likewise.
40715         * doc/posix-functions/swscanf.texi: Likewise.
40716         * doc/posix-functions/towctrans.texi: Likewise.
40717         * doc/posix-functions/vfwprintf.texi: Likewise.
40718         * doc/posix-functions/vswprintf.texi: Likewise.
40719         * doc/posix-functions/vwprintf.texi: Likewise.
40720         * doc/posix-functions/wcrtomb.texi: Likewise.
40721         * doc/posix-functions/wcsrtombs.texi: Likewise.
40722         * doc/posix-functions/wcsstr.texi: Likewise.
40723         * doc/posix-functions/wctob.texi: Likewise.
40724         * doc/posix-functions/wctrans.texi: Likewise.
40725         * doc/posix-functions/wmemchr.texi: Likewise.
40726         * doc/posix-functions/wmemcmp.texi: Likewise.
40727         * doc/posix-functions/wmemcpy.texi: Likewise.
40728         * doc/posix-functions/wmemmove.texi: Likewise.
40729         * doc/posix-functions/wmemset.texi: Likewise.
40730         * doc/posix-functions/wprintf.texi: Likewise.
40731         * doc/posix-functions/wscanf.texi: Likewise.
40732
40733 2008-12-21  Bruno Haible  <bruno@clisp.org>
40734
40735         Work around a portability problem.
40736         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
40737         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
40738
40739 2008-12-20  Bruno Haible  <bruno@clisp.org>
40740
40741         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
40742         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
40743         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
40744         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
40745         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
40746
40747         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
40748         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
40749         set.
40750         (GNULIB_defined_mbstate_t): New macro.
40751         (mbsinit): Redefine if REPLACE_MBSINIT is set.
40752         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
40753         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
40754         reuses the system's mbrtowc function but works around the bugs.
40755         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
40756         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
40757         macros.
40758         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
40759         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
40760         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
40761         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
40762         REPLACE_MBSINIT if mbsinit needs to be overridden.
40763         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
40764         REPLACE_MBSINIT, REPLACE_MBRTOWC.
40765         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
40766         REPLACE_MBSINIT, REPLACE_MBRTOWC.
40767         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
40768         m4/locale-zh.m4.
40769         (Depends): Add mbsinit.
40770         * modules/mbsinit (Depends): Add mbrtowc.
40771         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
40772
40773 2008-12-20  Bruno Haible  <bruno@clisp.org>
40774
40775         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
40776         so that there are no conversion errors on AIX.
40777         * tests/test-mbsrtowcs.c (main): LIkewise.
40778
40779 2008-12-20  Bruno Haible  <bruno@clisp.org>
40780
40781         Work around wctob bug on Solaris <= 9.
40782         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
40783         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
40784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
40785         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
40786         * modules/wctob (Files): Add m4/locale-fr.m4.
40787         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
40788
40789 2008-12-20  Bruno Haible  <bruno@clisp.org>
40790
40791         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
40792         /dev/null.
40793         * tests/test-select-in.sh: Likewise.
40794         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40795
40796 2008-12-20  Bruno Haible  <bruno@clisp.org>
40797
40798         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
40799         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
40800         Cygwin 1.5.x.
40801
40802 2008-12-20  Bruno Haible  <bruno@clisp.org>
40803
40804         Ensure mbstate_t is defined on HP-UX 11.11.
40805         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
40806         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
40807         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
40808         AC_USE_SYSTEM_EXTENSIONS.
40809         * modules/fnmatch (Depends-on): Add extensions.
40810         * modules/mbrlen (Depends-on): Likewise.
40811         * modules/mbrtowc (Depends-on): Likewise.
40812         * modules/mbsinit (Depends-on): Likewise.
40813         * modules/mbsrtowcs (Depends-on): Likewise.
40814         * modules/mbswidth (Depends-on): Likewise.
40815         * modules/quotearg (Depends-on): Likewise.
40816         * modules/strftime (Depends-on): Likewise.
40817
40818 2008-12-20  Bruno Haible  <bruno@clisp.org>
40819
40820         Ensure wctob is declared on IRIX 6.5.
40821         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
40822         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
40823         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
40824         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
40825         of HAVE_WCTOB.
40826         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
40827         HAVE_WCTOB.
40828         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
40829
40830 2008-12-19  Bruno Haible  <bruno@clisp.org>
40831
40832         * modules/mbsrtowcs-tests: New file.
40833         * tests/test-mbsrtowcs1.sh: New file.
40834         * tests/test-mbsrtowcs2.sh: New file.
40835         * tests/test-mbsrtowcs3.sh: New file.
40836         * tests/test-mbsrtowcs4.sh: New file.
40837         * tests/test-mbsrtowcs.c: New file.
40838
40839         New module 'mbsrtowcs'.
40840         * lib/wchar.in.h (mbsrtowcs): New declaration.
40841         * lib/mbsrtowcs.c: New file.
40842         * m4/mbsrtowcs.m4: New file.
40843         * modules/mbsrtowcs: New file.
40844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
40845         HAVE_MBSRTOWCS.
40846         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
40847         HAVE_MBSRTOWCS.
40848         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
40849
40850 2008-12-19  Bruno Haible  <bruno@clisp.org>
40851
40852         New module 'mbrlen'.
40853         * lib/wchar.in.h (mbrlen): New declaration.
40854         * lib/mbrlen.c: New file.
40855         * m4/mbrlen.m4: New file.
40856         * modules/mbrlen: New file.
40857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
40858         HAVE_MBRLEN.
40859         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
40860         HAVE_MBRLEN.
40861         * doc/posix-functions/mbrlen.texi: Document the new module.
40862
40863 2008-12-19  Bruno Haible  <bruno@clisp.org>
40864
40865         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
40866         * modules/mbrtowc (Depends-on): Add verify.
40867         Suggested by Paul Eggert.
40868
40869 2008-12-18  Bruno Haible  <bruno@clisp.org>
40870
40871         * modules/mbsinit-tests: New file.
40872         * tests/test-mbsinit.sh: New file.
40873         * tests/test-mbsinit.c: New file.
40874
40875 2008-12-18  Bruno Haible  <bruno@clisp.org>
40876
40877         * modules/mbrtowc-tests: New file.
40878         * tests/test-mbrtowc1.sh: New file.
40879         * tests/test-mbrtowc2.sh: New file.
40880         * tests/test-mbrtowc3.sh: New file.
40881         * tests/test-mbrtowc4.sh: New file.
40882         * tests/test-mbrtowc.c: New file.
40883
40884         New module 'mbrtowc'.
40885         * lib/wchar.in.h (mbstate_t): Override when the system does not have
40886         mbsinit and mbrtowc.
40887         (mbrtowc): New declaration.
40888         * lib/mbrtowc.c: New file.
40889         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
40890         * modules/mbrtowc: New file.
40891         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
40892         HAVE_MBRTOWC.
40893         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
40894         HAVE_MBRTOWC.
40895         * doc/posix-functions/mbrtowc.texi: Document the new module.
40896
40897 2008-12-18  Bruno Haible  <bruno@clisp.org>
40898
40899         New module 'wctob'.
40900         * lib/wchar.in.h (wctob): New declaration.
40901         * lib/wctob.c: New file.
40902         * m4/wctob.m4: New file.
40903         * modules/wctob: New file.
40904         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
40905         HAVE_WCTOB.
40906         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
40907         * doc/posix-functions/wctob.texi: Document the new module.
40908
40909 2008-12-18  Bruno Haible  <bruno@clisp.org>
40910
40911         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
40912         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
40913
40914 2008-12-18  Simon Josefsson  <simon@josefsson.org>
40915
40916         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
40917         G. Christensen" <tgc@jupiterrise.com>.
40918
40919         * lib/flock.c: Need to include errno.h.  Reported by "Tom
40920         G. Christensen" <tgc@jupiterrise.com>.
40921
40922         * lib/flock.c: Need to include string.h.  Reported by "Tom
40923         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
40924         <ebb9@byu.net>.
40925
40926 2008-12-18  Bruno Haible  <bruno@clisp.org>
40927
40928         * m4/locale-ja.m4: New file, from GNU gettext.
40929
40930 2008-12-17  Bruno Haible  <bruno@clisp.org>
40931
40932         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
40933         Suggested by Eric Blake.
40934
40935 2008-12-17  Bruno Haible  <bruno@clisp.org>
40936
40937         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
40938
40939 2008-12-17  Bruno Haible  <bruno@clisp.org>
40940
40941         * lib/mbsinit.c: Include verify.h. Verify an assumption.
40942         * modules/mbsinit (Depends-on): Add verify.
40943         Suggested by Paul Eggert.
40944
40945 2008-12-17  Bruno Haible  <bruno@clisp.org>
40946
40947         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
40948         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
40949         gl_FUNC_MBRTOWC.
40950         * m4/mbiter.m4 (gl_MBITER): LIkewise.
40951         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
40952         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
40953         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
40954         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
40955         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
40956         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
40957         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
40958         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
40959         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
40960         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
40961         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
40962         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
40963         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
40964         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
40965         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
40966         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
40967         * modules/trim (configure.ac): Likewise.
40968
40969 2008-12-17  Bruno Haible  <bruno@clisp.org>
40970
40971         * modules/btowc-tests: New file.
40972         * tests/test-btowc1.sh: New file.
40973         * tests/test-btowc2.sh: New file.
40974         * tests/test-btowc.c: New file.
40975
40976         New module 'btowc'.
40977         * lib/wchar.in.h (btowc): New declaration.
40978         * lib/btowc.c: New file.
40979         * m4/btowc.m4: New file.
40980         * modules/btowc: New file.
40981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
40982         HAVE_BTOWC.
40983         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
40984         * doc/posix-functions/btowc.texi: Document the new module.
40985
40986 2008-12-17  Bruno Haible  <bruno@clisp.org>
40987
40988         New module 'mbsinit'.
40989         * lib/wchar.in.h (mbsinit): New declaration.
40990         * lib/mbsinit.c: New file.
40991         * m4/mbsinit.m4: New file.
40992         * modules/mbsinit: New file.
40993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
40994         HAVE_MBSINIT.
40995         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
40996         HAVE_MBSINIT.
40997         * doc/posix-functions/mbsinit.texi: Document the new module.
40998
40999 2008-12-16  Bruno Haible  <bruno@clisp.org>
41000
41001         * lib/unistd.in.h: Add comment.
41002         * tests/test-environ.c: Don't include <stdlib.h>.
41003
41004 2008-12-16  Bruno Haible  <bruno@clisp.org>
41005
41006         * lib/parse-duration.h (parse_duration): Document return value
41007         convention.
41008         * lib/parse-duration.c: Include specification header first. Add
41009         comments.
41010         (_): Remove macro.
41011         (parse_year_month_day, parse_hour_minute_second): Move side effects
41012         outside of strchr call.
41013         (parse_non_iso8601): Move side effects outside of isspace call.
41014         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
41015         call.
41016
41017 2008-12-16  Bruno Haible  <bruno@clisp.org>
41018
41019         * tests/test-parse-duration.sh: Produce no output when the test
41020         succeeds.
41021
41022 2008-12-16  Bruno Haible  <bruno@clisp.org>
41023
41024         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
41025         expressions.
41026
41027 2008-12-15  Bruno Haible  <bruno@clisp.org>
41028
41029         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
41030         * doc/glibc-functions/flistxattr.texi: Likewise.
41031         * doc/glibc-functions/fopencookie.texi: Likewise.
41032         * doc/glibc-functions/fremovexattr.texi: Likewise.
41033         * doc/glibc-functions/fsetxattr.texi: Likewise.
41034         * doc/glibc-functions/getxattr.texi: Likewise.
41035         * doc/glibc-functions/lgetxattr.texi: Likewise.
41036         * doc/glibc-functions/listxattr.texi: Likewise.
41037         * doc/glibc-functions/llistxattr.texi: Likewise.
41038         * doc/glibc-functions/lremovexattr.texi: Likewise.
41039         * doc/glibc-functions/lsetxattr.texi: Likewise.
41040         * doc/glibc-functions/removexattr.texi: Likewise.
41041         * doc/glibc-functions/setxattr.texi: Likewise.
41042         * doc/posix-functions/open_memstream.texi: Likewise.
41043
41044 2008-12-15  Eric Blake  <ebb9@byu.net>
41045
41046         Update doc for cygwin 1.7.
41047         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
41048         functions.
41049         * doc/posix-functions/fchmodat.texi: Likewise.
41050         * doc/posix-functions/fchownat.texi: Likewise.
41051         * doc/posix-functions/fdopendir.texi: Likewise.
41052         * doc/posix-functions/fmemopen.texi: Likewise.
41053         * doc/posix-functions/freeaddrinfo.texi: Likewise.
41054         * doc/posix-functions/fstatat.texi: Likewise.
41055         * doc/posix-functions/futimens.texi: Likewise.
41056         * doc/posix-functions/gai_strerror.texi: Likewise.
41057         * doc/posix-functions/getaddrinfo.texi: Likewise.
41058         * doc/posix-functions/getnameinfo.texi: Likewise.
41059         * doc/posix-functions/if_freenameindex.texi: Likewise.
41060         * doc/posix-functions/if_indextoname.texi: Likewise.
41061         * doc/posix-functions/if_nameindex.texi: Likewise.
41062         * doc/posix-functions/if_nametoindex.texi: Likewise.
41063         * doc/posix-functions/insque.texi: Likewise.
41064         * doc/posix-functions/linkat.texi: Likewise.
41065         * doc/posix-functions/llrint.texi: Likewise.
41066         * doc/posix-functions/llrintf.texi: Likewise.
41067         * doc/posix-functions/llrintl.texi: Likewise.
41068         * doc/posix-functions/lockf.texi: Likewise.
41069         * doc/posix-functions/lrintl.texi: Likewise.
41070         * doc/posix-functions/mkdirat.texi: Likewise.
41071         * doc/posix-functions/mkfifoat.texi: Likewise.
41072         * doc/posix-functions/mknodat.texi: Likewise.
41073         * doc/posix-functions/mq_close.texi: Likewise.
41074         * doc/posix-functions/mq_getattr.texi: Likewise.
41075         * doc/posix-functions/mq_notify.texi: Likewise.
41076         * doc/posix-functions/mq_open.texi: Likewise.
41077         * doc/posix-functions/mq_receive.texi: Likewise.
41078         * doc/posix-functions/mq_send.texi: Likewise.
41079         * doc/posix-functions/mq_setattr.texi: Likewise.
41080         * doc/posix-functions/mq_timedreceive.texi: Likewise.
41081         * doc/posix-functions/mq_timedsend.texi: Likewise.
41082         * doc/posix-functions/mq_unlink.texi: Likewise.
41083         * doc/posix-functions/open_memstream.texi: Likewise.
41084         * doc/posix-functions/openat.texi: Likewise.
41085         * doc/posix-functions/posix_fadvise.texi: Likewise.
41086         * doc/posix-functions/posix_fallocate.texi: Likewise.
41087         * doc/posix-functions/posix_madvise.texi: Likewise.
41088         * doc/posix-functions/posix_memalign.texi: Likewise.
41089         * doc/posix-functions/posix_openpt.texi: Likewise.
41090         * doc/posix-functions/readlinkat.texi: Likewise.
41091         * doc/posix-functions/remque.texi: Likewise.
41092         * doc/posix-functions/renameat.texi: Likewise.
41093         * doc/posix-functions/rintl.texi: Likewise.
41094         * doc/posix-functions/sem_unlink.texi: Likewise.
41095         * doc/posix-functions/shm_open.texi: Likewise.
41096         * doc/posix-functions/shm_unlink.texi: Likewise.
41097         * doc/posix-functions/signgam.texi: Likewise.
41098         * doc/posix-functions/sigset.texi: Likewise.
41099         * doc/posix-functions/stpcpy.texi: Likewise.
41100         * doc/posix-functions/stpncpy.texi: Likewise.
41101         * doc/posix-functions/strerror.texi: Likewise.
41102         * doc/posix-functions/strtod.texi: Likewise.
41103         * doc/posix-functions/symlinkat.texi: Likewise.
41104         * doc/posix-functions/unlinkat.texi: Likewise.
41105         * doc/posix-functions/utimensat.texi: Likewise.
41106         * doc/glibc-functions/bindresvport.texi: Likewise.
41107         * doc/glibc-functions/dn_expand.texi: Likewise.
41108         * doc/glibc-functions/exp10.texi: Likewise.
41109         * doc/glibc-functions/exp10f.texi: Likewise.
41110         * doc/glibc-functions/fgetxattr.texi: Likewise.
41111         * doc/glibc-functions/flistxattr.texi: Likewise.
41112         * doc/glibc-functions/fopencookie.texi: Likewise.
41113         * doc/glibc-functions/freeifaddrs.texi: Likewise.
41114         * doc/glibc-functions/fremovexattr.texi: Likewise.
41115         * doc/glibc-functions/fsetxattr.texi: Likewise.
41116         * doc/glibc-functions/getifaddrs.texi: Likewise.
41117         * doc/glibc-functions/getxattr.texi: Likewise.
41118         * doc/glibc-functions/lgetxattr.texi: Likewise.
41119         * doc/glibc-functions/listxattr.texi: Likewise.
41120         * doc/glibc-functions/llistxattr.texi: Likewise.
41121         * doc/glibc-functions/lremovexattr.texi: Likewise.
41122         * doc/glibc-functions/lsetxattr.texi: Likewise.
41123         * doc/glibc-functions/pow10.texi: Likewise.
41124         * doc/glibc-functions/pow10f.texi: Likewise.
41125         * doc/glibc-functions/rcmd_af.texi: Likewise.
41126         * doc/glibc-functions/removexattr.texi: Likewise.
41127         * doc/glibc-functions/res_init.texi: Likewise.
41128         * doc/glibc-functions/res_mkquery.texi: Likewise.
41129         * doc/glibc-functions/res_query.texi: Likewise.
41130         * doc/glibc-functions/res_querydomain.texi: Likewise.
41131         * doc/glibc-functions/res_send.texi: Likewise.
41132         * doc/glibc-functions/rresvport_af.texi: Likewise.
41133         * doc/glibc-functions/setxattr.texi: Likewise.
41134         * doc/glibc-functions/strcasestr.texi: Likewise.
41135
41136 2008-12-15  Bruno Haible  <bruno@clisp.org>
41137
41138         Fix compilation error on OSF/1 4.0.
41139         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
41140         <sys/time.h>, simply delegate to the system header.
41141         Reported by Daniel Richard G. <oss@teragram.com>.
41142
41143 2008-12-15  Bruno Haible  <bruno@clisp.org>
41144
41145         * doc/posix-functions/openat.texi: Mention the 'openat' module.
41146         * doc/posix-functions/fchmodat.texi: Likewise.
41147         * doc/posix-functions/fchownat.texi: Likewise.
41148         * doc/posix-functions/fdopendir.texi: Likewise.
41149         * doc/posix-functions/fstatat.texi: Likewise.
41150         * doc/posix-functions/mkdirat.texi: Likewise.
41151         * doc/posix-functions/unlinkat.texi: Likewise.
41152
41153 2008-12-14  Bruno Haible  <bruno@clisp.org>
41154
41155         Update doc for POSIX:2008.
41156         * doc/posix-functions/faccessat.texi: New file.
41157         * doc/posix-functions/fchmodat.texi: New file.
41158         * doc/posix-functions/fchownat.texi: New file.
41159         * doc/posix-functions/fdopendir.texi: New file.
41160         * doc/posix-functions/fstatat.texi: New file.
41161         * doc/posix-functions/futimens.texi: New file.
41162         * doc/posix-functions/linkat.texi: New file.
41163         * doc/posix-functions/mkdirat.texi: New file.
41164         * doc/posix-functions/mkfifoat.texi: New file.
41165         * doc/posix-functions/mknodat.texi: New file.
41166         * doc/posix-functions/open_wmemstream.texi: New file.
41167         * doc/posix-functions/openat.texi: New file.
41168         * doc/posix-functions/psiginfo.texi: New file.
41169         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
41170         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
41171         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
41172         * doc/posix-functions/readlinkat.texi: New file.
41173         * doc/posix-functions/renameat.texi: New file.
41174         * doc/posix-functions/strerror_l.texi: New file.
41175         * doc/posix-functions/symlinkat.texi: New file.
41176         * doc/posix-functions/unlinkat.texi: New file.
41177         * doc/posix-functions/utimensat.texi: New file.
41178         * doc/gnulib.texi (Function Substitutes): Add these subsections.
41179
41180 2008-12-14  Bruno Haible  <bruno@clisp.org>
41181
41182         Update doc for POSIX:2008.
41183         * doc/posix-functions/alphasort.texi: Renamed from
41184         doc/glibc-functions/alphasort.texi.
41185         * doc/posix-functions/dirfd.texi: Renamed from
41186         doc/glibc-functions/dirfd.texi.
41187         * doc/posix-functions/dprintf.texi: Renamed from
41188         doc/glibc-functions/dprintf.texi.
41189         * doc/posix-functions/duplocale.texi: Renamed from
41190         doc/glibc-functions/duplocale.texi.
41191         * doc/posix-functions/fexecve.texi: Renamed from
41192         doc/glibc-functions/fexecve.texi.
41193         * doc/posix-functions/fmemopen.texi: Renamed from
41194         doc/glibc-functions/fmemopen.texi.
41195         * doc/posix-functions/freelocale.texi: Renamed from
41196         doc/glibc-functions/freelocale.texi.
41197         * doc/posix-functions/getdate_err.texi: Renamed from
41198         doc/glibc-functions/getdate_err.texi.
41199         * doc/posix-functions/isalnum_l.texi: Renamed from
41200         doc/glibc-functions/isalnum_l.texi.
41201         * doc/posix-functions/isalpha_l.texi: Renamed from
41202         doc/glibc-functions/isalpha_l.texi.
41203         * doc/posix-functions/isblank_l.texi: Renamed from
41204         doc/glibc-functions/isblank_l.texi.
41205         * doc/posix-functions/iscntrl_l.texi: Renamed from
41206         doc/glibc-functions/iscntrl_l.texi.
41207         * doc/posix-functions/isdigit_l.texi: Renamed from
41208         doc/glibc-functions/isdigit_l.texi.
41209         * doc/posix-functions/isgraph_l.texi: Renamed from
41210         doc/glibc-functions/isgraph_l.texi.
41211         * doc/posix-functions/islower_l.texi: Renamed from
41212         doc/glibc-functions/islower_l.texi.
41213         * doc/posix-functions/isprint_l.texi: Renamed from
41214         doc/glibc-functions/isprint_l.texi.
41215         * doc/posix-functions/ispunct_l.texi: Renamed from
41216         doc/glibc-functions/ispunct_l.texi.
41217         * doc/posix-functions/isspace_l.texi: Renamed from
41218         doc/glibc-functions/isspace_l.texi.
41219         * doc/posix-functions/isupper_l.texi: Renamed from
41220         doc/glibc-functions/isupper_l.texi.
41221         * doc/posix-functions/iswalnum_l.texi: Renamed from
41222         doc/glibc-functions/iswalnum_l.texi.
41223         * doc/posix-functions/iswalpha_l.texi: Renamed from
41224         doc/glibc-functions/iswalpha_l.texi.
41225         * doc/posix-functions/iswblank_l.texi: Renamed from
41226         doc/glibc-functions/iswblank_l.texi.
41227         * doc/posix-functions/iswcntrl_l.texi: Renamed from
41228         doc/glibc-functions/iswcntrl_l.texi.
41229         * doc/posix-functions/iswctype_l.texi: Renamed from
41230         doc/glibc-functions/iswctype_l.texi.
41231         * doc/posix-functions/iswdigit_l.texi: Renamed from
41232         doc/glibc-functions/iswdigit_l.texi.
41233         * doc/posix-functions/iswgraph_l.texi: Renamed from
41234         doc/glibc-functions/iswgraph_l.texi.
41235         * doc/posix-functions/iswlower_l.texi: Renamed from
41236         doc/glibc-functions/iswlower_l.texi.
41237         * doc/posix-functions/iswprint_l.texi: Renamed from
41238         doc/glibc-functions/iswprint_l.texi.
41239         * doc/posix-functions/iswpunct_l.texi: Renamed from
41240         doc/glibc-functions/iswpunct_l.texi.
41241         * doc/posix-functions/iswspace_l.texi: Renamed from
41242         doc/glibc-functions/iswspace_l.texi.
41243         * doc/posix-functions/iswupper_l.texi: Renamed from
41244         doc/glibc-functions/iswupper_l.texi.
41245         * doc/posix-functions/iswxdigit_l.texi: Renamed from
41246         doc/glibc-functions/iswxdigit_l.texi.
41247         * doc/posix-functions/isxdigit_l.texi: Renamed from
41248         doc/glibc-functions/isxdigit_l.texi.
41249         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
41250         doc/glibc-functions/mbsnrtowcs.texi.
41251         * doc/posix-functions/mkdtemp.texi: Renamed from
41252         doc/glibc-functions/mkdtemp.texi.
41253         * doc/posix-functions/newlocale.texi: Renamed from
41254         doc/glibc-functions/newlocale.texi.
41255         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
41256         doc/glibc-functions/nl_langinfo_l.texi.
41257         * doc/posix-functions/open_memstream.texi: Renamed from
41258         doc/glibc-functions/open_memstream.texi.
41259         * doc/posix-functions/opterr.texi: Renamed from
41260         doc/glibc-functions/opterr.texi.
41261         * doc/posix-functions/optind.texi: Renamed from
41262         doc/glibc-functions/optind.texi.
41263         * doc/posix-functions/optopt.texi: Renamed from
41264         doc/glibc-functions/optopt.texi.
41265         * doc/posix-functions/psignal.texi: Renamed from
41266         doc/glibc-functions/psignal.texi.
41267         * doc/posix-functions/scandir.texi: Renamed from
41268         doc/glibc-functions/scandir.texi.
41269         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
41270         doc/glibc-functions/sched_get_priority_min.texi.
41271         * doc/posix-functions/signgam.texi: Renamed from
41272         doc/glibc-functions/signgam.texi.
41273         * doc/posix-functions/stpcpy.texi: Renamed from
41274         doc/glibc-functions/stpcpy.texi.
41275         * doc/posix-functions/stpncpy.texi: Renamed from
41276         doc/glibc-functions/stpncpy.texi.
41277         * doc/posix-functions/strcasecmp_l.texi: Renamed from
41278         doc/glibc-functions/strcasecmp_l.texi.
41279         * doc/posix-functions/strcoll_l.texi: Renamed from
41280         doc/glibc-functions/strcoll_l.texi.
41281         * doc/posix-functions/strfmon_l.texi: Renamed from
41282         doc/glibc-functions/strfmon_l.texi.
41283         * doc/posix-functions/strftime_l.texi: Renamed from
41284         doc/glibc-functions/strftime_l.texi.
41285         * doc/posix-functions/strncasecmp_l.texi: Renamed from
41286         doc/glibc-functions/strncasecmp_l.texi.
41287         * doc/posix-functions/strndup.texi: Renamed from
41288         doc/glibc-functions/strndup.texi.
41289         * doc/posix-functions/strnlen.texi: Renamed from
41290         doc/glibc-functions/strnlen.texi.
41291         * doc/posix-functions/strsignal.texi: Renamed from
41292         doc/glibc-functions/strsignal.texi.
41293         * doc/posix-functions/strxfrm_l.texi: Renamed from
41294         doc/glibc-functions/strxfrm_l.texi.
41295         * doc/posix-functions/timer_gettime.texi: Renamed from
41296         doc/glibc-functions/timer_gettime.texi.
41297         * doc/posix-functions/tolower_l.texi: Renamed from
41298         doc/glibc-functions/tolower_l.texi.
41299         * doc/posix-functions/toupper_l.texi: Renamed from
41300         doc/glibc-functions/toupper_l.texi.
41301         * doc/posix-functions/towctrans_l.texi: Renamed from
41302         doc/glibc-functions/towctrans_l.texi.
41303         * doc/posix-functions/towlower_l.texi: Renamed from
41304         doc/glibc-functions/towlower_l.texi.
41305         * doc/posix-functions/towupper_l.texi: Renamed from
41306         doc/glibc-functions/towupper_l.texi.
41307         * doc/posix-functions/uselocale.texi: Renamed from
41308         doc/glibc-functions/uselocale.texi.
41309         * doc/posix-functions/vdprintf.texi: Renamed from
41310         doc/glibc-functions/vdprintf.texi.
41311         * doc/posix-functions/wcpcpy.texi:
41312         Renamed from doc/glibc-functions/wcpcpy.texi.
41313         * doc/posix-functions/wcpncpy.texi: Renamed from
41314         doc/glibc-functions/wcpncpy.texi.
41315         * doc/posix-functions/wcscasecmp.texi: Renamed from
41316         doc/glibc-functions/wcscasecmp.texi.
41317         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
41318         doc/glibc-functions/wcscasecmp_l.texi.
41319         * doc/posix-functions/wcscoll_l.texi: Renamed from
41320         doc/glibc-functions/wcscoll_l.texi.
41321         * doc/posix-functions/wcsdup.texi: Renamed from
41322         doc/glibc-functions/wcsdup.texi.
41323         * doc/posix-functions/wcsncasecmp.texi: Renamed from
41324         doc/glibc-functions/wcsncasecmp.texi.
41325         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
41326         doc/glibc-functions/wcsncasecmp_l.texi.
41327         * doc/posix-functions/wcsnlen.texi: Renamed from
41328         doc/glibc-functions/wcsnlen.texi.
41329         * doc/posix-functions/wcsnrtombs.texi: Renamed from
41330         doc/glibc-functions/wcsnrtombs.texi.
41331         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
41332         doc/glibc-functions/wcsxfrm_l.texi.
41333         * doc/posix-functions/wctrans_l.texi: Renamed from
41334         doc/glibc-functions/wctrans_l.texi.
41335         * doc/posix-functions/wctype_l.texi: Renamed from
41336         doc/glibc-functions/wctype_l.texi.
41337         * doc/gnulib.texi (Function Substitutes): Add these subsections.
41338         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
41339         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
41340         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
41341         these subsections.
41342         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
41343         Remove sections.
41344
41345 2008-12-14  Bruno Haible  <bruno@clisp.org>
41346
41347         Update doc for POSIX:2008.
41348         * doc/posix-functions/*.texi: Update URL of POSIX specification.
41349
41350 2008-12-14  Bruno Haible  <bruno@clisp.org>
41351
41352         Update doc for POSIX:2008.
41353         * doc/pastposix-functions/bcmp.texi: Renamed from
41354         doc/posix-functions/bcmp.texi.
41355         * doc/pastposix-functions/bcopy.texi: Renamed from
41356         doc/posix-functions/bcopy.texi.
41357         * doc/pastposix-functions/bsd_signal.texi: Renamed from
41358         doc/posix-functions/bsd_signal.texi.
41359         * doc/pastposix-functions/bzero.texi: Renamed from
41360         doc/posix-functions/bzero.texi.
41361         * doc/pastposix-functions/ecvt.texi: Renamed from
41362         doc/posix-functions/ecvt.texi.
41363         * doc/pastposix-functions/fcvt.texi: Renamed from
41364         doc/posix-functions/fcvt.texi.
41365         * doc/pastposix-functions/ftime.texi: Renamed from
41366         doc/posix-functions/ftime.texi.
41367         * doc/pastposix-functions/gcvt.texi: Renamed from
41368         doc/posix-functions/gcvt.texi.
41369         * doc/pastposix-functions/getcontext.texi: Renamed from
41370         doc/posix-functions/getcontext.texi.
41371         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
41372         doc/posix-functions/gethostbyaddr.texi.
41373         * doc/pastposix-functions/gethostbyname.texi: Renamed from
41374         doc/posix-functions/gethostbyname.texi.
41375         * doc/pastposix-functions/getwd.texi: Renamed from
41376         doc/posix-functions/getwd.texi.
41377         * doc/pastposix-functions/h_errno.texi: Renamed from
41378         doc/posix-functions/h_errno.texi.
41379         * doc/pastposix-functions/index.texi: Renamed from
41380         doc/posix-functions/index.texi.
41381         * doc/pastposix-functions/makecontext.texi: Renamed from
41382         doc/posix-functions/makecontext.texi.
41383         * doc/pastposix-functions/mktemp.texi: Renamed from
41384         doc/posix-functions/mktemp.texi.
41385         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
41386         doc/posix-functions/pthread_attr_getstackaddr.texi.
41387         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
41388         doc/posix-functions/pthread_attr_setstackaddr.texi.
41389         * doc/pastposix-functions/rindex.texi: Renamed from
41390         doc/posix-functions/rindex.texi.
41391         * doc/pastposix-functions/scalb.texi: Renamed from
41392         doc/posix-functions/scalb.texi.
41393         * doc/pastposix-functions/setcontext.texi: Renamed from
41394         doc/posix-functions/setcontext.texi.
41395         * doc/pastposix-functions/swapcontext.texi: Renamed from
41396         doc/posix-functions/swapcontext.texi.
41397         * doc/pastposix-functions/ualarm.texi: Renamed from
41398         doc/posix-functions/ualarm.texi.
41399         * doc/pastposix-functions/usleep.texi: Renamed from
41400         doc/posix-functions/usleep.texi.
41401         * doc/pastposix-functions/vfork.texi: Renamed from
41402         doc/posix-functions/vfork.texi.
41403         * doc/pastposix-functions/wcswcs.texi: Renamed from
41404         doc/posix-functions/wcswcs.texi.
41405         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
41406         (Function Substitutes): Update.
41407
41408 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41409
41410         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
41411         m4/strerror.m4.
41412
41413 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41414             Bruno Haible  <bruno@clisp.org>
41415
41416         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
41417
41418 2008-12-13  Bruno Haible  <bruno@clisp.org>
41419
41420         * modules/strtoull (Depends-on): Remove unistd.
41421
41422 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41423
41424         * modules/strtoull (Depends-on): Add stdlib.
41425
41426 2008-12-11  Simon Josefsson  <simon@josefsson.org>
41427
41428         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
41429
41430 2008-12-10  Jim Meyering  <meyering@redhat.com>
41431
41432         gl_ASSERT: don't say assertions are disabled when they're not
41433         * m4/assert.m4 (gl_ASSERT): Do not make configure report
41434         "checking whether to enable assertions... no", when they are in
41435         fact enabled.  This is solely a bug in the output of configure.
41436         In spite of saying "no", NDEBUG was not defined in that case.
41437         Also, as noted by Eric Blake, leave assertions enabled upon
41438         --enable-assert=INVALID.
41439
41440 2008-12-10  Bruno Haible  <bruno@clisp.org>
41441
41442         Change MODULES.html to refer to POSIX:2008 where possible.
41443         * MODULES.html.sh (POSIX2008_URL): New variable.
41444         (posix_headers): Remove sys/timeb, ucontext.
41445         (posix2001_headers): New variable.
41446         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
41447         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
41448         index, makecontext, mktemp, pthread_attr_getstackaddr,
41449         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
41450         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
41451         (posix2001_functions): New variable.
41452         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
41453         otherwise.
41454
41455 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41456
41457         add missing include to parse-duration.c
41458         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
41459         * modules/parse-duration (Depends-on): Add xalloc.
41460
41461         fix sed script reading maint.mk
41462         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
41463         (syntax-check-rules): Use it.
41464
41465 2008-12-09  Bruno Haible  <bruno@clisp.org>
41466
41467         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
41468         MacOS X 10.4/PowerPC.
41469         Reported by Simon Josefsson.
41470
41471 2008-12-08  Jim Meyering  <meyering@redhat.com>
41472
41473         work around mingw's lack of some S_IF definitions
41474         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
41475         Reported by Simon Josefsson.
41476
41477 2008-12-08  Bruno Haible  <bruno@clisp.org>
41478
41479         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
41480         applied to variables. Needed on MacOS X 10.4/PowerPC.
41481         Reported by Simon Josefsson.
41482
41483 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
41484         and Eric Blake  <ebb9@byu.net>
41485
41486         assert: honor --enable-assert
41487         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
41488         order to honor --enable-assert, rather than treating it as a
41489         synonym for --disable-assert.
41490
41491 2008-12-08  Jim Meyering  <meyering@redhat.com>
41492
41493         * lib/posixtm.c: Remove now-useless declaration of mktime.
41494
41495         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
41496
41497 2008-12-07  Bruno Haible  <bruno@clisp.org>
41498
41499         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
41500         test_once): Mark functions as static.
41501         * tests/test-tls.c (test_tls): Likewise.
41502
41503 2008-12-07  Bruno Haible  <bruno@clisp.org>
41504
41505         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
41506         iconv_register_autodetect.
41507
41508 2008-12-07  Jim Meyering  <meyering@redhat.com>
41509
41510         posixtm.c: avoid a warning
41511         * lib/posixtm.c (posixtime): Don't initialize tm0.
41512         It's no longer needed to placate gcc4's -Wuninitialized,
41513         and the attempt to placate would elicit a new warning.
41514
41515         unicodeio.c: mark unused parameters
41516         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
41517         (fallback_failure_callback): Likewise.
41518
41519 2008-12-07  Bruno Haible  <bruno@clisp.org>
41520
41521         * gnulib-tool (func_create_testdir): When building the tests
41522         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
41523         Reported by Simon Josefsson.
41524
41525 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41526
41527         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
41528
41529 2008-12-06  Bruno Haible  <bruno@clisp.org>
41530
41531         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
41532         Suggested by Eric Blake.
41533
41534 2008-12-06  Bruno Haible  <bruno@clisp.org>
41535
41536         Fix a c-stack test failure on MacOS X.
41537         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
41538         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
41539         handler for SIGBUS as well.
41540         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
41541         install a signal handler for SIGBUS as well.
41542         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
41543
41544 2008-12-06  Bruno Haible  <bruno@clisp.org>
41545
41546         Advocacy documentation.
41547         * doc/gnulib-intro.texi (Benefits): New section.
41548         * doc/gnulib.texi: Update.
41549
41550 2008-12-06  Bruno Haible  <bruno@clisp.org>
41551
41552         Document the 'manywarnings' module.
41553         * doc/manywarnings.texi: New file.
41554         * doc/gnulib.texi: Include it.
41555
41556 2008-12-05  Eric Blake  <ebb9@byu.net>
41557
41558         tests: silence some gcc warnings
41559         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
41560         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
41561         type mismatches.
41562
41563 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41564             Bruno Haible  <bruno@clisp.org>
41565
41566         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
41567
41568 2008-11-29  Jim Meyering  <meyering@redhat.com>
41569
41570         unicodeio.c: mark unused parameters
41571         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
41572         (fallback_failure_callback): Likewise.
41573
41574         fts: fix a thinko
41575         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
41576         (set_stat_type): Return S_IF*-valued "type" directly.
41577         Prompted by James Youngman's spotting a related bug.
41578         Confirmed by further testing through find.
41579
41580         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
41581         * lib/fts.c (D_TYPE): Define.
41582         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
41583         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
41584         (s_ifmt_shift_bits): New function.
41585         (set_stat_type): New function.
41586         (fts_build): When not calling fts_stat, call set_stat_type
41587         to propagate dirent.d_type info to fts_read caller.
41588         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
41589         fts_statp->st_mode type information may be valid.
41590
41591 2008-11-28  Simon Josefsson  <simon@josefsson.org>
41592
41593         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
41594         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
41595         <sds@gnu.org>.
41596
41597 2008-11-20  Bruno Haible  <bruno@clisp.org>
41598
41599         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
41600         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
41601         INCLUDE_NEXT.
41602         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
41603         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
41604         * modules/math (Makefile.am): Substitute
41605         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
41606         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41607
41608 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
41609             Bruno Haible  <bruno@clisp.org>
41610
41611         * lib/stdint.in.h: Define all type macros so that their expansion is
41612         a single typedef'ed token. Fixes a compilation failure in Boost which
41613         does "using ::int8_t;".
41614
41615 2008-11-18  Simon Josefsson  <simon@josefsson.org>
41616
41617         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
41618         gl_MANYWARN_ALL_GCC.
41619         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
41620         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
41621         * modules/manywarnings: New file.
41622         * MODULES.html.sh: Mention manywarnings module.
41623
41624 2008-11-18  Bruno Haible  <bruno@clisp.org>
41625
41626         * doc/gnulib-tool.texi (Unit tests): New section.
41627
41628 2008-11-18  Simon Josefsson  <simon@josefsson.org>
41629
41630         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
41631         paths like 'lib/po/foo.po'.
41632
41633 2008-11-17  Simon Josefsson  <simon@josefsson.org>
41634
41635         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
41636         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
41637
41638 2008-11-17  Simon Josefsson  <simon@josefsson.org>
41639
41640         * m4/warnings.m4: Use CPPFLAGS to really check whether the
41641         parameter works.
41642
41643 2008-11-17  Simon Josefsson  <simon@josefsson.org>
41644
41645         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
41646
41647 2008-11-17  Bruce Korb  <bkorb@gnu.org>
41648
41649         * modules/parse-duration-tests: New file.
41650         * tests/test-parse-duration.sh: New file.
41651         * tests/test-parse-duration.c: New file.
41652
41653         New module 'parse-duration'.
41654         * lib/parse-duration.h: New file.
41655         * lib/parse-duration.c: New file.
41656         * modules/parse-duration: New file.
41657
41658 2008-11-17  Bruno Haible  <bruno@clisp.org>
41659
41660         * tests/test-select-out.sh: Comment out the first pipe test.
41661         Reported by Simon Josefsson.
41662
41663 2008-11-17  Bruno Haible  <bruno@clisp.org>
41664
41665         * modules/getaddrinfo (Depends-on): Add servent, hostent.
41666         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
41667         gl_HOSTENT.
41668
41669 2008-11-17  Bruno Haible  <bruno@clisp.org>
41670
41671         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
41672         -lnetwork and -lnet. Needed for Haiku and BeOS.
41673
41674 2008-11-16  Bruno Haible  <bruno@clisp.org>
41675
41676         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
41677
41678 2008-11-16  Bruno Haible  <bruno@clisp.org>
41679
41680         Avoid test failure on Haiku.
41681         * tests/test-fsync.c: Include <errno.h>.
41682         (main): Don't require that fsync (0) fails.
41683
41684 2008-11-15  Bruno Haible  <bruno@clisp.org>
41685
41686         New module 'hostent'.
41687         * modules/hostent: New file.
41688         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
41689
41690 2008-11-15  Bruno Haible  <bruno@clisp.org>
41691
41692         New module 'servent'.
41693         * modules/servent: New file.
41694         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
41695
41696 2008-11-15  Bruno Haible  <bruno@clisp.org>
41697
41698         Avoid generating same test program with two different rules.
41699         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
41700         test-frexp to test-frexp-nolibm.
41701         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
41702         test-frexpl to test-frexpl-nolibm.
41703
41704 2008-11-15  Bruno Haible  <bruno@clisp.org>
41705
41706         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
41707         $(FREXPL_LIBM).
41708
41709 2008-11-15  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/netdb.in.h: Activate the definitions also when the system's
41712         <netdb.h> has 'struct addrinfo'.
41713         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
41714         EAI_OVERFLOW or AI_NUMERICSERV.
41715         * doc/posix-headers/netdb.texi: Document the problem.
41716
41717 2008-11-15  Bruno Haible  <bruno@clisp.org>
41718
41719         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
41720
41721         Make the 'sched' module work on platforms where <sched.h> exists but
41722         is incomplete (such as Haiku).
41723         * lib/sched.in.h; Include the system's <sched.h> if it exists.
41724         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
41725         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
41726         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
41727         HAVE_STRUCT_SCHED_PARAM.
41728         * modules/sched (Depends-on): Add include_next.
41729         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
41730         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
41731         * doc/posix-headers/sched.texi: Document the issue.
41732
41733 2008-11-13  Jim Meyering  <meyering@redhat.com>
41734
41735         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
41736         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
41737         test would fail due to the difference in the Report bugs to ...
41738         line.  The expected address is empty, "<>", while the actual
41739         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
41740
41741 2008-11-12  Bruno Haible  <bruno@clisp.org>
41742
41743         lstat: don't compile lstat.c on systems lacking lstat
41744         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
41745         which don't have lstat; this is handled by lib/sys_stat.in.h already.
41746         Reported by Daniel P. Berrange via Jim Meyering.
41747
41748 2008-11-12  Jim Meyering  <meyering@redhat.com>
41749
41750         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
41751
41752 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41753
41754         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
41755         instead.
41756
41757 2008-11-12  Bruno Haible  <bruno@clisp.org>
41758
41759         * lib/unicodeio.c: Include unistr.h.
41760         (utf8_wctomb): Remove function.
41761         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
41762
41763 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41764
41765         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
41766         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
41767         <bruno@clisp.org>.
41768         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
41769
41770 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41771
41772         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
41773         * doc/gnulib.texi: Add section for warnings.
41774
41775 2008-11-11  Bruno Haible  <bruno@clisp.org>
41776
41777         * lib/sockets.h: Add a comment.
41778
41779 2008-11-11  Karl Berry  <karl@gnu.org>
41780
41781         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
41782
41783 2008-11-11  Eric Blake  <ebb9@byu.net>
41784
41785         fdl.texi: avoid git symlinks
41786         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
41787
41788 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41789
41790         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
41791
41792 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41793
41794         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
41795         (gl_WARN_ADD): Substitute $2 if literal.
41796
41797 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41798
41799         * m4/warning.m4: Remove.
41800
41801 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41802
41803         * m4/warnings.m4: Almost complete rewrite. :-)
41804
41805 2008-11-10  Simon Josefsson  <simon@josefsson.org>
41806
41807         * modules/warnings: New module.
41808         * m4/warnings.m4: New file.
41809         * MODULES.html.sh: Mention warnings module.
41810         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
41811         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41812
41813 2008-11-10  Eric Blake  <ebb9@byu.net>
41814
41815         fdl.texi: make a symlink to the latest version
41816         * doc/standards.texi: Revert today's earlier change.
41817         * doc/fdl-1.2.texi: Rename from old fdl.texi...
41818         * doc/fdl.texi: ...and replace this with a symlink to the newer
41819         fdl-1.3.texi.
41820
41821 2008-11-10  Bruno Haible  <bruno@clisp.org>
41822
41823         * tests/test-select-fd.c (main): Accept the result file name as fourth
41824         argument.
41825         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
41826         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
41827
41828 2008-11-10  Bruno Haible  <bruno@clisp.org>
41829
41830         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
41831         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
41832         as autoconf-substituted macros.
41833         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
41834         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
41835         gl_NETDB_H_DEFAULTS. Set these variables.
41836         * modules/netdb (Makefile.am): Substitute these variables.
41837
41838 2008-11-10  Eric Blake  <ebb9@byu.net>
41839
41840         standards.texi: include correct file for FDL 1.3
41841         * doc/standards.texi (GNU Free Documentation License): Change
41842         include file to pull in FDL 1.3, not 1.2.
41843
41844         fdl.texi: revert accidental change to license
41845         * doc/fdl.texi: This is FDL 1.2, not 1.3.
41846
41847 2008-11-10  Bruno Haible  <bruno@clisp.org>
41848
41849         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
41850         cross-compiling guesses also when the native compile gives no result.
41851
41852 2008-11-10  Bruno Haible  <bruno@clisp.org>
41853
41854         * lib/spawni.c (__spawni): Force variable into the stack.
41855
41856 2008-11-10  Bruno Haible  <bruno@clisp.org>
41857
41858         Add support for Haiku.
41859         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
41860         glibc and BeOS, but also on Haiku.
41861         * lib/fpurge.c (fpurge): Likewise.
41862         * lib/freadable.c (freadable): Likewise.
41863         * lib/freadahead.c (freadahead): Likewise.
41864         * lib/freading.c (freading): Likewise.
41865         * lib/freadptr.c (freadptr): Likewise.
41866         * lib/freadseek.c (freadptrinc): Likewise.
41867         * lib/fseeko.c (rpl_fseeko): Likewise.
41868         * lib/fseterr.c (fseterr): Likewise.
41869         * lib/fwritable.c (fwritable): Likewise.
41870         * lib/fwriting.c (fwriting): Likewise.
41871         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
41872
41873 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
41874
41875         * lib/config.charset: Treat Haiku like BeOS.
41876
41877 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
41878
41879         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
41880         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
41881
41882 2008-11-08  Bruno Haible  <bruno@clisp.org>
41883
41884         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
41885         AC_CACHE_CHECK.
41886
41887 2008-11-08  Bruno Haible  <bruno@clisp.org>
41888
41889         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
41890
41891 2008-11-08  Bruno Haible  <bruno@clisp.org>
41892
41893         * tests/test-select-fd.c: New file.
41894         * tests/test-select-in.sh: New file.
41895         * tests/test-select-out.sh: New file.
41896         * tests/test-select-stdin.c: New file.
41897         * modules/select-tests (Files): Add the new files.
41898         (Depends-on): Add gettimeofday.
41899         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
41900         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
41901         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
41902
41903 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
41904             Bruno Haible  <bruno@clisp.org>
41905
41906         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
41907
41908 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
41909
41910         * build-aux/pmccabe2html: Added support for C++ source files.
41911
41912 2008-11-05  Ben Pfaff  <blp@gnu.org>
41913
41914         Fix lib/close.c build on Windows.
41915         * modules/close (Files): Add lib/w32sock.h.
41916
41917 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
41918
41919         Accept Bison's NEWS format.
41920         * build-aux/announce-gen (print_news_deltas): Tweak
41921         $re_prefix.
41922
41923 2008-11-04  Bruno Haible  <bruno@clisp.org>
41924
41925         * modules/random_r (Maintainer): Add glibc.
41926
41927 2008-11-04  Simon Josefsson  <simon@josefsson.org>
41928
41929         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
41930         by karl@freefriends.org (Karl Berry).
41931         * doc/alloca.texi: Likewise.
41932         * doc/c-ctype.texi: Likewise.
41933         * doc/c-strcase.texi: Likewise.
41934         * doc/c-strcaseeq.texi: Likewise.
41935         * doc/c-strcasestr.texi: Likewise.
41936         * doc/c-strstr.texi: Likewise.
41937         * doc/c-strtod.texi: Likewise.
41938         * doc/c-strtold.texi: Likewise.
41939         * doc/ctime.texi: Likewise.
41940         * doc/error.texi: Likewise.
41941         * doc/fdl.texi: Likewise.
41942         * doc/gcd.texi: Likewise.
41943         * doc/getdate.texi: Likewise.
41944         * doc/gnulib-intro.texi: Likewise.
41945         * doc/gnulib-tool.texi: Likewise.
41946         * doc/gnulib.texi: Likewise.
41947         * doc/inet_ntoa.texi: Likewise.
41948         * doc/maintain.texi: Likewise.
41949         * doc/make-stds.texi: Likewise.
41950         * doc/quote.texi: Likewise.
41951         * doc/regexprops-generic.texi: Likewise.
41952         * doc/standards.texi: Likewise.
41953         * doc/verify.texi: Likewise.
41954         * doc/visibility.texi: Likewise.
41955         * doc/gnulib.texi (GNU Free Documentation License): Include
41956         fdl-1.3.texi instead of fdl.texi.
41957
41958 2008-11-04  Simon Josefsson  <simon@josefsson.org>
41959
41960         * doc/fdl-1.3.texi: New file, from
41961         <http://www.gnu.org/licenses/fdl-1.3.texi>.
41962         * modules/fdl-1.3: Add.
41963         * MODULES.html.sh: Add fdl-1.3.
41964
41965 2008-11-03  Bruno Haible  <bruno@clisp.org>
41966
41967         Make determination of absolute name of header file work with AIX xlc.
41968         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
41969         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
41970         preprocessing.
41971         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41972         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
41973
41974 2008-11-03  Simon Josefsson  <simon@josefsson.org>
41975
41976         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
41977         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
41978         <ludo@gnu.org>.
41979
41980 2008-11-02  Bruno Haible  <bruno@clisp.org>
41981
41982         Mark 'strpbrk' obsolete.
41983         * modules/strpbrk (Status, Notice): New sections.
41984         * modules/strtok_r (Depends-on): Add strpbrk.
41985
41986 2008-11-02  Bruno Haible  <bruno@clisp.org>
41987
41988         Mark 'strdup' obsolete.
41989         * modules/strdup (Status, Notice): New sections.
41990         * modules/findprog (Depends-on): Add strdup.
41991         * modules/getaddrinfo (Depends-on): Likewise.
41992         * modules/localename (Depends-on): Likewise.
41993         * modules/relocatable-lib (Depends-on): Likewise.
41994         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
41995         * modules/relocatable-prog (Depends-on): Likewise.
41996         * modules/trim (Depends-on): Likewise.
41997         * modules/unictype/gen-ctype (Depends-on): Likewise.
41998         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
41999
42000 2008-11-02  Bruno Haible  <bruno@clisp.org>
42001
42002         Mark 'strcspn' obsolete.
42003         * modules/strcspn (Status, Notice): New sections.
42004
42005 2008-11-02  Bruno Haible  <bruno@clisp.org>
42006
42007         Mark 'rmdir' obsolete.
42008         * modules/rmdir (Status, Notice): New sections.
42009         * modules/clean-temp (Depends-on): Add rmdir.
42010         * modules/openat (Depends-on): Likewise.
42011
42012 2008-11-02  Bruno Haible  <bruno@clisp.org>
42013
42014         Mark 'raise' obsolete.
42015         * modules/raise (Status, Notice): New sections.
42016         (Include): Specify <signal.h>.
42017         * modules/stdio (Depends-on): Add raise.
42018         * modules/write (Depends-on): Likewise.
42019
42020 2008-11-02  Bruno Haible  <bruno@clisp.org>
42021
42022         Mark 'memset' obsolete.
42023         * modules/memset (Status, Notice): New sections.
42024
42025 2008-11-02  Bruno Haible  <bruno@clisp.org>
42026
42027         Mark 'memmove' obsolete.
42028         * modules/memmove (Status, Notice): New sections.
42029         * modules/argp (Depends-on): Add memmove.
42030         * modules/argz (Depends-on): Likewise.
42031         * modules/canonicalize (Depends-on): Likewise.
42032         * modules/canonicalize-lgpl (Depends-on): Likewise.
42033         * modules/fts (Depends-on): Likewise.
42034         * modules/getcwd (Depends-on): Likewise.
42035         * modules/human (Depends-on): Likewise.
42036         * modules/regex (Depends-on): Likewise.
42037         * modules/striconveh (Depends-on): Likewise.
42038         * modules/trim (Depends-on): Likewise.
42039         * modules/unistr/u8-move (Depends-on): Likewise.
42040         * modules/unistr/u16-move (Depends-on): Likewise.
42041         * modules/unistr/u32-move (Depends-on): Likewise.
42042
42043 2008-11-02  Bruno Haible  <bruno@clisp.org>
42044
42045         Mark 'memcpy' obsolete.
42046         * modules/memcpy (Status, Notice): New sections.
42047
42048 2008-11-02  Bruno Haible  <bruno@clisp.org>
42049
42050         Mark 'memcmp' obsolete.
42051         * modules/memcmp (Status, Notice): New sections.
42052         * modules/argmatch (Depends-on): Add memchr.
42053         * modules/backupfile (Depends-on): Likewise.
42054         * modules/c-strcasestr (Depends-on): Likewise.
42055         * modules/crypto/des (Depends-on): Likewise.
42056         * modules/csharpcomp (Depends-on): Likewise.
42057         * modules/fnmatch (Depends-on): Likewise.
42058         * modules/git-merge-changelog (Depends-on): Likewise.
42059         * modules/isnand (Depends-on): Likewise.
42060         * modules/isnand-nolibm (Depends-on): Likewise.
42061         * modules/isnanf (Depends-on): Likewise.
42062         * modules/isnanf-nolibm (Depends-on): Likewise.
42063         * modules/isnanl (Depends-on): Likewise.
42064         * modules/isnanl-nolibm (Depends-on): Likewise.
42065         * modules/mbchar (Depends-on): Likewise.
42066         * modules/memcoll (Depends-on): Likewise.
42067         * modules/quotearg (Depends-on): Likewise.
42068         * modules/regex (Depends-on): Likewise.
42069         * modules/relocatable-prog (Depends-on): Likewise.
42070         * modules/same (Depends-on): Likewise.
42071         * modules/signbit (Depends-on): Likewise.
42072         * modules/strcasestr-simple (Depends-on): Likewise.
42073         * modules/unictype/gen-ctype (Depends-on): Likewise.
42074         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
42075         * modules/uniname/uniname (Depends-on): Likewise.
42076         * modules/unistr/u8-cmp (Depends-on): Likewise.
42077
42078 2008-11-02  Bruno Haible  <bruno@clisp.org>
42079
42080         Mark 'memchr' obsolete.
42081         * modules/memchr (Status, Notice): New sections.
42082         * modules/argp (Depends-on): Add memchr.
42083         * modules/base64 (Depends-on): Likewise.
42084         * modules/c-strcasestr (Depends-on): Likewise.
42085         * modules/chdir-long (Depends-on): Likewise.
42086         * modules/fnmatch (Depends-on): Likewise.
42087         * modules/getsubopt (Depends-on): Likewise.
42088         * modules/git-merge-changelog (Depends-on): Likewise.
42089         * modules/glob (Depends-on): Likewise.
42090         * modules/strcasestr-simple (Depends-on): Likewise.
42091         * modules/strnlen (Depends-on): Likewise.
42092
42093 2008-11-02  Bruno Haible  <bruno@clisp.org>
42094
42095         Mark 'atexit' obsolete.
42096         * modules/atexit (Status, Notice): New sections.
42097         * modules/chdir-long (Depends-on): Add atexit.
42098         * modules/wait-process (Depends-on): Likewise.
42099
42100 2008-11-02  Bruno Haible  <bruno@clisp.org>
42101
42102         * gnulib-tool: New option --with-obsolete.
42103         (func_usage): Document it.
42104         (func_modules_transitive_closure): Drop obsolete dependencies if
42105         incobsolete is not true.
42106         (func_import): Read and save the incobsolete variable to the cache.
42107
42108 2008-11-02  Bruno Haible  <bruno@clisp.org>
42109
42110         * modules/TEMPLATE-EXTENDED: New field 'Status'.
42111         * gnulib-tool: New option --extract-status.
42112         (func_usage): Document it.
42113         (sed_extract_prog): Recognize it.
42114         (func_get_status): New function.
42115
42116 2008-10-30  Simon Josefsson  <simon@josefsson.org>
42117
42118         * modules/sockets (License): Change from LGPL to LGPLv2+.
42119
42120 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42121
42122         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
42123
42124 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42125
42126         * MODULES.html.sh (Support for systems lacking POSIX:2001):
42127         Mention times and sys_times.
42128         * modules/sys_times, modules/sys_times-tests: New modules.
42129         * modules/times, modules/times-tests: Likewise
42130         * m4/sys_times_h.m4: New file.
42131         * lib/sys_times.in.h: Likewise
42132         * lib/times.c: Likewise.
42133         * tests/test-sys_times.c: Likewise.
42134         * tests/test-times.c: Likewise.
42135         * doc/posix-headers/sys_times.texi: Update.
42136         * doc/posix-functions/times.texi: Update.
42137
42138 2008-10-28  Jim Meyering  <meyering@redhat.com>
42139
42140         * modules/tempname (Depends-on): Add lstat.
42141
42142         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
42143
42144 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42145
42146         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
42147         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
42148         using idiom used elsewhere in gnulib.
42149
42150 2008-10-27  Jim Meyering  <meyering@redhat.com>
42151
42152         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
42153
42154 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42155
42156         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
42157         TESTS_ENVIRONMENT, for shell scripts that needs to call built
42158         programs.
42159         * tests/test-argp-2.sh: Use $EXEEXT when needed.
42160
42161 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42162
42163         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
42164
42165 2008-10-27  Bruno Haible  <bruno@clisp.org>
42166
42167         * tests/test-lstat.c: Include <stdio.h>.
42168
42169 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42170
42171         * modules/lstat-tests: New module.
42172         * tests/test-lstat.c: New file.
42173
42174 2008-10-26  Jim Meyering  <meyering@redhat.com>
42175
42176         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
42177
42178 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42179             Bruno Haible  <bruno@clisp.org>
42180
42181         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
42182         * modules/configmake (Include): Add a note that the include must come
42183         after all system headers.
42184         * lib/javaversion.c: Include configmake.h after all other includes.
42185
42186 2008-10-26  Bruno Haible  <bruno@clisp.org>
42187
42188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
42189         HAVE_STRUCT_RANDOM_DATA to 1.
42190         (gl_STDLIB_H): Simplify.
42191
42192 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42193
42194         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
42195         substitute HAVE_STRUCT_RANDOM_DATA.
42196         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
42197         random_data.
42198         * modules/stdlib (Makefile.am): Substitute
42199         HAVE_STRUCT_RANDOM_DATA.
42200
42201 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42202
42203         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
42204         * doc/gnulib-intro.texi (Copyright): Likewise.
42205
42206 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42207
42208         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
42209         findings.
42210
42211 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
42212             Bruno Haible  <bruno@clisp.org>
42213
42214         * lib/unistd.in.h: Include <winsock2.h>.
42215         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
42216         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
42217         Provide dummy declarations.
42218         (gethostname): Override.
42219         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
42220         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
42221         gl_PREREQ_SYS_H_WINSOCK2.
42222         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
42223         * doc/posix-functions/gethostname.texi: More details.
42224
42225 2008-10-25  Bruno Haible  <bruno@clisp.org>
42226
42227         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
42228         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
42229         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
42230
42231         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
42232         here ...
42233         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
42234         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
42235         gl_UNISTD_H_DEFAULTS.
42236
42237 2008-10-25  Eric Blake  <ebb9@byu.net>
42238
42239         signbit: avoid spurious compiler failure
42240         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
42241         declarations inside function.
42242
42243 2008-10-24  Simon Josefsson  <simon@josefsson.org>
42244             Bruno Haible  <bruno@clisp.org>
42245
42246         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
42247         * modules/random_r (Depends-on): Add stdint.
42248
42249 2008-10-24  Bruno Haible  <bruno@clisp.org>
42250
42251         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
42252         Eggert.
42253         * modules/strerror (License): Likewise.
42254
42255 2008-10-24  Jim Meyering  <meyering@redhat.com>
42256
42257         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
42258         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
42259
42260 2008-10-24  Eric Blake  <ebb9@byu.net>
42261
42262         getgroups: fix compilation when getgroups is available
42263         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
42264         but with <config.h> override of getgroups disabled.
42265
42266 2008-10-24  Simon Josefsson  <simon@josefsson.org>
42267
42268         * doc/gnulib.texi (Header files): Add note about C++ problems.
42269         Explained by Bruno Haible <bruno@clisp.org>.
42270
42271 2008-10-23  Bruno Haible  <bruno@clisp.org>
42272
42273         Define a dummy SA_NODEFER macro on Interix.
42274         * lib/signal.in.h (SA_NODEFER): Define fallback.
42275         Reported by Aleksey Cheusov <cheusov@tut.by> via
42276         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
42277
42278 2008-10-23  Bruno Haible  <bruno@clisp.org>
42279
42280         * modules/freadahead (License): Change to LGPLv2+.
42281         Suggested by Simon Josefsson.
42282
42283 2008-10-23  Jim Meyering  <meyering@redhat.com>
42284
42285         random_r: new module
42286         * modules/random_r: New file.
42287         * m4/random_r.m4: New file.
42288         * lib/random_r.c: New file, from glibc.
42289         * modules/random_r-tests: New file.
42290         * tests/test-random_r.c: New file.
42291         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
42292          Declare.
42293         (RAND_MAX): Define.
42294         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
42295         * modules/stdlib: Substitute them, too.
42296         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
42297         * doc/glibc-functions/initstate_r.texi: Mention the new module.
42298         * doc/glibc-functions/random_r.texi: Likewise.
42299         * doc/glibc-functions/setstate_r.texi: Likewise.
42300         * doc/glibc-functions/srandom_r.texi: Likewise.
42301         * config/srclist.txt: Mention it.
42302
42303 2008-10-23  David Lutterkort  <lutter@redhat.com>
42304
42305         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
42306         link requirement
42307
42308 2008-10-23  Jim Meyering  <meyering@redhat.com>
42309
42310         selinux-h: mark parameters of stub functions as intentionally unused
42311         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
42312         * lib/se-context.in.h: Likewise.
42313
42314 2008-10-22  Simon Josefsson  <simon@josefsson.org>
42315
42316         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
42317
42318 2008-10-22  Simon Josefsson  <simon@josefsson.org>
42319
42320         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
42321
42322 2008-10-22  Eric Blake  <ebb9@byu.net>
42323
42324         glthread/thread: avoid compiler warning
42325         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
42326         Add unreachable abort to silence compiler.
42327
42328 2008-10-22  Eric Blake  <ebb9@byu.net>
42329
42330         netdb: also supply struct addrinfo for cygwin 1.5.x
42331         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
42332         older cygwin.
42333         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
42334         cygwin.
42335         * doc/posix-headers/netdb.texi (netdb.h): Document this.
42336
42337 2008-10-22  Bruno Haible  <bruno@clisp.org>
42338
42339         * users.txt: Update entry about pspp.
42340
42341 2008-10-21  Bruno Haible  <bruno@clisp.org>
42342
42343         Simplification.
42344         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
42345         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
42346
42347         Simplification.
42348         * lib/ioctl.c (ioctl): Don't undefine.
42349         * lib/socket.c (socket): Don't undefine.
42350
42351         Remove unused module indicator macros.
42352         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
42353         GNULIB_$1 as a C macro.
42354
42355         * doc/posix-functions/close.texi: Undo last change.
42356         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
42357         Windows platforms.
42358
42359 2008-10-21  Bruno Haible  <bruno@clisp.org>
42360
42361         Add gethostname() declaration to <unistd.h>.
42362         * lib/unistd.in.h (gethostname): New declaration.
42363         * lib/gethostname.c: Include <unistd.h>.
42364         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
42365         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
42366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
42367         and HAVE_GETHOSTNAME.
42368         * modules/gethostname (Depends-on): Add unistd.
42369         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42370         (Include): Specify <unistd.h>.
42371         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
42372         HAVE_GETHOSTNAME.
42373         * tests/test-gethostname.c: Include <unistd.h> first.
42374
42375 2008-10-21  Bruno Haible  <bruno@clisp.org>
42376
42377         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
42378         * modules/select-tests (Depends-on): Likewise.
42379         Reported by Simon Josefsson.
42380
42381 2008-10-21  Simon Josefsson  <simon@josefsson.org>
42382
42383         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
42384         * lib/accept.c: New file, based on winsock.c.
42385         * lib/bind.c: New file, based on winsock.c.
42386         * lib/connect.c: New file, based on winsock.c.
42387         * lib/getpeername.c: New file, based on winsock.c.
42388         * lib/getsockname.c: New file, based on winsock.c.
42389         * lib/getsockopt.c: New file, based on winsock.c.
42390         * lib/ioctl.c: New file, based on winsock.c.
42391         * lib/listen.c: New file, based on winsock.c.
42392         * lib/recv.c: New file, based on winsock.c.
42393         * lib/recvfrom.c: New file, based on winsock.c.
42394         * lib/send.c: New file, based on winsock.c.
42395         * lib/sendto.c: New file, based on winsock.c.
42396         * lib/setsockopt.c: New file, based on winsock.c.
42397         * lib/shutdown.c: New file, based on winsock.c.
42398         * lib/socket.c: New file, based on winsock.c.
42399         * lib/w32sock.h: New file, based on winsock.c.
42400         * lib/winsock.c: Remove file.
42401         * modules/accept: Likewise.
42402         * modules/bind: Likewise.
42403         * modules/connect: Likewise.
42404         * modules/getpeername: Likewise.
42405         * modules/getsockname: Likewise.
42406         * modules/getsockopt: Likewise.
42407         * modules/ioctl: Likewise.
42408         * modules/listen: Likewise.
42409         * modules/recv: Likewise.
42410         * modules/recvfrom: Likewise.
42411         * modules/send: Likewise.
42412         * modules/sendto: Likewise.
42413         * modules/setsockopt: Likewise.
42414         * modules/shutdown: Likewise.
42415         * modules/socket: Use socket.c instead of winsock.c.
42416         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
42417         * doc/posix-functions/accept.texi: Doc fix.
42418         * doc/posix-functions/bind.texi: Doc fix.
42419         * doc/posix-functions/close.texi: Doc fix.
42420         * doc/posix-functions/connect.texi: Doc fix.
42421         * doc/posix-functions/getpeername.texi: Doc fix.
42422         * doc/posix-functions/getsockname.texi: Doc fix.
42423         * doc/posix-functions/getsockopt.texi: Doc fix.
42424         * doc/posix-functions/ioctl.texi: Doc fix.
42425         * doc/posix-functions/listen.texi: Doc fix.
42426         * doc/posix-functions/recv.texi: Doc fix.
42427         * doc/posix-functions/recvfrom.texi: Doc fix.
42428         * doc/posix-functions/send.texi: Doc fix.
42429         * doc/posix-functions/sendto.texi: Doc fix.
42430         * doc/posix-functions/setsockopt.texi: Doc fix.
42431         * doc/posix-functions/shutdown.texi: Doc fix.
42432         * doc/posix-functions/socket.texi: Doc fix.
42433
42434 2008-10-20  Bruno Haible  <bruno@clisp.org>
42435
42436         Take into account the role of SIGABRT_COMPAT on Windows 2008.
42437         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
42438         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
42439         as an alias for SIGABRT.
42440         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
42441         (sigaction): Map it to SIGABRT.
42442         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
42443
42444 2008-10-20  Bruno Haible  <bruno@clisp.org>
42445
42446         * lib/fts.c: Don't include lstat.h.
42447         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
42448
42449         Move the lstat() declaration to <sys/stat.h>.
42450         * lib/lstat.h: Remove file.
42451         * lib/sys_stat.in.h: Add special invocation convention.
42452         (lstat): New declaration.
42453         * lib/lstat.c (orig_lstat): New function.
42454         (rpl_lstat): Use orig_lstat instead of lstat.
42455         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
42456         AC_C_INLINE. Set REPLACE_LSTAT.
42457         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
42458         and REPLACE_LSTAT.
42459         * modules/lstat (Files): Remove lib/lstat.h.
42460         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
42461         (Include): Specify <sys/stat.h> instead of lstat.h.
42462         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
42463         REPLACE_LSTAT.
42464         * NEWS: Mention the change.
42465
42466 2008-10-20  Bruno Haible  <bruno@clisp.org>
42467
42468         * modules/posix_spawn-tests: New file.
42469         * tests/test-posix_spawn3.c: New file.
42470
42471 2008-10-20  Bruno Haible  <bruno@clisp.org>
42472
42473         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
42474         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
42475         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
42476         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
42477         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
42478
42479 2008-10-20  Bruno Haible  <bruno@clisp.org>
42480
42481         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
42482         of posix_spawn on AIX 5.3.
42483
42484 2008-10-20  Bruno Haible  <bruno@clisp.org>
42485
42486         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
42487
42488 2008-10-20  Bruno Haible  <bruno@clisp.org>
42489
42490         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
42491         of AC_LANG_PROGRAM.
42492
42493 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42494
42495         * lib/netdb.in.h: Don't define GNU specific constants until they
42496         are supported or needed.  Reported by Bruno Haible
42497         <bruno@clisp.org>.
42498
42499 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42500
42501         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
42502
42503 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42504
42505         * lib/getaddrinfo.h: Remove file.
42506         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
42507         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
42508         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
42509         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
42510         * modules/netdb: Substitute GNULIB_GETADDRINFO.
42511         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
42512         * tests/test-getaddrinfo.c: Likewise.
42513         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
42514         * NEWS: Mention change.
42515
42516 2008-10-19  Bruno Haible  <bruno@clisp.org>
42517
42518         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
42519
42520 2008-10-19  Bruno Haible  <bruno@clisp.org>
42521
42522         * lib/wait-process.c: Include simply <sys/wait.h>.
42523         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
42524         WIFSTOPPED): Remove fallback definitions.
42525         * modules/wait-process (Depends-on): Add sys_wait.
42526
42527         New module 'sys_wait'.
42528         * modules/sys_wait: New file.
42529         * lib/sys_wait.in.h: New file, partially copied from
42530         lib/wait-process.c.
42531         * m4/sys_wait_h.m4: New file.
42532         * doc/posix-headers/sys_wait.texi: Mention the new module.
42533
42534 2008-10-19  Bruno Haible  <bruno@clisp.org>
42535
42536         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
42537
42538 2008-10-19  Bruno Haible  <bruno@clisp.org>
42539
42540         Assume that waitpid() fills an 'int' status, not a 'union wait'.
42541         * lib/wait-process.c (WAIT_T): Remove type.
42542         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
42543         (wait_subprocess): Update.
42544
42545 2008-10-19  Bruno Haible  <bruno@clisp.org>
42546
42547         New module 'atoll'.
42548         * modules/atoll: New file.
42549         * lib/stdlib.in.h (atoll): New declaration.
42550         * lib/atoll.c: New file, from glibc with modifications.
42551         * m4/atoll.m4: New file.
42552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
42553         HAVE_ATOLL.
42554         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
42555         * doc/posix-functions/atoll.texi: Mention the new module.
42556
42557 2008-10-19  Bruno Haible  <bruno@clisp.org>
42558
42559         Add strtoull() declaration to <stdlib.h>.
42560         * lib/stdlib.in.h (strtoull): New declaration.
42561         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
42562         Set HAVE_STRTOULL.
42563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
42564         HAVE_STRTOULL.
42565         * modules/strtoull (Depends-on): Add stdlib.
42566         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42567         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
42568         HAVE_STRTOULL.
42569
42570 2008-10-19  Bruno Haible  <bruno@clisp.org>
42571
42572         Add strtoll() declaration to <stdlib.h>.
42573         * lib/stdlib.in.h (strtoll): New declaration.
42574         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
42575         Set HAVE_STRTOLL.
42576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
42577         HAVE_STRTOLL.
42578         * modules/strtoll (Depends-on): Add stdlib.
42579         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42580         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
42581
42582 2008-10-19  Bruno Haible  <bruno@clisp.org>
42583
42584         * modules/bcopy (Depends-on): Add strings.
42585         (Include): Specify <strings.h>.
42586
42587 2008-10-19  Bruno Haible  <bruno@clisp.org>
42588
42589         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
42590
42591 2008-10-19  Bruno Haible  <bruno@clisp.org>
42592
42593         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
42594         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
42595         mingw.
42596
42597 2008-10-19  Bruno Haible  <bruno@clisp.org>
42598
42599         * lib/atanl.c: Don't include isnanl.h.
42600         * lib/cosl.c: Likewise.
42601         * lib/ldexpl.c: Likewise.
42602         * lib/logl.c: Likewise.
42603         * lib/sinl.c: Likewise.
42604         * lib/sqrtl.c: Likewise.
42605         * lib/tanl.c: Likewise.
42606
42607         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
42608         * lib/isnanf.h: Remove file.
42609         * lib/isnand.h: Remove file.
42610         * lib/isnanl.h: Remove file.
42611         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
42612         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
42613         macros.
42614         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
42615         HAVE_ISNANF, don't define it as a C macro.
42616         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
42617         HAVE_ISNAND, don't define it as a C macro.
42618         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
42619         HAVE_ISNANL, don't define it as a C macro.
42620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
42621         HAVE_ISNAN[FDL].
42622         * modules/isnanf (Files): Remove lib/isnanf.h.
42623         (Depends-on): Add math.
42624         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
42625         (Include): Specify <math.h> instead of isnanf.h.
42626         * modules/isnand (Files): Remove lib/isnand.h.
42627         (Depends-on): Add math.
42628         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
42629         (Include): Specify <math.h> instead of isnand.h.
42630         * modules/isnanl (Files): Remove lib/isnanl.h.
42631         (Depends-on): Add math.
42632         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
42633         (Include): Specify <math.h> instead of isnanl.h.
42634         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
42635         HAVE_ISNAN[FDL].
42636         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
42637         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
42638         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
42639         * NEWS: Mention the change.
42640
42641 2008-10-18  Bruno Haible  <bruno@clisp.org>
42642
42643         Add getusershell(), setusershell(), endusershell() declarations to
42644         <unistd.h>.
42645         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
42646         declarations.
42647         * lib/getusershell.c: Include unistd.h.
42648         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
42649         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
42650         HAVE_GETUSERSHELL.
42651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
42652         and HAVE_GETUSERSHELL.
42653         * modules/getusershell (Depends-on): Add unistd, extensions.
42654         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42655         (Include): Specify <unistd.h>.
42656         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
42657         HAVE_GETUSERSHELL.
42658
42659 2008-10-18  Bruno Haible  <bruno@clisp.org>
42660
42661         Add a getloadavg() declaration to <stdlib.h>.
42662         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
42663         getloadavg declaration.
42664         (getloadavg): New declaration.
42665         * lib/getloadavg.c: Include <stdlib.h> first.
42666         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
42667         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
42668         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
42669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
42670         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
42671         * modules/getloadavg (Depends-on): Add stdlib, extensions.
42672         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42673         (Include): Specify <stdlib.h>.
42674         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
42675         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
42676
42677 2008-10-18  Bruno Haible  <bruno@clisp.org>
42678
42679         * lib/dirchownmod.c: Don't include lchmod.h.
42680
42681         Move the lchmod() declaration to <sys/stat.h>.
42682         * lib/lchmod.h: Remove file.
42683         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
42684         (lchmod): New declaration, moved here from lib/lchown.h.
42685         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
42686         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
42687         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
42688         and HAVE_LCHMOD.
42689         * modules/lchmod (Files): Remove lib/lchmod.h.
42690         (Depends-on): Add sys_stat, extensions.
42691         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
42692         (Include): Specify <sys/stat.h> instead of lchmod.h.
42693         * modules/sys_stat (Depends-on): Add link-warning.
42694         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
42695         definition of GL_LINK_WARNING.
42696         * NEWS: Mention the change.
42697
42698 2008-10-18  Bruno Haible  <bruno@clisp.org>
42699
42700         * lib/fchdir.c: Don't include dirfd.h.
42701         * lib/fts.c: Likewise.
42702         * lib/getcwd.c: Likewise.
42703         * lib/glob.c: Likewise.
42704
42705         Move the dirfd() declaration to <dirent.h>.
42706         * lib/dirfd.h: Remove file.
42707         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
42708         (dirfd): New declaration.
42709         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
42710         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
42711         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
42712         HAVE_DECL_DIRFD.
42713         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
42714         HAVE_DECL_DIRFD.
42715         * modules/dirfd (Files): Remove lib/dirfd.h.
42716         (Depends-on): Add dirent, extensions.
42717         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
42718         (Include): Specify <dirent.h> instead of dirfd.h.
42719         * modules/dirent (Depends-on): Add link-warning.
42720         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
42721         definition of GL_LINK_WARNING.
42722         * NEWS: Mention the change.
42723
42724 2008-10-18  Bruno Haible  <bruno@clisp.org>
42725
42726         Move the euidaccess() declaration to <unistd.h>.
42727         * lib/euidaccess.h: Remove file.
42728         * lib/unistd.in.h (euidaccess): New declaration.
42729         * lib/euidaccess.c: Don't include euidaccess.h.
42730         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
42731         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
42732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
42733         and HAVE_EUIDACCESS.
42734         * modules/euidaccess (Files): Remove lib/euidaccess.h.
42735         (Depends-on): Add unistd.
42736         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42737         (Include): Specify <unistd.h> instead of euidaccess.h.
42738         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
42739         HAVE_EUIDACCESS.
42740         * NEWS: Mention the change.
42741
42742 2008-10-18  Bruno Haible  <bruno@clisp.org>
42743
42744         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
42745
42746         Move the getdomainname() declaration to <unistd.h>.
42747         * lib/getdomainname.h: Remove file.
42748         * lib/unistd.in.h (getdomainname): New declaration.
42749         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
42750         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
42751         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
42752         HAVE_GETDOMAINNAME.
42753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42754         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
42755         * modules/getdomainname (Files): Remove lib/getdomainname.h.
42756         (Depends-on): Add unistd, extensions.
42757         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42758         (Includes): Specify <unistd.h> instead of getdomainname.h.
42759         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
42760         HAVE_GETDOMAINNAME.
42761         * NEWS: Mention the change.
42762
42763 2008-10-18  Bruno Haible  <bruno@clisp.org>
42764
42765         * modules/dirent: New file.
42766         * m4/dirent_h.m4: New file.
42767         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
42768         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
42769         * modules/fchdir (Files): Remove lib/dirent.in.h.
42770         (Depends-on): Add dirent.
42771         (Makefile.am): Move rules to modules/dirent.
42772         * doc/posix-headers/dirent.texi: Mention the new module.
42773
42774 2008-10-18  Bruno Haible  <bruno@clisp.org>
42775
42776         Avoid -Wunused-parameter warnings in public gnulib header files.
42777         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
42778         macro.
42779         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
42780
42781 2008-10-18  Bruno Haible  <bruno@clisp.org>
42782
42783         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
42784         * doc/glibc-functions/error.texi: Mention the module 'error'.
42785         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
42786         * doc/glibc-functions/getdomainname.texi: Mention the module
42787         'getdomainname'.
42788         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
42789         * doc/glibc-functions/getpagesize.texi: Mention the module
42790         'getpagesize'.
42791         * doc/glibc-functions/getusershell.texi: Mention the module
42792         'getusershell'.
42793         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
42794         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
42795         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
42796         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
42797         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
42798         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
42799         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
42800         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
42801         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
42802         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
42803         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
42804         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
42805         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
42806         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
42807
42808 2008-10-17  Bruno Haible  <bruno@clisp.org>
42809
42810         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
42811         HP-UX and IRIX, use -0.0L.
42812         * tests/test-ceill.c (minus_zero): Likewise.
42813         * tests/test-floorl.c (minus_zero): Likewise.
42814         * tests/test-frexpl.c (minus_zero): Likewise.
42815         * tests/test-isnan.c (minus_zerol): Likewise.
42816         * tests/test-isnanl.h (minus_zero): Likewise.
42817         * tests/test-ldexpl.c (minus_zero): Likewise.
42818         * tests/test-roundl.c (minus_zero): Likewise.
42819         * tests/test-signbit.c (minus_zerol): Likewise.
42820         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42821         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42822         * tests/test-truncl.c (minus_zero): Likewise.
42823         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42824         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42825         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
42826         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42827
42828 2008-10-17  Bruno Haible  <bruno@clisp.org>
42829
42830         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
42831         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
42832         that it gets activated only for gcc >= 3.0.
42833         * lib/dirent.in.h: Likewise.
42834         * lib/errno.in.h: Likewise.
42835         * lib/fcntl.in.h: Likewise.
42836         * lib/float.in.h: Likewise.
42837         * lib/iconv.in.h: Likewise.
42838         * lib/inttypes.in.h: Likewise.
42839         * lib/locale.in.h: Likewise.
42840         * lib/math.in.h: Likewise.
42841         * lib/netdb.in.h: Likewise.
42842         * lib/netinet_in.in.h: Likewise.
42843         * lib/search.in.h: Likewise.
42844         * lib/signal.in.h: Likewise.
42845         * lib/spawn.in.h: Likewise.
42846         * lib/stdarg.in.h: Likewise.
42847         * lib/stdint.in.h: Likewise.
42848         * lib/stdio.in.h: Likewise.
42849         * lib/stdlib.in.h: Likewise.
42850         * lib/string.in.h: Likewise.
42851         * lib/strings.in.h: Likewise.
42852         * lib/sys_file.in.h: Likewise.
42853         * lib/sys_ioctl.in.h: Likewise.
42854         * lib/sys_select.in.h: Likewise.
42855         * lib/sys_socket.in.h: Likewise.
42856         * lib/sys_stat.in.h: Likewise.
42857         * lib/sys_time.in.h: Likewise.
42858         * lib/sysexits.in.h: Likewise.
42859         * lib/time.in.h: Likewise.
42860         * lib/unistd.in.h: Likewise.
42861         * lib/wchar.in.h: Likewise.
42862         * lib/wctype.in.h: Likewise.
42863         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42864
42865 2008-10-17  Jim Meyering  <meyering@redhat.com>
42866
42867         ignore-value: don't depend on inline module
42868         * modules/ignore-value (Depends-on): Remove 'inline'.
42869         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
42870         Suggestion from Bruno Haible.
42871
42872 2008-10-17  Bruno Haible  <bruno@clisp.org>
42873
42874         New implementation of condition variables for Win32.
42875         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
42876         (gl_linked_waitqueue_t): New type.
42877         (gl_cond_t): Use it.
42878         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
42879         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
42880         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
42881         (glthread_cond_init_func, glthread_cond_wait_func,
42882         glthread_cond_timedwait_func, glthread_cond_signal_func,
42883         glthread_cond_broadcast_func, glthread_cond_destroy_func):
42884         Reimplemented on the basis of gl_linked_waitqueue_t.
42885         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
42886         gl_waitqueue_t.
42887         (gl_rwlock_t): Update.
42888         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
42889
42890 2008-10-17  Simon Josefsson  <simon@josefsson.org>
42891
42892         * modules/recvfrom (Depends-on): Add dependency on getpeername.
42893         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42894
42895 2008-10-17  Jim Meyering  <meyering@redhat.com>
42896
42897         ignore-value: new module
42898         * modules/ignore-value: New file.
42899         * lib/ignore-value.h: New file.
42900         * MODULES.html.sh (Compiler warning management): New section,
42901         just for this module.  More to come.
42902
42903 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42904
42905         open-safer.c: avoid 'signed and unsigned in conditional...' warning
42906         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
42907         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
42908
42909 2008-10-16  Jim Meyering  <meyering@redhat.com>
42910
42911         openat-die.c: avoid 'no previous prototype' warning
42912         * lib/openat-die.c: Include "openat.h".
42913         Reported by Reuben Thomas <rrt@sc3d.org>.
42914
42915 2008-10-16  Simon Josefsson  <simon@josefsson.org>
42916
42917         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
42918         * lib/netdb.in.h: Fix typo.
42919         Reported by Bruno Haible  <bruno@clisp.org>
42920
42921         * lib/netdb.in.h: Include sys/socket.h for platforms without
42922         netdb.h, to get structures like hostent on MinGW.
42923         * modules/netdb (Depends-on): Add sys_socket.
42924
42925 2008-10-15  Simon Josefsson  <simon@josefsson.org>
42926
42927         * modules/netdb, modules/netdb-tests: New file.
42928         * m4/netdb_h.m4: New file.
42929         * lib/netdb.in.h: Add, currently just an empty file pending
42930         definitions.
42931         * tests/test-netdb.c: New file.
42932         * doc/posix-headers/netdb.texi: Mention that we replace it if
42933         needed.
42934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42935         netdb.
42936
42937 2008-10-15  Simon Josefsson  <simon@josefsson.org>
42938
42939         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
42940         with code.
42941
42942 2008-10-13  Bruno Haible  <bruno@clisp.org>
42943
42944         * lib/glthread/cond.c (glthread_cond_wait_func,
42945         glthread_cond_timedwait_func): Add a comment.
42946
42947 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42948
42949         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
42950         * tests/test-select.c: Likewise,
42951
42952 2008-10-13  Bruno Haible  <bruno@clisp.org>
42953
42954         * lib/glthread/cond.c (glthread_cond_wait_func,
42955         glthread_cond_timedwait_func): Fix variable name.
42956         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42957
42958 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
42959
42960         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
42961         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
42962         struct sockaddr.sa_len.
42963         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
42964
42965 2008-10-13  Simon Josefsson  <simon@josefsson.org>
42966
42967         * build-aux/pmccabe2html: Add css and css_url parameters.
42968
42969 2008-10-12  Bruno Haible  <bruno@clisp.org>
42970
42971         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
42972         calling aclx_get.
42973         Reported by Rainer Tammer <tammer@tammer.net>.
42974
42975 2008-10-12  Bruno Haible  <bruno@clisp.org>
42976
42977         Use msvcrt aware primitives for creation/termination of Win32 threads.
42978         * lib/glthread/thread.c: Include <process.h>.
42979         (glthread_create_func): Use _beginthreadex instead of CreateThread.
42980         (wrapper_func): Update signature.
42981         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
42982
42983 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42984             Bruno Haible  <bruno@clisp.org>
42985
42986         Provide a Win32 implementation of the 'cond' module.
42987         * lib/glthread/cond.h [USE_WIN32]: New implementation.
42988         * lib/glthread/cond.c (glthread_cond_init_func,
42989         glthread_cond_wait_func, glthread_cond_timedwait_func,
42990         glthread_cond_signal_func, glthread_cond_broadcast_func,
42991         glthread_cond_destroy_func) [USE_WIN32]: New functions.
42992         * modules/cond (Dependencies): Add gettimeofday.
42993
42994 2008-10-11  Bruno Haible  <bruno@clisp.org>
42995
42996         Make sleep work on older versions of mingw.
42997         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
42998         only whether it exists.
42999         * doc/posix-functions/sleep.texi: Mention the problem with older
43000         versions of mingw.
43001
43002 2008-10-11  Bruno Haible  <bruno@clisp.org>
43003
43004         New module 'shutdown'.
43005         * modules/shutdown: New file.
43006         * lib/sys_socket.in.h (shutdown): New declaration.
43007         * lib/winsock.c (shutdown): New function.
43008         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43009         GNULIB_SHUTDOWN.
43010         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
43011         * doc/posix-functions/shutdown.texi: Document the new module.
43012
43013 2008-10-11  Jim Meyering  <meyering@redhat.com>
43014
43015         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
43016
43017 2008-10-11  Bruno Haible  <bruno@clisp.org>
43018
43019         New module 'fclose'.
43020         * modules/fclose: New file.
43021         * lib/stdio.in.h (fclose): New declaration.
43022         * lib/fclose.c: New file.
43023         * m4/fclose.m4: New file.
43024         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
43025         REPLACE_FCLOSE.
43026         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
43027         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
43028         REPLACE_FCLOSE.
43029         * modules/close (Depends-on): fclose.
43030         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
43031
43032 2008-10-11  Bruno Haible  <bruno@clisp.org>
43033
43034         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
43035         set errno and don't call _close.
43036
43037 2008-10-10  Bruno Haible  <bruno@clisp.org>
43038
43039         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
43040         ACL, not afterwards. Fixes test failure on Cygwin.
43041
43042 2008-10-09  Ben Pfaff  <blp@gnu.org>
43043
43044         * build-aux/announce-gen: Fix gnulib version related part of usage
43045         message.  Die with a useful error message if no tarballs are
43046         found.
43047
43048 2008-10-10  Jim Meyering  <meyering@redhat.com>
43049
43050         bootstrap: use git's --depth=N option only if it's supported
43051         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
43052         recognize the --depth option.  Reported by Pádraig Brady.
43053
43054 2008-10-09  Bruno Haible  <bruno@clisp.org>
43055
43056         New module 'ioctl'.
43057         * modules/ioctl: New file.
43058         * lib/sys_socket.in.h (ioctl): Remove declaration.
43059         * lib/winsock.c: Include <sys/ioctl.h>.
43060         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
43061         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
43062         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
43063         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
43064         * doc/posix-functions/ioctl.texi: Mention the new module.
43065
43066 2008-10-09  Bruno Haible  <bruno@clisp.org>
43067
43068         New module 'sys_ioctl'.
43069         * lib/sys_ioctl.in.h: New file.
43070         * m4/sys_ioctl_h.m4: New file.
43071         * modules/sys_ioctl: New file.
43072         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
43073
43074 2008-10-09  Bruno Haible  <bruno@clisp.org>
43075
43076         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
43077         * lib/winsock.c: Include <stdarg.h>.
43078         (rpl_ioctl): Change to second argument 'int' and then varargs.
43079
43080 2008-10-09  Bruno Haible  <bruno@clisp.org>
43081
43082         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
43083         when the sys_socket module is present and the system has <winsock2.h>.
43084
43085 2008-10-09  Bruno Haible  <bruno@clisp.org>
43086
43087         * doc/posix-functions/close.texi: Mention module 'close' instead of
43088         module 'sys_socket'.
43089
43090 2008-10-09  Bruno Haible  <bruno@clisp.org>
43091
43092         * doc/glibc-headers/sys_ioctl.texi: New file.
43093         * doc/gnulib.texi: Include it.
43094
43095 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43096             Bruno Haible  <bruno@clisp.org>
43097
43098         Combine the two replacements of 'close'.
43099         * lib/sys_socket.in.h (close): Define to a reminder to include
43100         <unistd.h>.
43101         (_gl_close_fd_maybe_socket): New declaration.
43102         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
43103         * lib/winsock.c (close): Remove undefinition.
43104         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
43105         needed for the gnulib module 'close'.
43106         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
43107         define to an error symbol or to a warning, if suitable.
43108         * lib/close.c: Include <sys/socket.h>.
43109         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
43110         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
43111         UNISTD_H_HAVE_WINSOCK2_H.
43112         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
43113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43114         UNISTD_H_HAVE_WINSOCK2_H.
43115         * modules/sys_socket (Files): Add m4/unistd_h.m4.
43116         (configure.ac): Set a module indicator.
43117         (Makefile.am): Substitute GNULIB_CLOSE.
43118         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
43119         * modules/poll-tests (Depends-on): Add close.
43120         * modules/select-tests (Depends-on): Likewise.
43121
43122 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43123             Bruno Haible  <bruno@clisp.org>
43124
43125         New module 'close'.
43126         * modules/close: New file.
43127         * lib/unistd.in.h (close): Move declaration out of the
43128         FCHDIR_REPLACEMENT scope.
43129         (_gl_unregister_fd): New declaration.
43130         * lib/close.c: New file.
43131         * lib/fchdir.c (rpl_close): Remove function.
43132         * m4/close.m4: New file.
43133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
43134         close.
43135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
43136         REPLACE_CLOSE.
43137         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
43138         REPLACE_CLOSE.
43139         * modules/fchdir (Depends-on): Add close.
43140
43141 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43142             Bruno Haible  <bruno@clisp.org>
43143
43144         * lib/fcntl.in.h (open): Simplify conditionals.
43145         (_gl_register_fd): New declaration.
43146         * lib/fchdir.c (rpl_open): Remove function.
43147         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
43148         also.
43149         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
43150         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
43151         open.
43152
43153 2008-10-09  Jim Meyering  <meyering@redhat.com>
43154
43155         GNUmakefile: use the more name-space-friendly "_version"
43156         * top/GNUmakefile (_dummy): Update.
43157         (_version): Rename from "version".
43158
43159 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43160             Bruno Haible  <bruno@clisp.org>
43161
43162         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
43163         rpl_close.
43164         (_gl_register_fd): New function, extracted from rpl_open.
43165         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
43166         (rpl_open, rpl_opendir): Use _gl_register_fd.
43167
43168 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43169
43170         Fix organization of 'open' replacement.
43171         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
43172         (gl_FUNC_OPEN): Use it.
43173         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
43174
43175 2008-10-08  Bruno Haible  <bruno@clisp.org>
43176
43177         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
43178
43179 2008-10-08  Simon Josefsson  <simon@josefsson.org>
43180
43181         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
43182         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
43183         listen).
43184
43185 2008-10-08  Eric Blake  <ebb9@byu.net>
43186
43187         GNUmakefile: add 'make version' target
43188         * top/GNUmakefile (_curr-ver): Split version update rules...
43189         (version): ...into a target.
43190
43191 2008-10-07  Bruno Haible  <bruno@clisp.org>
43192
43193         Use a more portable replacement expression for -0.0L.
43194         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
43195         instead of -0.0L. Fix m4 quotation.
43196
43197         * tests/test-signbit.c: Include <float.h>.
43198         (minus_zero): New variable.
43199         (test_signbitl): Use minus_zero instead of -zero.
43200         * modules/signbit-tests (Depends-on): Add float.
43201
43202         * tests/test-ceill.c: Include <float.h>.
43203         (zero): Remove variable.
43204         (minus_zero): New variable.
43205         (main): Use minus_zero instead of -zero.
43206         * modules/ceill-tests (Depends-on): Add float.
43207
43208         * tests/test-floorl.c: Include <float.h>.
43209         (zero): Remove variable.
43210         (minus_zero): New variable.
43211         (main): Use minus_zero instead of -zero.
43212         * modules/floorl-tests (Depends-on): Add float.
43213
43214         * tests/test-roundl.c: Include <float.h>.
43215         (zero): Remove variable.
43216         (minus_zero): New variable.
43217         (main): Use minus_zero instead of -zero.
43218         * modules/roundl-tests (Depends-on): Add float.
43219
43220         * tests/test-truncl.c: Include <float.h>.
43221         (zero): Remove variable.
43222         (minus_zero): New variable.
43223         (main): Use minus_zero instead of -zero.
43224         * modules/truncl-tests (Depends-on): Add float.
43225
43226         * tests/test-frexpl.c (zero): Remove variable.
43227         (minus_zero): New variable.
43228         (main): Use minus_zero instead of -zero.
43229         * modules/frexpl-tests (Depends-on): Add float.
43230
43231         * tests/test-isnan.c (zerol): Remove variable.
43232         (minus_zerol): New variable.
43233         (test_long_double): Use minus_zerol instead of -zerol.
43234         * modules/isnan-tests (Depends-on): Add float.
43235
43236         * tests/test-isnanl.h (zero): Remove variable.
43237         (minus_zero): New variable.
43238         (main): Use minus_zero instead of -zero.
43239         * modules/isnanl-nolibm-tests (Depends-on): Add float.
43240         * modules/isnanl-tests (Depends-on): Add float.
43241
43242         * tests/test-ldexpl.c (zero): Remove variable.
43243         (minus_zero): New variable.
43244         (main): Use minus_zero instead of -zero.
43245         * modules/ldexpl-tests (Depends-on): Add float.
43246
43247         * tests/test-snprintf-posix.h (zerol): Remove variable.
43248         (minus_zerol): New variable.
43249         (test_function): Use minus_zerol instead of -zerol.
43250         * modules/snprintf-posix-tests (Depends-on): Add float.
43251         * modules/vsnprintf-posix-tests (Depends-on): Add float.
43252
43253         * tests/test-sprintf-posix.h (zerol): Remove variable.
43254         (minus_zerol): New variable.
43255         (test_function): Use minus_zerol instead of -zerol.
43256         * modules/sprintf-posix-tests (Depends-on): Add float.
43257         * modules/vsprintf-posix-tests (Depends-on): Add float.
43258
43259         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
43260         (minus_zerol): New variable.
43261         (test_function): Use minus_zerol instead of -zerol.
43262         * modules/vasnprintf-posix-tests (Depends-on): Add float.
43263
43264         * tests/test-vasprintf-posix.c (zerol): Remove variable.
43265         (minus_zerol): New variable.
43266         (test_function): Use minus_zerol instead of -zerol.
43267         * modules/vasprintf-posix-tests (Depends-on): Add float.
43268
43269 2008-10-07  Simon Josefsson  <simon@josefsson.org>
43270
43271         * MODULES.html.sh (Support for building documentation): Mention
43272         pmccabe2html.  Sort entries.
43273
43274         Add pmccabe2html module, from gnupdf.
43275         * build-aux/pmccabe.css: New file.
43276         * build-aux/pmccabe2html: New file.
43277         * m4/pmccabe2html.m4: New file.
43278         * modules/pmccabe2html: New file.
43279
43280 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
43281
43282         flock: new module
43283         * MODULES.html.sh: Add to list of modules.
43284         * lib/flock.c: flock implementation for Windows and Unix systems
43285         which have fcntl.
43286         * doc/glibc-functions/flock.texi: Update documentation.
43287         * lib/sys_file.in.h: <sys/file.h> header file.
43288         * m4/flock.m4: M4 macros.
43289         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
43290         * modules/flock: flock module.
43291         * modules/flock-tests: flock tests module.
43292         * modules/sys_file: sys/file.h module.
43293         * tests/test-flock.c: test suite for flock.
43294
43295 2008-10-06  Jim Meyering  <meyering@redhat.com>
43296
43297         bootstrap: check for LT_INIT more portably still ;-)
43298         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
43299         Spotted by Bruno Haible.
43300
43301 2008-10-06  Eric Blake  <ebb9@byu.net>
43302
43303         test-signbit: avoid tripping Irix cc bug on -0.0L
43304         * tests/test-signbit.c (minus_zerol): Delete, and replace with
43305         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
43306         entire testsuite consistent and avoids an Irix 6.2 bug.
43307
43308 2008-10-05  Bruno Haible  <bruno@clisp.org>
43309             Jim Meyering  <jim@meyering.net>
43310
43311         Add an option for ignoring EPIPE during close_stdout.
43312         * lib/closeout.h: Include <stdbool.h>.
43313         (close_stdout_set_ignore_EPIPE): New declaration.
43314         * lib/closeout.c: Include <stdbool.h>.
43315         (ignore_EPIPE): New variable.
43316         (close_stdout_set_ignore_EPIPE): New function.
43317         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
43318         * lib/close-stream.c (close_stream): Mention the possible EPIPE
43319         failure.
43320         * modules/closeout (Depends-on): Add stdbool.
43321
43322 2008-10-05  Bruno Haible  <bruno@clisp.org>
43323
43324         * modules/accept: New file.
43325         * modules/bind: New file.
43326         * modules/connect: New file.
43327         * modules/getpeername: New file.
43328         * modules/getsockname: New file.
43329         * modules/getsockopt: New file.
43330         * modules/listen: New file.
43331         * modules/recv: New file.
43332         * modules/recvfrom: New file.
43333         * modules/send: New file.
43334         * modules/sendto: New file.
43335         * modules/setsockopt: New file.
43336         * modules/socket: New file.
43337         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
43338         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
43339         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
43340         the particular module is requested. Add a link warning when the
43341         particular module is not requested.
43342         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
43343         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
43344         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
43345         the particular module is requested.
43346         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
43347         gl_SYS_SOCKET_H_DEFAULTS): New macros.
43348         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
43349         * modules/sys_socket (Depends-on): Add link-warning.
43350         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
43351         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
43352         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
43353         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
43354         GL_LINK_WARNING.
43355         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
43356         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
43357         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
43358         * doc/posix-functions/getpeername.texi: Mention the new module
43359         'getpeername'.
43360         * doc/posix-functions/getsockname.texi: Mention the new module
43361         'getsockname'.
43362         * doc/posix-functions/getsockopt.texi: Mention the new module
43363         'getsockopt'.
43364         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
43365         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
43366         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
43367         * doc/posix-functions/send.texi: Mention the new module 'send'.
43368         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
43369         * doc/posix-functions/setsockopt.texi: Mention the new module
43370         'setsockopt'.
43371         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
43372         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
43373         listen, connect, accept.
43374         * modules/select-tests (Depends-on): Likewise.
43375
43376 2008-10-05  Bruno Haible  <bruno@clisp.org>
43377
43378         * lib/winsock.c (strerror): Remove unused #undef.
43379         (rpl_close): Remove unused local variable.
43380
43381         * modules/sys_socket (Depends-on); Add errno.
43382
43383 2008-10-05  Bruno Haible  <bruno@clisp.org>
43384
43385         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
43386         (select): Add a link warning when the 'select' module is not used.
43387         * modules/sys_select (Depends-on): Add link-warning.
43388         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
43389         Suggested by Paolo Bonzini.
43390
43391 2008-10-05  Jim Meyering  <meyering@redhat.com>
43392
43393         bootstrap: check for LT_INIT more portably
43394         * build-aux/bootstrap: Avoid using grep -E, since it's not
43395         portable enough.  Suggestion from Bruno Haible.
43396
43397 2008-10-05  Bruno Haible  <bruno@clisp.org>
43398
43399         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
43400         as being fixed by gnulib.
43401
43402 2008-10-05  Bruno Haible  <bruno@clisp.org>
43403
43404         * modules/select-tests: New file, mostly copied from
43405         modules/sys_select-tests.
43406         * tests/test-select.c: New file, mostly copied from
43407         tests/test-sys_select.c.
43408         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
43409         * modules/sys_select-tests (Depends-on): Remove all dependencies.
43410         (Makefile.am): Remove test_sys_select_LDADD.
43411
43412         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
43413         to an undefined symbol, for an error message.
43414         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
43415         (gl_SYS_SELECT_H_DEFAULTS): New macro.
43416         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
43417         winsock-select.c here.
43418         * modules/sys_select (Files): Remove lib/winsock-select.c.
43419         (Depends-on): Remove alloca.
43420         (Makefile.am): Substitute GNULIB_SELECT.
43421         * modules/select: New file.
43422         * doc/posix-functions/select.texi: Update.
43423
43424 2008-10-05  Bruno Haible  <bruno@clisp.org>
43425
43426         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
43427         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
43428         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
43429         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
43430         getdtablesize.
43431         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
43432         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
43433
43434 2008-10-05  Bruno Haible  <bruno@clisp.org>
43435
43436         * modules/getdtablesize-tests: New file.
43437         * tests/test-getdtablesize.c: New file.
43438
43439         New module 'getdtablesize'.
43440         * lib/unistd.in.h (getdtablesize): New declaration.
43441         * lib/getdtablesize.c: New file.
43442         * m4/getdtablesize.m4: New file.
43443         * modules/getdtablesize: New file.
43444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43445         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
43446         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
43447         HAVE_GETDTABLESIZE.
43448         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
43449
43450 2008-10-05  Bruno Haible  <bruno@clisp.org>
43451
43452         * modules/sched (Makefile.am): Fix typo.
43453         Reported by Simon Josefsson.
43454
43455 2008-10-05  Jim Meyering  <meyering@redhat.com>
43456
43457         bootstrap: check for LT_INIT, too
43458         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
43459         are deprecated.  Suggestion from Ralf Wildenhues.
43460
43461 2008-10-05  Bruno Haible  <bruno@clisp.org>
43462
43463         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
43464         overriding them by ours.
43465         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
43466
43467 2008-10-05  Jim Meyering  <meyering@redhat.com>
43468
43469         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
43470         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
43471         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
43472
43473 2008-10-04  Bruno Haible  <bruno@clisp.org>
43474
43475         * modules/dup2 (License): Change to LGPLv2+.
43476         * modules/sleep (License): Likewise.
43477         * modules/perror (License): Likewise.
43478         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
43479         Blake.
43480         * modules/signal (License): Likewise.
43481         * modules/sigprocmask (License): Likewise.
43482         * modules/raise (License): Change to LGPLv2+, with approval by Jim
43483         Meyering.
43484
43485 2008-10-04  Bruno Haible  <bruno@clisp.org>
43486
43487         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
43488         Reported by Rainer Tammer <tammer@tammer.net>.
43489
43490 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
43491             Bruno Haible  <bruno@clisp.org>
43492
43493         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
43494         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
43495         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
43496
43497 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
43498
43499         filevercmp: new module
43500         * lib/filevercmp.h: New function filevercmp comparing version strings.
43501         * lib/filevercmp.c: Implementation of filevercmp function.
43502         * modules/filevercmp: Module metadata.
43503         * tests/test-filevercmp.c: Unit test for new module.
43504         * modules/filevercmp-tests: Unit test metadata.
43505         * MODULES.html.sh: Add filevercmp module.
43506
43507 2008-10-03  Bruno Haible  <bruno@clisp.org>
43508
43509         * lib/c-ctype.h: Add comment.
43510         Reported by Jim Meyering.
43511
43512 2008-10-02  Bruno Haible  <bruno@clisp.org>
43513
43514         * modules/posix_spawn-internal (Depends-on): Add 'open'.
43515
43516 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43517
43518         * build-aux/bootstrap: Allow renaming bootstrap, and change the
43519         name of bootstrap.conf accordingly.
43520
43521 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43522
43523         * build-aux/bootstrap: Install git-merge-changelog configuration
43524         items into .gitconfig if needed.
43525
43526 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43527
43528         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
43529         git repository, and initialize/update it accordingly.
43530
43531 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
43532
43533         * modules/fsync-tests: New file.
43534         * tests/test-fsync.c: New file.
43535
43536         New module 'fsync'.
43537         * lib/fsync.c: New file.
43538         * m4/fsync.m4: New file.
43539         * modules/fsync: New file.
43540         * lib/unistd.in.h (fsync): New declaration.
43541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
43542         GNULIB_FSYNC and HAVE_FSYNC.
43543         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
43544         * MODULES.html.sh (posix_functions): Add fsync.
43545         * doc/posix-functions/fsync.texi: Mention the new module.
43546
43547 2008-10-02  Jim Meyering  <meyering@redhat.com>
43548
43549         fts.c: sync with similar code from coreutils' remove.c
43550         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
43551         Guard also with "#if defined __linux__", since for now at least,
43552         this code is Linux-kernel-specific.
43553
43554 2008-10-02  Jim Meyering  <meyering@redhat.com>
43555
43556         fts: bug fixes
43557         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
43558         Include <sys/vfs.h>, not <sys/statfs.h>.
43559
43560         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
43561         Include <sys/vfs.h>, not <sys/statfs.h>.
43562
43563 2008-10-01  Bruno Haible  <bruno@clisp.org>
43564
43565         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
43566         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
43567         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
43568         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
43569         * doc/posix-functions/posix_spawnp.texi: Likewise.
43570         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
43571         whether posix_spawn actually works.
43572         * m4/pipe.m4 (gl_PIPE): Likewise.
43573         * modules/execute (Files): Add m4/posix_spawn.m4.
43574         * modules/pipe (Files): Add m4/posix_spawn.m4.
43575         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
43576
43577 2008-10-01  Jim Meyering  <meyering@redhat.com>
43578
43579         remove trailing spaces
43580         * NEWS: Likewise.
43581         * lib/poll.c (poll): Likewise.
43582         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
43583         * lib/winsock.c (rpl_close): Likewise.
43584         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
43585         * modules/yield: Likewise.
43586         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
43587         * tests/test-sys_select.c (connect_to_socket): Likewise.
43588
43589         fts.c: adjust a new interface to be more generally useful
43590         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
43591         (fts_build): Adjust caller.
43592
43593 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43594
43595         * modules/cond-tests: New file.
43596         * tests/test-cond.c: New file.
43597
43598 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43599             Bruno Haible  <bruno@clisp.org>
43600
43601         * modules/cond (Dependencies): Add errno, time.
43602         * lib/glthread/cond.h: Include <time.h>.
43603         (gl_cond_define, gl_cond_define_initialized): Use the same definition
43604         across platforms.
43605
43606 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43607             Bruno Haible  <bruno@clisp.org>
43608
43609         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
43610
43611 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43612             Bruno Haible  <bruno@clisp.org>
43613
43614         * modules/tls-tests (Depends-on): Add thread, yield.
43615         (configure.ac): Remove all checks.
43616         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
43617         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
43618         gl_thread_self): Remove definitions. Include glthread/thread.h and
43619         glthread/yield.h instead.
43620         (test_tls): Pass an additional NULL argument to gl_thread_join.
43621
43622 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43623             Bruno Haible  <bruno@clisp.org>
43624
43625         * modules/lock-tests (Depends-on): Add thread, yield.
43626         (configure.ac): Remove all checks.
43627         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
43628         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
43629         gl_thread_self): Remove definitions. Include glthread/thread.h and
43630         glthread/yield.h instead.
43631         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
43632         additional NULL argument to gl_thread_join.
43633
43634 2008-09-30  Bruno Haible  <bruno@clisp.org>
43635
43636         Fix the Win32 implementation of the 'thread' module.
43637         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
43638         pointer type.
43639         (gl_thread_self): Invoke gl_thread_self_func.
43640         (gl_thread_self_func): New declaration.
43641         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
43642         (do_init_self_key, init_self_key): New functions.
43643         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
43644         Remove some fields.
43645         (running_threads, running_lock): Remove variables.
43646         (get_current_thread_handle): New function.
43647         (gl_thread_self_func, wrapper_func, glthread_create_func,
43648         glthread_join_func, gl_thread_exit_func): Largely rewritten and
43649         simplified.
43650
43651 2008-09-30  Bruno Haible  <bruno@clisp.org>
43652
43653         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
43654         files.
43655
43656 2008-09-30  Jim Meyering  <meyering@redhat.com>
43657
43658         fts.m4: correct the test for statfs.f_type
43659         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
43660         when checking for statfs.f_type.
43661
43662 2008-09-15  Simon Josefsson  <simon@josefsson.org>
43663
43664         tests: avoid some compiler warnings
43665         * tests/test-memchr.c (main): Pass NULL indirectly.
43666         * tests/test-getdate.c (main): Remove unused variable 'ret'.
43667
43668 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
43669
43670         getdate.y: disallow countable dayshifts like "4 yesterday ago"
43671         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
43672         exactly specified dayshifts.
43673         (dayshift): New rule.
43674         (rel): Add dayshift.
43675         (relative_time_table) [tomorrow, yesterday, today, now]:
43676         Use tDAY_SHIFT in place of tDAY_UNIT.
43677         * tests/test-getdate.c: Add tests for now-disallowed countable
43678         dayshifts, e.g., "4 yesterday ago".
43679
43680 2008-09-29  Bruno Haible  <bruno@clisp.org>
43681
43682         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
43683         * tests/test-posix_spawn1.in.sh: Renamed from
43684         tests/test-posix_spawn.in.sh.
43685         * tests/test-posix_spawn2.c: New file.
43686         * tests/test-posix_spawn2.in.sh: New file.
43687         * modules/posix_spawnp-tests (Files): Update.
43688         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
43689
43690 2008-09-29  Bruno Haible  <bruno@clisp.org>
43691
43692         Propagate effects of putenv/setenv/unsetenv to child processes.
43693         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
43694         * lib/pipe.c (create_pipe): Likewise.
43695
43696 2008-09-29  Bruno Haible  <bruno@clisp.org>
43697
43698         Enable use of shell scripts as executables in mingw.
43699         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
43700         run the program as a shell script.
43701         * lib/pipe.c (create_pipe): Likewise.
43702         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
43703         resulting array.
43704
43705 2008-09-29  Eric Blake  <ebb9@byu.net>
43706
43707         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
43708
43709 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
43710
43711         * doc/posix-functions/accept.texi: Update mingw problems.
43712         * doc/posix-functions/bind.texi: Update mingw problems.
43713         * doc/posix-functions/close.texi: Update mingw problems.
43714         * doc/posix-functions/connect.texi: Update mingw problems.
43715         * doc/posix-functions/getpeername.texi: Update mingw problems.
43716         * doc/posix-functions/getsockname.texi: Update mingw problems.
43717         * doc/posix-functions/getsockopt.texi: Update mingw problems.
43718         * doc/posix-functions/ioctl.texi: Update mingw problems.
43719         * doc/posix-functions/listen.texi: Update mingw problems.
43720         * doc/posix-functions/recv.texi: Update mingw problems.
43721         * doc/posix-functions/recvfrom.texi: Update mingw problems.
43722         * doc/posix-functions/select.texi: Update mingw problems.
43723         * doc/posix-functions/send.texi: Update mingw problems.
43724         * doc/posix-functions/sendto.texi: Update mingw problems.
43725         * doc/posix-functions/setsockopt.texi: Update mingw problems.
43726         * doc/posix-functions/socket.texi: Update mingw problems.
43727
43728 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
43729             Bruno Haible  <bruno@clisp.org>
43730
43731         * lib/sys_select.in.h: Include sys/time.h.
43732         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
43733         * modules/sys_select: Depend on sys_time.
43734         * tests/test-sys_select.c: Test that sys/select.h defines struct
43735         timeval fully.
43736
43737 2008-09-29  Bruno Haible  <bruno@clisp.org>
43738
43739         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
43740         * lib/sys_select.in.h: Likewise.
43741
43742 2008-09-29  Bruno Haible  <bruno@clisp.org>
43743
43744         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
43745
43746 2008-09-29  Bruno Haible  <bruno@clisp.org>
43747
43748         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
43749         Set LIBSOCKET instead of augmenting LIBS.
43750         * modules/sockets (Link): New section.
43751         * modules/sockets-tests (test_sockets_LDADD): New variable.
43752         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
43753         * modules/poll-tests (test_poll_LDADD): New variable.
43754         * NEWS: Document the change.
43755
43756 2008-09-29  Bruno Haible  <bruno@clisp.org>
43757
43758         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
43759         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
43760         ARPA_INET_H directly.
43761         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43762
43763 2008-09-28  Bruno Haible  <bruno@clisp.org>
43764
43765         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
43766         from gl_HEADER_SYS_SOCKET.
43767         (gl_HEADER_SYS_SOCKET): Invoke it.
43768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43769
43770 2008-09-28  Bruno Haible  <bruno@clisp.org>
43771
43772         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
43773         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
43774         Needed on OSF/1 4.0.
43775
43776 2008-09-28  Bruno Haible  <bruno@clisp.org>
43777
43778         Override open more carefully.
43779         * lib/open.c (orig_open): New function.
43780         (rpl_open): Use orig_open instead of open.
43781         * lib/fcntl.in.h: Add special invocation convention.
43782         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
43783         (gl_FUNC_OPEN): Invoke it.
43784
43785         Override freopen more carefully.
43786         * lib/freopen.c (orig_freopen): New function.
43787         (rpl_freopen): Use orig_freopen instead of freopen.
43788         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
43789         (gl_FUNC_FREOPEN): Invoke it.
43790
43791         Override fopen more carefully.
43792         * lib/fopen.c (orig_fopen): New function.
43793         (rpl_fopen): Use orig_fopen instead of fopen.
43794         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
43795         (gl_FUNC_FOPEN): Invoke it.
43796         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
43797
43798 2008-09-28  Bruno Haible  <bruno@clisp.org>
43799
43800         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
43801         SIGPIPE.
43802
43803 2008-09-28  Bruno Haible  <bruno@clisp.org>
43804
43805         * tests/test-sigaction.c (handler, main): Disable the check whether
43806         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
43807         glibc systems with LinuxThreads.
43808
43809 2008-09-28  Bruno Haible  <bruno@clisp.org>
43810
43811         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
43812
43813         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
43814         with AIX xlc.
43815         * lib/fcntl.in.h (open): Likewise.
43816         Reported by Rainer Tammer <tammer@tammer.net>.
43817
43818 2008-09-28  Bruno Haible  <bruno@clisp.org>
43819
43820         * modules/posix_spawnp-tests: New file.
43821         * tests/test-posix_spawn.c: New file.
43822         * tests/test-posix_spawn.in.sh: New file.
43823
43824         New module 'posix_spawnp'.
43825         * modules/posix_spawnp: New file.
43826         * lib/spawnp.c: New file, from GNU libc with modifications.
43827         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
43828
43829         New module 'posix_spawn'.
43830         * modules/posix_spawn: New file.
43831         * lib/spawn.c: New file, from GNU libc with modifications.
43832         * doc/posix-functions/posix_spawn.texi: Mention the new module.
43833
43834         New module 'posix_spawnattr_destroy'.
43835         * modules/posix_spawnattr_destroy: New file.
43836         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
43837         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
43838         module.
43839
43840         New module 'posix_spawnattr_setsigmask'.
43841         * modules/posix_spawnattr_setsigmask: New file.
43842         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
43843         modifications.
43844         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
43845         new module.
43846
43847         New module 'posix_spawnattr_getsigmask'.
43848         * modules/posix_spawnattr_getsigmask: New file.
43849         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
43850         modifications.
43851         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
43852         new module.
43853
43854         New module 'posix_spawnattr_setsigdefault'.
43855         * modules/posix_spawnattr_setsigdefault: New file.
43856         * lib/spawnattr_setdefault.c: New file, from GNU libc with
43857         modifications.
43858         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
43859         new module.
43860
43861         New module 'posix_spawnattr_getsigdefault'.
43862         * modules/posix_spawnattr_getsigdefault: New file.
43863         * lib/spawnattr_getdefault.c: New file, from GNU libc with
43864         modifications.
43865         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
43866         new module.
43867
43868         New module 'posix_spawnattr_setschedpolicy'.
43869         * modules/posix_spawnattr_setschedpolicy: New file.
43870         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
43871         modifications.
43872         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
43873         new module.
43874
43875         New module 'posix_spawnattr_getschedpolicy'.
43876         * modules/posix_spawnattr_getschedpolicy: New file.
43877         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
43878         modifications.
43879         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
43880         new module.
43881
43882         New module 'posix_spawnattr_setschedparam'.
43883         * modules/posix_spawnattr_setschedparam: New file.
43884         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
43885         modifications.
43886         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
43887         new module.
43888
43889         New module 'posix_spawnattr_getschedparam'.
43890         * modules/posix_spawnattr_getschedparam: New file.
43891         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
43892         modifications.
43893         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
43894         new module.
43895
43896         New module 'posix_spawnattr_setpgroup'.
43897         * modules/posix_spawnattr_setpgroup: New file.
43898         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
43899         modifications.
43900         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
43901         module.
43902
43903         New module 'posix_spawnattr_getpgroup'.
43904         * modules/posix_spawnattr_getpgroup: New file.
43905         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
43906         modifications.
43907         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
43908         module.
43909
43910         New module 'posix_spawnattr_setflags'.
43911         * modules/posix_spawnattr_setflags: New file.
43912         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
43913         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
43914         module.
43915
43916         New module 'posix_spawnattr_getflags'.
43917         * modules/posix_spawnattr_getflags: New file.
43918         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
43919         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
43920         module.
43921
43922         New module 'posix_spawnattr_init'.
43923         * modules/posix_spawnattr_init: New file.
43924         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
43925         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
43926         module.
43927
43928         New module 'posix_spawn_file_actions_destroy'.
43929         * modules/posix_spawn_file_actions_destroy: New file.
43930         * lib/spawn_faction_destroy.c: New file, from GNU libc with
43931         modifications.
43932         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
43933         the new module.
43934
43935         New module 'posix_spawn_file_actions_addopen'.
43936         * modules/posix_spawn_file_actions_addopen: New file.
43937         * lib/spawn_faction_addopen.c: New file, from GNU libc with
43938         modifications.
43939         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43940         the new module.
43941
43942         New module 'posix_spawn_file_actions_adddup2'.
43943         * modules/posix_spawn_file_actions_adddup2: New file.
43944         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
43945         modifications.
43946         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43947         the new module.
43948
43949         New module 'posix_spawn_file_actions_addclose'.
43950         * modules/posix_spawn_file_actions_addclose: New file.
43951         * lib/spawn_faction_addclose.c: New file, from GNU libc with
43952         modifications.
43953         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43954         the new module.
43955
43956         New module 'posix_spawn_file_actions_init'.
43957         * modules/posix_spawn_file_actions_init: New file.
43958         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
43959         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
43960         new module.
43961
43962         New module 'posix_spawn-internal'.
43963         * modules/posix_spawn-internal: New file.
43964         * lib/spawn_int.h: New file, from GNU libc with modifications.
43965         * lib/spawni.c: New file, from GNU libc with modifications.
43966         * m4/posix_spawn.m4: New file.
43967
43968         New module 'spawn'.
43969         * modules/spawn: New file.
43970         * lib/spawn.in.h: New file, from GNU libc with modifications.
43971         * m4/spawn_h.m4: New file.
43972         * doc/posix-headers/spawn.texi: Mention the new module.
43973
43974 2008-09-28  Bruno Haible  <bruno@clisp.org>
43975
43976         * modules/sched-tests: New file.
43977         * tests/test-sched.c: New file.
43978
43979         New module 'sched'.
43980         * modules/sched: New file.
43981         * lib/sched.in.h: New file.
43982         * m4/sched_h.m4: New file.
43983         * doc/posix-headers/sched.texi: Mention the new module.
43984
43985 2008-09-27  Eric Blake  <ebb9@byu.net>
43986
43987         Fix previous patch, and tweak references to $0.
43988         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
43989         (func_version, func_gnulib_dir): Don't call this program
43990         gnulib-tool.
43991         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
43992         with using $0 in function.
43993         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
43994         (func_fatal_error): Reuse the name the user invoked us with.
43995
43996 2008-09-27  Bruno Haible  <bruno@clisp.org>
43997
43998         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
43999         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
44000         (gl_ICONV_H): Not here.
44001         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
44002         instead of assigning ICONV_H directly.
44003
44004         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
44005         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
44006         WCHAR_H directly.
44007
44008 2008-09-27  Bruno Haible  <bruno@clisp.org>
44009
44010         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
44011         * modules/arpa_inet (Depends-on): Add link-warning.
44012         (Makefile.am): Insert the definition of GL_LINK-WARNING.
44013         * modules/unistd (Makefile.am): Likewise.
44014
44015 2008-09-26  Bruno Haible  <bruno@clisp.org>
44016
44017         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
44018         variables.
44019         (func_version): Essentially copied from gnulib-tool.
44020         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
44021         func_readlink): Copied from gnulib-tool.
44022
44023 2008-09-26  Bruno Haible  <bruno@clisp.org>
44024
44025         * gnulib-tool (func_version): Change directory to $gnulib_dir before
44026         invoking git-version-gen.
44027
44028 2008-09-26  Bruno Haible  <bruno@clisp.org>
44029
44030         * posix-modules: Update to directory names changed on 2008-01-19.
44031         Remove commas in output before splitting into words. No more need to
44032         avoid 'ftruncate' since 2007-02-19.
44033
44034 2008-09-26  Bruno Haible  <bruno@clisp.org>
44035
44036         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
44037
44038 2008-09-26  Bruno Haible  <bruno@clisp.org>
44039
44040         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
44041         * modules/fwriteerror (Depends-on): Add errno.
44042
44043 2008-09-26  Bruno Haible  <bruno@clisp.org>
44044
44045         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
44046         * tests/test-vc-list-files-cvs.sh: Likewise.
44047
44048 2008-09-26  Bruno Haible  <bruno@clisp.org>
44049
44050         * doc/posix-headers/sys_resource.texi: Reorder items.
44051
44052 2008-09-26  Jim Meyering  <meyering@redhat.com>
44053
44054         fts: tweak inode comparison function
44055         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
44056         inode numbers, as documented.
44057
44058         fts: sort dirent entries on inode number before traversing
44059         This avoids a quadratic, seek-related performance penalty when
44060         operating on a directory containing many entries (measurable at 10k;
44061         3.5 hours at 2 million entries with a cold cache) on certain types
44062         of file systems, including ext3 and ext4, but not tmpfs.
44063         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
44064         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
44065         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
44066         (fs_handles_readdir_ordered_dirents_efficiently): New function.
44067         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
44068         (fts_build): Set the stat.st_ino member from D_INO.
44069         If it is likely to be useful, sort dirent entries on inode number.
44070
44071         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
44072         and the struct statfs.f_type member.
44073         * modules/fts (Depends-on): Add d-ino.
44074
44075 2008-09-26  Bruno Haible  <bruno@clisp.org>
44076
44077         * modules/sigpipe-die (Depends-on): Add sigpipe.
44078
44079         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
44080         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
44081         and GNULIB_STDIO_H_SIGPIPE are set.
44082         * lib/stdio-write.c: New file.
44083         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
44084         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44085         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44086         REPLACE_STDIO_WRITE_FUNCS.
44087         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
44088         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44089         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44090         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
44091         * modules/stdio (Files): Add lib/stdio-write.c.
44092         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
44093         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44094         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44095         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
44096         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
44097         REPLACE_FPRINTF_POSIX.
44098         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
44099         REPLACE_PRINTF_POSIX.
44100         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
44101         REPLACE_VFPRINTF_POSIX.
44102         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
44103         REPLACE_VPRINTF_POSIX.
44104         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
44105         SIGPIPE issue.
44106         * doc/posix-functions/fputc.texi: Likewise.
44107         * doc/posix-functions/fputs.texi: Likewise.
44108         * doc/posix-functions/fwrite.texi: Likewise.
44109         * doc/posix-functions/printf.texi: Likewise.
44110         * doc/posix-functions/putc.texi: Likewise.
44111         * doc/posix-functions/putchar.texi: Likewise.
44112         * doc/posix-functions/puts.texi: Likewise.
44113         * doc/posix-functions/vfprintf.texi: Likewise.
44114         * doc/posix-functions/vprintf.texi: Likewise.
44115
44116         * modules/safe-write (Depends-on): Add write.
44117
44118         * modules/sigpipe-tests: New file.
44119         * tests/test-sigpipe.c: New file.
44120         * tests/test-sigpipe.sh: New file.
44121
44122         * modules/write: New file.
44123         * lib/unistd.in.h: Include <sys/types.h>.
44124         (write): New declaration.
44125         * lib/write.c: New file.
44126         * m4/write.m4: New file.
44127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44128         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
44129         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
44130         GNULIB_WRITE, REPLACE_WRITE.
44131         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
44132         and the SIGPIPE issue.
44133
44134         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
44135         (raise): New declaration.
44136         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
44137         (ext_signal): New function.
44138         (rpl_raise): New function.
44139         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
44140         GNULIB_SIGNAL_H_SIGPIPE.
44141         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
44142         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
44143
44144         * modules/sigpipe: New file.
44145         * m4/sigpipe.m4: New file.
44146
44147 2008-09-25  Derek Price  <derek@ximbiot.com>
44148             Bruno Haible  <bruno@clisp.org>
44149
44150         * gnulib-tool (func_import): Report all license incompatibilities, not
44151         just the first one.
44152
44153 2008-09-25  Bruno Haible  <bruno@clisp.org>
44154
44155         * gnulib-tool (func_import): When computing the edits, consider not
44156         only the Makefile.ams that exist but also those that will be generated.
44157
44158 2008-09-25  Simon Josefsson  <simon@josefsson.org>
44159
44160         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
44161         fixes gnulib-tool --test warning about duplicate dependency.
44162
44163 2008-09-25  Bruno Haible  <bruno@clisp.org>
44164
44165         * gnulib-tool: Don't ask the user to perform edits in the generated
44166         Makefile.ams.
44167         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
44168         apply to the Makefile.am being generated.
44169         (func_emit_tests_Makefile_am): Execute edits that apply to the
44170         Makefile.am being generated.
44171         (func_import): Setup list of Makefile.am edits before emitting the
44172         Makefile.ams, not at the end.
44173         (func_create_testdir): Update.
44174         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44175
44176 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44177
44178         * gnulib-tool (func_import): Store the --tests-base option in the
44179         comment in gnulib-cache.m4.
44180
44181 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
44182
44183         * NEWS: Document increased portability that sys_select now provides.
44184
44185         * lib/sys_select.in.h: Install select wrapper.
44186         * lib/sys_socket.in.h: Use more descriptive name when there is no
44187         select wrapper.
44188         * lib/winsock-select.c: New.
44189         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
44190         Require gl_HEADER_SYS_SOCKET.
44191         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
44192         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
44193         * tests/test-sys_select.c: Add functional tests.
44194
44195 2008-09-24  Eric Blake  <ebb9@byu.net>
44196
44197         open, fopen: close fd leak in last patch
44198         * lib/open.c (rpl_open): Close fd before returning error.
44199         * lib/fopen.c (rpl_fopen): Close fd before returning error.
44200         * doc/posix-functions/open.texi (open): Document that Irix also
44201         has the bug.
44202         * doc/posix-functions/fopen.texi (fopen): Likewise.
44203         Reported by Paolo Bonzini.
44204
44205 2008-09-24  Bruno Haible  <bruno@clisp.org>
44206
44207         Ensure that a filename ending in a slash cannot be used to access a
44208         non-directory.
44209         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
44210         to check whether it's really a directory.
44211         * lib/fopen.c: Include fcntl.h, unistd.h.
44212         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
44213         and fdopen().
44214         * modules/fopen (Depends-on): Add unistd.
44215         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
44216         * tests/test-fopen.c (main): Likewise.
44217         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
44218         * doc/posix-functions/fopen.texi: Likewise.
44219         Reported by Eric Blake.
44220
44221 2008-09-23  Eric Blake  <ebb9@byu.net>
44222
44223         c-stack: avoid compiler optimizations when provoking overflow
44224         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
44225         recursion harder to optimize, to ensure a stack overflow occurs.
44226         * tests/test-c-stack.c (recurse): Likewise.
44227         Borrowed from libsigsegv.
44228
44229         c-stack: work around Irix sigaltstack bug
44230         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
44231         whether sigaltstack uses wrong end of stack_t (copied in part from
44232         libsigsegv).
44233         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
44234         Irix bug, without requiring an over-allocation.
44235         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
44236         bug.
44237
44238         fopen: document mingw bug on directories
44239         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
44240         not allowing a stream visiting a directory, even though reading
44241         from such a stream is not portable.
44242
44243 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44244
44245         * lib/poll.c: Rewrite.
44246         * modules/poll: Depend on alloca.
44247
44248 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44249
44250         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
44251         instead define prototypes for a full set of wrappers.  Ensure
44252         that Cygwin does not use the compatibility code, which is only
44253         for MinGW.
44254         * lib/winsock.c: New.
44255         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
44256         * modules/sys_socket: Add lib/winsock.c.
44257
44258         * modules/poll-tests: Add errno and perror.
44259         * tests/test-poll.c: Use ioctl, not ioctlsocket.
44260
44261 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44262
44263         * tests/test-poll.c: Downgrade minimum needed Winsock version.
44264
44265 2008-09-23  Bruno Haible  <bruno@clisp.org>
44266
44267         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
44268         * doc/glibc-functions/*: Likewise.
44269
44270 2008-09-23  Simon Josefsson  <simon@josefsson.org>
44271
44272         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
44273         success.
44274
44275 2008-09-22  Eric Blake  <ebb9@byu.net>
44276             Bruno Haible  <bruno@clisp.org>
44277
44278         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
44279         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
44280         supply %A but mishandle pseudo-NaN.
44281         Reported by Simon Josefsson.
44282
44283 2008-09-21  Bruno Haible  <bruno@clisp.org>
44284
44285         * tests/test-lock.c (main): Tweak skip message.
44286         * tests/test-tls.c (main): Likewise.
44287
44288 2008-09-21  Bruno Haible  <bruno@clisp.org>
44289
44290         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
44291         whether 'struct sigaction' has sa_sigaction here...
44292         (gl_PREREQ_SIG_HANDLER_H): ... not here.
44293         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
44294
44295 2008-09-21  Bruno Haible  <bruno@clisp.org>
44296
44297         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
44298         section.
44299         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
44300         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
44301         the new section.
44302         (Support for obsolete systems lacking POSIX:2001): New section.
44303         (String handling <string.h>): Move strdup to the new section.
44304         Suggested by Simon Josefsson and Paolo Bonzini.
44305
44306 2008-09-21  Bruno Haible  <bruno@clisp.org>
44307
44308         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
44309         exponents in %e and %g results on 'long double'. Needed for mingw's
44310         improved *printf functions.
44311         * tests/test-vasprintf-posix.c (test_function): Likewise.
44312         * tests/test-snprintf-posix.h (test_function): Likewise.
44313         * tests/test-sprintf-posix.h (test_function): Likewise.
44314         Reported by Eric Blake.
44315
44316 2008-09-21  Bruno Haible  <bruno@clisp.org>
44317
44318         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
44319         * tests/test-sprintf-posix.h (test_function): Likewise.
44320
44321 2008-09-21  Bruno Haible  <bruno@clisp.org>
44322
44323         * modules/getpass (Depends-on): Add strdup-posix.
44324
44325         New module 'strdup-posix'.
44326         * modules/strdup-posix: New file.
44327         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
44328         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
44329         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44330         REPLACE_STRDUP.
44331         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
44332         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
44333         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44334         strdup-posix.
44335
44336         * modules/strdup (Depends-on): Remove malloc-posix.
44337
44338 2008-09-20  Bruno Haible  <bruno@clisp.org>
44339
44340         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
44341         Wildenhues.
44342
44343 2008-09-20  Bruno Haible  <bruno@clisp.org>
44344
44345         Ensure that wint_t gets defined on IRIX 5.3.
44346         * lib/wchar.in.h (wint_t): Define if not defined by the system.
44347         * lib/wctype.in.h (wint_t): Likewise.
44348         (__wctype_wint_t): Remove type.
44349         (isw*): Use wint_t instead of __wctype_wint_t.
44350         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
44351         * modules/wchar (Files): Add m4/wint_t.m4.
44352         (Makefile.am): Substitute HAVE_WINT_T.
44353         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
44354         * tests/test-wctype.c: Check that wint_t is defined.
44355         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
44356         * doc/posix-headers/wctype.texi: Likewise.
44357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44358
44359 2008-09-18  Bruno Haible  <bruno@clisp.org>
44360
44361         * gnulib-tool (func_exit): Update comment.
44362
44363 2008-09-18  Simon Josefsson  <simon@josefsson.org>
44364
44365         * modules/getaddrinfo (Depends-on): Remove strdup, this module
44366         assumes strdup exists and does not depend on strdup to return
44367         ENOMEM on out of memory conditions.
44368
44369 2008-09-18  Bruno Haible  <bruno@clisp.org>
44370
44371         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
44372         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
44373         digits for the exponent.
44374
44375 2008-09-18  Jim Meyering  <meyering@redhat.com>
44376             Bruno Haible  <bruno@clisp.org>
44377
44378         * lib/vasnprintf.c (decimal_point_char): Define also if
44379         NEED_PRINTF_INFINITE_LONG_DOUBLE.
44380
44381 2008-09-16  Bruno Haible  <bruno@clisp.org>
44382         and Eric Blake  <ebb9@byu.net>
44383
44384         vasnprintf: support Irix 5.3
44385         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
44386         that mishandle long double infinity.
44387         Reported by Tom G. Christensen.
44388
44389 2008-09-16  Bruno Haible  <bruno@clisp.org>
44390
44391         * doc/glibc-functions/scandir.texi: Mention the function is missing on
44392         Solaris 9.
44393         * doc/glibc-functions/alphasort.texi: Likewise.
44394         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
44395
44396 2008-09-16  Jim Meyering  <meyering@redhat.com>
44397
44398         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
44399         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
44400         a umask modification leak out of a subshell.  Otherwise, the
44401         opensolaris /bin/sh would be accepted and thus cause unwarranted
44402         failures in the coreutils test suite.
44403
44404 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
44405
44406         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
44407         to succeed.
44408
44409 2008-09-16  Jim Meyering  <meyering@redhat.com>
44410
44411         avoid spurious test failure when library is built without ACL support
44412         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
44413         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
44414         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
44415         * tests/test-copy-acl.sh: Likewise.
44416
44417 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44418
44419         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
44420         based on character occurrence counts.
44421
44422 2008-09-15  Eric Blake  <ebb9@byu.net>
44423
44424         tests: avoid some compiler warnings
44425         * tests/test-memchr.c (main): Pass NULL indirectly.
44426         * tests/test-closein.c (main): Avoid unused variable.
44427
44428 2008-09-15  Bruno Haible  <bruno@clisp.org>
44429
44430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
44431         are missing on OpenBSD 4.0 individually.
44432         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44433
44434 2008-09-15  Bruno Haible  <bruno@clisp.org>
44435
44436         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
44437         * doc/posix-functions/strerror.texi: Mention also Cygwin.
44438         * doc/posix-functions/perror.texi: Likewise.
44439         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
44440         is missing.
44441         Reported by Eric Blake.
44442
44443         * lib/errno.in.h: Use replacement values >= 2000.
44444         Reported by Eric Blake.
44445
44446 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44447
44448         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
44449         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
44450         limit.
44451         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
44452         compareseq was aborted.
44453
44454 2008-09-14  Bruno Haible  <bruno@clisp.org>
44455
44456         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
44457         yvec_edit_count.
44458         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
44459         (fstrcmp_bounded): Simplify result computation accordingly.
44460
44461 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44462
44463         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
44464         (fstrcmp): Define in terms of fstrcmp_bounded.
44465         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
44466         lower_bound argument.
44467         Return quickly if the result is certainly < lower_bound.
44468         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
44469
44470 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44471
44472         * lib/diffseq.h (EARLY_ABORT): New macro.
44473         (compareseq): Change return type to bool. Return true when EARLY_ABORT
44474         evaluates to true.
44475
44476 2008-09-14  Bruno Haible  <bruno@clisp.org>
44477
44478         * modules/perror-tests: New file.
44479         * tests/test-perror.sh: New file.
44480         * tests/test-perror.c: New file.
44481
44482         New module 'perror'.
44483         * lib/stdio.in.h (perror): New declaration.
44484         * lib/perror.c: New file.
44485         * m4/perror.m4: New file.
44486         * modules/perror: New file.
44487         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
44488         * doc/posix-functions/perror.texi: Mention the perror module.
44489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
44490         REPLACE_PERROR.
44491         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
44492         REPLACE_PERROR.
44493
44494 2008-09-14  Bruno Haible  <bruno@clisp.org>
44495
44496         * modules/stdio (Makefile.am): Reorder to match the order in
44497         lib/stdio.in.h.
44498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44499
44500 2008-09-13  Bruno Haible  <bruno@clisp.org>
44501
44502         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
44503
44504 2008-09-13  Bruno Haible  <bruno@clisp.org>
44505
44506         Extend strerror to cover the added errno values.
44507         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
44508         (rpl_strerror): Provide error messages for the added errno values and
44509         for the WSA* values.
44510         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
44511         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
44512         strerror.
44513         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
44514         * modules/strerror (Depends-on): Add errno.
44515         * doc/posix-functions/strerror.texi: Document the change.
44516         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
44517         and EOVERFLOW.
44518
44519 2008-09-13  Bruno Haible  <bruno@clisp.org>
44520
44521         * modules/EOVERFLOW: Remove file.
44522         * m4/eoverflow.m4: Remove file.
44523         * modules/EOVERFLOW-tests: Remove file.
44524         * tests/test-EOVERFLOW.c: Remove file.
44525         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
44526         * modules/ftell (Depends-on): Likewise.
44527         * modules/getdelim (Depends-on): Likewise.
44528         * modules/getugroups (Depends-on): Likewise.
44529         * modules/poll (Depends-on): Likewise.
44530         * modules/snprintf (Depends-on): Likewise.
44531         * modules/sprintf-posix (Depends-on): Likewise.
44532         * modules/vasnprintf (Depends-on): Likewise.
44533         * modules/vasprintf (Depends-on): Likewise.
44534         * modules/vfprintf-posix (Depends-on): Likewise.
44535         * modules/vsnprintf (Depends-on): Likewise.
44536         * modules/vsprintf-posix (Depends-on): Likewise.
44537         * modules/xvasprintf (Depends-on): Likewise.
44538         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44539         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
44540         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
44541         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
44542         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44543         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
44544         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
44545         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
44546         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44547         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
44548         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
44549         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
44550         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44551         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
44552         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
44553         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
44554         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44555         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
44556         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
44557         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
44558         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44559         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
44560         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
44561         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
44562         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
44563         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44564         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
44565         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
44566         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
44567         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
44568         * MODULES.html.sh: Remove EOVERFLOW.
44569         * NEWS: Mention the change.
44570
44571 2008-09-13  Bruno Haible  <bruno@clisp.org>
44572
44573         * modules/errno-tests: New file.
44574         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
44575
44576         * lib/errno.in.h: New file.
44577         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
44578         * modules/errno: New file.
44579         * doc/posix-headers/errno.texi: Update documentation.
44580         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
44581
44582 2008-09-13  Bruno Haible  <bruno@clisp.org>
44583
44584         * tests/test-poll.c: Use #if for native Windows, rather than testing
44585         __MSVCRT__.
44586
44587 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44588             Bruno Haible  <bruno@clisp.org>
44589
44590         * lib/glob.c: Don't include <pwd.h> on native Windows.
44591         (WINDOWS32): New macro.
44592         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
44593
44594 2008-09-13  Bruno Haible  <bruno@clisp.org>
44595
44596         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
44597         (ETIMEDOUT): Remove macro.
44598         (glthread_cond_timedwait_multithreaded): New declaration.
44599         (glthread_cond_timedwait): Use it.
44600         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
44601         (glthread_cond_timedwait_multithreaded): New function.
44602
44603 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
44604
44605         * modules/poll-tests: Do not check for io.h.
44606         * tests/test-poll.c: Check for __MSVCRT__ instead.
44607
44608 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
44609
44610         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
44611         * modules/poll-tests: Add inet_pton, stdbool, sockets.
44612         * tests/test-poll.c: Use them.  Use _pipe on Windows.
44613
44614 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
44615
44616         * modules/poll-tests: New.
44617         * tests/test-poll.c: New.
44618
44619 2008-09-12  Eric Blake  <ebb9@byu.net>
44620
44621         frexp: test for NetBSD failure on -0.0
44622         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
44623         not all, bugs from NetBSD 3.0 have been fixed.
44624         * doc/posix-functions/frexp.texi (frexp): Document bug.
44625         Reported by Thomas Klausner.
44626
44627         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
44628         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
44629         literal -0.0.
44630         Reported by Jonathan C. Patschke <jp@centtech.com>.
44631
44632 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44633
44634         * lib/glthread/cond.h: Use dummy implementation also if
44635         USE_WIN32_THREADS.
44636
44637 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44638
44639         * modules/fnmatch-posix (License): Change to LGPLv2+.
44640         * modules/fnmatch-gnu (License): Likewise.
44641
44642 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44643
44644         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
44645
44646 2008-09-11  Jim Meyering  <meyering@redhat.com>
44647
44648         * users.txt: Add gtk-vnc.
44649
44650 2008-09-08  Simon Josefsson  <simon@josefsson.org>
44651
44652         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
44653         rotate amounts.
44654
44655         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
44656         required for 16-bit and 8-bit rotates.
44657         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
44658         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
44659         UINT8_MAX instead of hard-coded constants.
44660         Suggested by Paul Eggert.
44661
44662 2008-09-07  Bruno Haible  <bruno@clisp.org>
44663
44664         * tests/test-striconveh.c (main): Check behaviour when converting from
44665         UTF-7.
44666
44667         Make striconveh work better with stateful encodings.
44668         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
44669         that iconv does not increment the inptr when returning -1/EINVAL.
44670
44671 2008-09-07  Bruno Haible  <bruno@clisp.org>
44672
44673         * build-aux/config.rpath: Update according to libtool-2.2.6.
44674         * build-aux/config.libpath: Likewise.
44675
44676 2008-09-06  Bruno Haible  <bruno@clisp.org>
44677
44678         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
44679         * lib/freadptr.c (freadptr): Likewise.
44680         * lib/freadseek.c (freadptrinc): Likewise.
44681         Reported by Simon Josefsson.
44682
44683 2008-09-06  Bruno Haible  <bruno@clisp.org>
44684
44685         * modules/freadptr (License): Change to LGPLv2+.
44686         * modules/freadseek (License): Likewise.
44687         Suggested by Eric Blake.
44688
44689         * modules/memchr2 (License): Change to LGPLv2+.
44690         Approved by Eric Blake.
44691
44692 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44693             Bruno Haible  <bruno@clisp.org>
44694
44695         Make gnulib-tool work with native 'sed' on AIX.
44696         * gnulib-tool (sed_noop): New variable.
44697         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
44698         func_add_or_update, func_create_testdir): Use it to initialize sed
44699         script variables.
44700         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44701
44702 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
44703             Bruno Haible  <bruno@clisp.org>
44704
44705         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
44706         also works after #include directives.
44707
44708 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
44709
44710         getdate.y: reject an out-of-range timezone value
44711         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
44712         the range [-24...+24].  When specified with only one or two digits,
44713         * tests/test-getdate.c: Tests for the fix.
44714         * doc/getdate.texi: Document this change.
44715
44716 2008-09-03  Bruno Haible  <bruno@clisp.org>
44717
44718         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
44719
44720 2008-09-02  Simon Josefsson  <simon@josefsson.org>
44721
44722         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
44723         <bruce.korb@gmail.com> with ideas from Ben Pfaff
44724         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
44725         Blake <ebb9@byu.net>.
44726
44727         * tests/test-bitrotate.c: Add more test vectors.
44728
44729 2008-09-02  Eric Blake  <ebb9@byu.net>
44730
44731         vasnprintf-posix: handle large precision via %.*d
44732         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
44733         when handling it ourselves.
44734         * tests/test-vasnprintf-posix.c (test_function): Add test.
44735         * tests/test-snprintf-posix.h (test_function): Likewise.
44736         * tests/test-sprintf-posix.h (test_function): Likewise.
44737         * tests/test-vasprintf-posix.c (test_function): Likewise.
44738         Reported by Alain Guibert.
44739
44740 2008-09-01  Eric Blake  <ebb9@byu.net>
44741
44742         c-stack: make configure-time check more robust
44743         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
44744         successful sigaction call.
44745         Reported by Tom G. Christensen.
44746
44747 2008-09-01  Bruno Haible  <bruno@clisp.org>
44748
44749         New module 'findprog-lgpl'.
44750         * modules/findprog-lgpl: New file.
44751         * lib/findprog-lgpl.c: New file.
44752         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
44753         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
44754         to decide whether to use strdup or xstrdup, concatenated_filename or
44755         xconcatenated_filename.
44756
44757 2008-09-01  Bruno Haible  <bruno@clisp.org>
44758
44759         Split module 'concat-filename' into 'concat-filename' (LGPL) and
44760         'xconcat-filename' (GPL).
44761         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
44762         (License): Change to LGPLv2+.
44763         * modules/xconcat-filename: New file.
44764         * lib/concat-filename.h (concatenated_filename): Change specification.
44765         (xconcatenated_filename): New declaration.
44766         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
44767         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
44768         memory situations.
44769         * lib/xconcat-filename.c: New file.
44770         * NEWS: Mention the change.
44771         * lib/findprog.c: Include concat-filename.h, not filename.h.
44772         (find_in_path): Use xconcatenated_filename instead of
44773         concatenated_filename.
44774         * lib/javacomp.c: Include concat-filename.h, not filename.h.
44775         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
44776         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
44777         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
44778         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
44779         instead of concatenated_filename.
44780         * lib/javaexec.c: Include concat-filename.h, not filename.h.
44781         (execute_java_class): Use xconcatenated_filename instead of
44782         concatenated_filename.
44783         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
44784         * modules/javacomp (Depends-on): Likewise.
44785         * modules/javaexec (Depends-on): Likewise.
44786
44787 2008-09-01  Bruno Haible  <bruno@clisp.org>
44788
44789         Split module 'filename' into 'filename' and 'concat-filename'.
44790         * modules/filename: Keep only lib/filename.h.
44791         (License): Change to LGPLv2+.
44792         * modules/concat-filename: New file, extracted from modules/filename.
44793         * lib/filename.h (concatenated_filename): Remove declaration.
44794         * lib/concat-filename.h: New file, extracted from lib/filename.h.
44795         * lib/concat-filename.c: Include concat-filename.h.
44796         * NEWS: Mention the change.
44797
44798 2008-09-01  Simon Josefsson  <simon@josefsson.org>
44799
44800         * lib/bitrotate.h (rotl8, rotr8): Add.
44801
44802         * modules/bitrotate (configure.ac): Need
44803         AC_REQUIRE([AC_C_INLINE]).
44804         (Description): Mention stdint.h.  Reported by Bruno Haible
44805         <bruno@clisp.org>.
44806
44807         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
44808         Paolo Bonzini <bonzini@gnu.org>.
44809
44810 2008-08-31  Bruno Haible  <bruno@clisp.org>
44811
44812         Assume Solaris specific bi-arch conventions on Solaris systems.
44813         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
44814         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
44815         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
44816         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
44817         like acl_libdirstem.
44818         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
44819         acl_libdirstem.
44820         * NEWS: Mention the change.
44821         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
44822
44823 2008-08-31  Jim Meyering  <meyering@redhat.com>
44824
44825         * lib/strftime.h: Add comments describing the two added arguments.
44826
44827         remove duplicate #include directives
44828         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
44829         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
44830
44831 2008-08-31  Bruno Haible  <bruno@clisp.org>
44832
44833         New module 'sigpipe-die'.
44834         * modules/sigpipe-die: New file.
44835         * lib/sigpipe-die.h: New file.
44836         * lib/sigpipe-die.c: New file.
44837         * MODULES.html.sh (Signal handling): Add sigpipe-die.
44838
44839 2008-08-31  Bruno Haible  <bruno@clisp.org>
44840
44841         Don't override previously installed signal handlers.
44842         * lib/fatal-signal.c (saved_sigactions): New variable.
44843         (uninstall_handlers): Reset the signal to the saved handler, not
44844         to SIG_DFL (except when ignored).
44845         (install_handlers): Save the previous handlers.
44846
44847 2008-08-30  Bruno Haible  <bruno@clisp.org>
44848
44849         * gnulib-tool (func_reset_sigpipe): New function.
44850         (func_get_automake_snippet, func_modules_transitive_closure,
44851         func_import): Invoke it before a join command that reads from stdin,
44852         to avoid "echo: write error: Broken pipe" error messages on stderr.
44853         Reported by Sam Steingold <sds@gnu.org>.
44854
44855 2008-08-30  Bruno Haible  <bruno@clisp.org>
44856
44857         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
44858         Code copied from m4/open.m4.
44859         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
44860         access and the filename ends in a slash. Code copied from lib/open.c.
44861         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
44862         * tests/test-fopen.c (main): Check against bug with trailing slash.
44863
44864 2008-08-29  Bruno Haible  <bruno@clisp.org>
44865
44866         Avoid some "gcc -pedantic" warnings.
44867         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
44868         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
44869         * lib/dirent.in.h: Likewise.
44870         * lib/fcntl.in.h: Likewise.
44871         * lib/float.in.h: Likewise.
44872         * lib/iconv.in.h: Likewise.
44873         * lib/inttypes.in.h: Likewise.
44874         * lib/locale.in.h: Likewise.
44875         * lib/math.in.h: Likewise.
44876         * lib/netinet_in.in.h: Likewise.
44877         * lib/search.in.h: Likewise.
44878         * lib/signal.in.h: Likewise.
44879         * lib/stdarg.in.h: Likewise.
44880         * lib/stdint.in.h: Likewise.
44881         * lib/stdio.in.h: Likewise.
44882         * lib/stdlib.in.h: Likewise.
44883         * lib/string.in.h: Likewise.
44884         * lib/strings.in.h: Likewise.
44885         * lib/sys_select.in.h: Likewise.
44886         * lib/sys_socket.in.h: Likewise.
44887         * lib/sys_stat.in.h: Likewise.
44888         * lib/sys_time.in.h: Likewise.
44889         * lib/sysexits.in.h: Likewise.
44890         * lib/time.in.h: Likewise.
44891         * lib/unistd.in.h: Likewise.
44892         * lib/wchar.in.h: Likewise.
44893         * lib/wctype.in.h: Likewise.
44894         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
44895         * modules/fchdir (Makefile.am): Likewise.
44896         * modules/fcntl (Makefile.am): Likewise.
44897         * modules/float (Makefile.am): Likewise.
44898         * modules/iconv_open (Makefile.am): Likewise.
44899         * modules/inttypes (Makefile.am): Likewise.
44900         * modules/locale (Makefile.am): Likewise.
44901         * modules/math (Makefile.am): Likewise.
44902         * modules/netinet_in (Makefile.am): Likewise.
44903         * modules/search (Makefile.am): Likewise.
44904         * modules/signal (Makefile.am): Likewise.
44905         * modules/stdarg (Makefile.am): Likewise.
44906         * modules/stdint (Makefile.am): Likewise.
44907         * modules/stdio (Makefile.am): Likewise.
44908         * modules/stdlib (Makefile.am): Likewise.
44909         * modules/string (Makefile.am): Likewise.
44910         * modules/strings (Makefile.am): Likewise.
44911         * modules/sys_select (Makefile.am): Likewise.
44912         * modules/sys_socket (Makefile.am): Likewise.
44913         * modules/sys_stat (Makefile.am): Likewise.
44914         * modules/sys_time (Makefile.am): Likewise.
44915         * modules/sysexits (Makefile.am): Likewise.
44916         * modules/time (Makefile.am): Likewise.
44917         * modules/unistd (Makefile.am): Likewise.
44918         * modules/wchar (Makefile.am): Likewise.
44919         * modules/wctype (Makefile.am): Likewise.
44920         Reported by Reuben Thomas <rrt@sc3d.org>.
44921
44922 2008-08-29  Bruno Haible  <bruno@clisp.org>
44923
44924         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
44925         any more.
44926
44927 2008-08-29  Simon Josefsson  <simon@josefsson.org>
44928
44929         * MODULES.html.sh (Misc): Add bitrotate.
44930
44931         * modules/bitrotate: New file.
44932
44933         * lib/bitrotate.h: New file.
44934
44935         * modules/bitrotate-tests: New file.
44936
44937         * tests/test-bitrotate.c: New file.
44938
44939         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
44940         on the bitrotate module.
44941
44942         * lib/arctwo.c: Use new bitrotate module.
44943
44944 2008-08-29  Jim Meyering  <meyering@redhat.com>
44945
44946         bootstrap: merge changes from coreutils
44947         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
44948         of copied files.  Remove a kludge, now that this is fixed.
44949         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
44950         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
44951         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
44952
44953 2008-08-29  Bruno Haible  <bruno@clisp.org>
44954
44955         * MODULES.html.sh: Remove --cvs-urls option.
44956
44957 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
44958
44959         maint.mk: adjust to file name change
44960         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
44961
44962 2008-08-28  Jim Meyering  <meyering@redhat.com>
44963
44964         * modules/getndelim2 (License): Relicense to LGPLv2+.
44965         Approved by Richard Stallman for the version of 1995, and by
44966         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
44967
44968 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
44969
44970         * lib/getdelim.c (flockfile, funlockfile): Make all of them
44971         dummy if one is not available.  Do not touch them if
44972         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
44973         (getc_maybe_unlocked): New.
44974         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
44975
44976 2008-08-26  Eric Blake  <ebb9@byu.net>
44977
44978         doc/INSTALL: resync from autoconf
44979         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
44980         (INSTALL_PRELUDE): Delete; this is done more efficiently by
44981         moving...
44982         * install.texi [!autoconf]: ...here.  Resync from autoconf.
44983         * INSTALL: Regenerate.
44984         * INSTALL.ISO: New file.
44985         * INSTALL.UTF-8: Likewise.
44986
44987 2008-08-26  Jim Meyering  <meyering@redhat.com>
44988
44989         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
44990         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
44991         these definitions conditional, so that they may be overridden, too.
44992
44993 2008-08-26  Bruno Haible  <bruno@clisp.org>
44994
44995         Generate INSTALL file variants with prettier quotes.
44996         * doc/Makefile (INSTALL_PRELUDE): New macro.
44997         (INSTALL): Use it.
44998         (INSTALL.ISO, INSTALL.UTF-8): New rules.
44999
45000 2008-08-26  Bruno Haible  <bruno@clisp.org>
45001
45002         Run makeinfo in an English locale.
45003         * doc/Makefile (MAKEINFO): New variable.
45004
45005 2008-08-26  Bruno Haible  <bruno@clisp.org>
45006
45007         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
45008         Suggested by Eric Blake.
45009
45010 2008-08-25  Bruno Haible  <bruno@clisp.org>
45011
45012         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
45013
45014 2008-08-25  Eric Blake  <ebb9@byu.net>
45015
45016         c-stack: test that stack overflow can be caught
45017         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
45018         that platform allows handling stack overflow; at least OS/2 EMX
45019         has sigaltstack, but crashes before transferring control to
45020         handler on stack overflow.
45021         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
45022         check for HAVE_STACK_OVERFLOW_HANDLING.
45023         Reported by Elbert Pol.
45024
45025 2008-08-25  Bruno Haible  <bruno@clisp.org>
45026
45027         * doc/posix-functions/strftime.texi: Fix description of strftime
45028         module.
45029
45030 2008-08-24  Bruno Haible  <bruno@clisp.org>
45031
45032         * tests/uniwidth/test-uc_width2.c: New file.
45033         * tests/uniwidth/test-uc_width2.sh: New file.
45034         * modules/uniwidth/width-tests (Files): Add the new files.
45035         (TESTS): Add uniwidth/test-uc_width2.sh.
45036         (TESTS_ENVIRONMENT): New variable.
45037         (check_PROGRAMS): Add test-uc_width2.
45038         (test_uc_width2_SOURCES): New variable.
45039
45040         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
45041         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
45042         not 0x00AB.
45043         Reported by Alexander V. Lukyanov <lav@netis.ru>.
45044
45045 2008-08-22  Eric Blake  <ebb9@byu.net>
45046
45047         test-lock, test-tls: mention why a test is skipped
45048         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
45049         skipped.
45050         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
45051
45052         count-one-bits: relax license
45053         * modules/count-one-bits (License): Relicense to LGPLv2+.
45054         Suggested by Ludovic Courtès, approved by Ben Pfaff.
45055
45056 2008-08-22  Andreas Schwab  <schwab@suse.de>
45057
45058         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
45059         Remove spurious space in assignment.
45060
45061 2008-08-21  Simon Josefsson  <simon@josefsson.org>
45062
45063         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
45064         Paul Eggert <eggert@CS.UCLA.EDU>.
45065
45066 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
45067
45068         * modules/gettext: Add m4/threadlib.m4.
45069
45070 2008-08-19  Eric Blake  <ebb9@byu.net>
45071
45072         test-c-stack: fix compilation failure on FreeBSD 5.0
45073         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
45074         headers before <sys/resource.h>.
45075         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
45076         the bug.
45077         Reported by Nelson H. F. Beebe.
45078
45079         strverscmp: migrate from "strverscmp.h" to <string.h>
45080         * modules/string (Makefile.am): Add new hooks.
45081         * modules/strverscmp (Files): Remove strverscmp.h.
45082         (Depends-on): Add string.
45083         (configure.ac): Add indicator.
45084         (Include): Mention new header.
45085         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
45086         defaults.
45087         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
45088         results.
45089         * lib/strverscmp.h: Delete.
45090         * lib/string.in.h (strverscmp): Provide declaration, when needed.
45091         * tests/test-strverscmp.c (includes): Adjust client.
45092         * lib/check-version.c (includes): Likewise.
45093         * NEWS: Document the change.
45094
45095         strverscmp: add unit test
45096         * modules/strverscmp-tests: New file.
45097         * tests/test-strverscmp.c: Likewise.
45098
45099 2008-08-19  Simon Josefsson  <simon@josefsson.org>
45100
45101         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
45102         regarding Windows crypto stuff, from Mono.
45103
45104 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
45105
45106         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
45107         if present, for intel RND.  Return error on failures.
45108
45109 2008-08-18  Ben Pfaff  <blp@gnu.org>
45110
45111         gitlog-to-changelog: give better diagnostic for failed pipe-open
45112         * build-aux/gitlog-to-changelog: Improve error message: suggest
45113         that the version of Git may be too old.
45114
45115 2008-08-18  Simon Josefsson  <simon@josefsson.org>
45116
45117         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
45118         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
45119
45120 2008-08-18  Bruno Haible  <bruno@clisp.org>
45121
45122         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
45123         pthread_in_use().
45124
45125 2008-08-18  Bruno Haible  <bruno@clisp.org>
45126
45127         * lib/glthread/threadlib.c: Include <pthread.h>.
45128
45129 2008-08-18  Bruno Haible  <bruno@clisp.org>
45130
45131         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
45132         glthread_recursive_lock_* macros.
45133         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
45134         Fix syntax error.
45135
45136 2008-08-18  Bruno Haible  <bruno@clisp.org>
45137
45138         * lib/glthread/thread.c: Avoid forcing a context switch right after
45139         thread creation.
45140
45141 2008-08-17  Bruno Haible  <bruno@clisp.org>
45142
45143         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
45144         * lib/glthread/thread.h: Provide Win32 specific implementation.
45145         * modules/thread (Files): Add lib/glthread/thread.c.
45146         (Depends-on): Add lock.
45147         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
45148
45149 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45150
45151         New module 'yield'.
45152         * modules/yield: New file.
45153         * lib/glthread/yield.h: New file.
45154         * m4/yield.m4: New file.
45155         * MODULES.html.sh (Multithreading): Add yield.
45156
45157 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45158
45159         New module 'thread'.
45160         * modules/thread: New file.
45161         * lib/glthread/thread.h: New file.
45162         * m4/thread.m4: New file.
45163         * MODULES.html.sh (Multithreading): Add thread.
45164
45165 2008-08-17  Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/glthread/lock.h: Include <stdlib.h> always.
45168         * lib/glthread/tls.h: Likewise.
45169         * lib/glthread/cond.h: Likewise.
45170
45171 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45172
45173         New module 'cond'.
45174         * modules/cond: New file.
45175         * lib/glthread/cond.h: New file.
45176         * lib/glthread/cond.c: New file.
45177         * m4/cond.m4: New file.
45178         * MODULES.html.sh (Multithreading): Add cond.
45179
45180 2008-08-16  Eric Blake  <ebb9@byu.net>
45181
45182         c-stack: fix regression on Irix 5.3 from 2008-06-21
45183         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
45184         sa_sigaction...
45185         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
45186         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
45187         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
45188         * modules/signal (Makefile.am): Use the value.
45189         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
45190         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
45191         * doc/posix-headers/signal.texi (signal.h): Document this
45192         portability issue.
45193         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
45194         Reported by Tom G. Christensen.
45195
45196 2008-08-17  Bruno Haible  <bruno@clisp.org>
45197
45198         New module 'threadlib'.
45199         * modules/threadlib: New file.
45200         * lib/glthread/threadlib.c: New file, extracted from
45201         lib/glthread/lock.c.
45202         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
45203         functions.
45204         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
45205         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
45206         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
45207         macros.
45208         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
45209         (gl_DISABLE_THREADS): Remove macro.
45210         * modules/lock (Files): Remove build-aux/config.rpath.
45211         (Depends-on): Remove havelib. Add threadlib.
45212         (configure.ac-early): Remove section.
45213         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
45214         * modules/tls (Depends-on): Remove lock. Add threadlib.
45215         (Link): New section, copied from threadlib.
45216         * MODULES.html.sh (Multithreading): Add threadlib.
45217
45218 2008-08-14  Bruno Haible  <bruno@clisp.org>
45219
45220         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
45221         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
45222         glthread_rwlock_unlock, glthread_rwlock_destroy,
45223         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
45224         glthread_recursive_lock_destroy): Define as macros always.
45225         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
45226         glthread_lock_lock.
45227         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
45228         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
45229         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
45230         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
45231         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
45232         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
45233         (glthread_recursive_lock_lock_func): Renamed from
45234         glthread_recursive_lock_lock.
45235         (glthread_recursive_lock_unlock_func): Renamed from
45236         glthread_recursive_lock_unlock.
45237         (glthread_recursive_lock_destroy_func): Renamed from
45238         glthread_recursive_lock_destroy.
45239
45240 2008-08-14  Bruno Haible  <bruno@clisp.org>
45241
45242         * lib/glthread/lock.h: Renamed from lib/lock.h.
45243         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
45244         * lib/glthread/tls.h: Renamed from lib/tls.h.
45245         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
45246         * lib/fstrcmp.c: Update includes.
45247         * lib/strsignal.c: Update includes.
45248         * modules/lock (Files, Makefile.am): Update.
45249         (Include): Change to "glthread/lock.h".
45250         * modules/tls (Files, Makefile.am): Update.
45251         (Include): Change to "glthread/tls.h".
45252         * tests/test-lock.c: Update includes.
45253         * tests/test-tls.c: Update includes.
45254         * NEWS: Mention the renamed header files.
45255
45256 2008-08-11  Jim Meyering  <meyering@redhat.com>
45257
45258         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
45259
45260 2008-08-11  Eric Blake  <ebb9@byu.net>
45261
45262         test-c-stack: avoid C99-ism
45263         * tests/test-c-stack.c (main): Fix whitespace, move declaration
45264         before statement.
45265         Reported by Alain Guibert.
45266
45267 2008-08-10  Jim Meyering  <meyering@redhat.com>
45268
45269         ensure that return value of uinttostr et al are not ignored
45270         * lib/inttostr.h (__GNUC_PREREQ): Define.
45271         (__attribute_warn_unused_result__): Define.
45272         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
45273
45274 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
45275
45276         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
45277         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
45278
45279 2008-08-07  Jim Meyering  <meyering@redhat.com>
45280
45281         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
45282
45283         * modules/mkstemp (License): Relicense under LGPLv2+.
45284         * modules/tempname (License): Likewise.
45285
45286 2008-08-06  Bruno Haible  <bruno@clisp.org>
45287
45288         * lib/poll.c (poll): Further micro-optimization.
45289
45290 2008-08-06  Jim Meyering  <meyering@redhat.com>
45291
45292         inet_pton.c: use locale-independent tolower
45293         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
45294         (inet_pton6): Use c_tolower rather than tolower.
45295         * modules/inet_pton (Depends-on): Add c-ctype.
45296
45297 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
45298
45299         * lib/poll.c (poll): Avoid division when timeout is 0, cache
45300         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
45301
45302 2008-08-06  Jim Meyering  <meyering@redhat.com>
45303
45304         * modules/inet_pton (License): Relicense under LGPLv2+.
45305
45306 2008-08-03  Bruno Haible  <bruno@clisp.org>
45307
45308         Additional non-aborting API for lock and tls.
45309         * lib/lock.h: Include <errno.h>.
45310         (glthread_lock_init): New macro/function.
45311         (gl_lock_init): Define as wrapper around glthread_lock_init.
45312         (glthread_lock_lock): New macro/function.
45313         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
45314         (glthread_lock_unlock): New macro/function.
45315         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
45316         (glthread_lock_destroy): New macro/function.
45317         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
45318         (glthread_rwlock_init): New macro/function.
45319         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
45320         (glthread_rwlock_rdlock): New macro/function.
45321         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
45322         (glthread_rwlock_wrlock): New macro/function.
45323         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
45324         (glthread_rwlock_unlock): New macro/function.
45325         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
45326         (glthread_rwlock_destroy): New macro/function.
45327         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
45328         (glthread_recursive_lock_init): New macro/function.
45329         (gl_recursive_lock_init): Define as wrapper around
45330         glthread_recursive_lock_init.
45331         (glthread_recursive_lock_lock): New macro/function.
45332         (gl_recursive_lock_lock): Define as wrapper around
45333         glthread_recursive_lock_lock.
45334         (glthread_recursive_lock_unlock): New macro/function.
45335         (gl_recursive_lock_unlock): Define as wrapper around
45336         glthread_recursive_lock_unlock.
45337         (glthread_recursive_lock_destroy): New macro/function.
45338         (gl_recursive_lock_destroy): Define as wrapper around
45339         glthread_recursive_lock_destroy.
45340         (glthread_once): New macro/function.
45341         (gl_once): Define as wrapper around glthread_once.
45342         Update function declarations.
45343         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
45344         glthread_rwlock_init. Return error code.
45345         (glthread_rwlock_rdlock_multithreaded): Renamed from
45346         glthread_rwlock_rdlock. Return error code.
45347         (glthread_rwlock_wrlock_multithreaded): Renamed from
45348         glthread_rwlock_wrlock. Return error code.
45349         (glthread_rwlock_unlock_multithreaded): Renamed from
45350         glthread_rwlock_unlock. Return error code.
45351         (glthread_rwlock_destroy_multithreaded): Renamed from
45352         glthread_rwlock_destroy. Return error code.
45353         (glthread_recursive_lock_init_multithreaded): Renamed from
45354         glthread_recursive_lock_init. Return error code.
45355         (glthread_recursive_lock_lock_multithreaded): Renamed from
45356         glthread_recursive_lock_lock. Return error code.
45357         (glthread_recursive_lock_unlock_multithreaded): Renamed from
45358         glthread_recursive_lock_unlock. Return error code.
45359         (glthread_recursive_lock_destroy_multithreaded): Renamed from
45360         glthread_recursive_lock_destroy. Return error code.
45361         (glthread_once_call): Make static.
45362         (glthread_once_multithreaded): Renamed from glthread_once.
45363         * lib/tls.h: Include <errno.h>.
45364         (glthread_tls_key_init): New macro/function.
45365         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
45366         (glthread_tls_set): New macro/function.
45367         (gl_tls_set): Define as wrapper around glthread_tls_set.
45368         (glthread_tls_key_destroy): New macro/function.
45369         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
45370         Update function declarations.
45371         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
45372         glthread_tls_get.
45373         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45374
45375 2008-08-04  Eric Blake  <ebb9@byu.net>
45376
45377         gnumakefile: use space, not TAB, outside of targets
45378         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
45379
45380 2008-08-02  Jim Meyering  <meyering@redhat.com>
45381
45382         getdate.y: avoid locale-dependent date parsing failure
45383         In Turkish locales, getdate would fail to recognize keywords
45384         containing a lowercase "i".  The solution is not to rely on
45385         locale-sensitive case-conversion.
45386         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
45387         (lookup_word): Use c_toupper in place of toupper.
45388         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
45389         Reported by Vefa Bicakci <bicave@superonline.com> in
45390         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
45391         * modules/getdate (Depends-on): Add c-ctype.
45392
45393 2008-08-02  Bruno Haible  <bruno@clisp.org>
45394
45395         * gnulib-tool (func_import): When updating or creating a .gitignore
45396         file, prepend each added line with a slash, and ignore leading slashes
45397         from the existing lines.
45398         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45399
45400 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45401
45402         Portability fix for GNU make 3.79.1.
45403         * top/GNUmakefile: Avoid 'else COND', which older GNU make
45404         versions do not understand.
45405
45406 2008-08-01  Bruno Haible  <bruno@clisp.org>
45407
45408         Work around bug of HP-UX 10.20 cc with -0.0 literal.
45409         * tests/test-isnanf.h (zero): New variable.
45410         (main): Avoid literal -0.0f.
45411         * tests/test-isnand.h (zero): New variable.
45412         (main): Avoid literal -0.0.
45413         * tests/test-isnanl.h (zero): New variable.
45414         (main): Avoid literal -0.0L.
45415         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
45416         (test_float, test_double, test_long_double): Avoid literals -0.0f,
45417         -0.0, -0.0L.
45418         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
45419         (test_signbitd): Avoid literal -0.0.
45420         (test_signbitl): Avoid literal -0.0L.
45421         * tests/test-ceilf1.c (zero): New variable.
45422         (main): Avoid literal -0.0f.
45423         * tests/test-ceill.c (zero): New variable.
45424         (main): Avoid literal -0.0L.
45425         * tests/test-floorf1.c (zero): New variable.
45426         (main): Avoid literal -0.0f.
45427         * tests/test-floorl.c (zero): New variable.
45428         (main): Avoid literal -0.0L.
45429         * tests/test-roundf1.c (zero): New variable.
45430         (main): Avoid literal -0.0f.
45431         * tests/test-round1.c (zero): New variable.
45432         (main): Avoid literal -0.0.
45433         * tests/test-roundl.c (zero): New variable.
45434         (main): Avoid literal -0.0L.
45435         * tests/test-truncf1.c (zero): New variable.
45436         (main): Avoid literal -0.0f.
45437         * tests/test-trunc1.c (zero): New variable.
45438         (main): Avoid literal -0.0.
45439         * tests/test-truncl.c (zero): New variable.
45440         (main): Avoid literal -0.0L.
45441         * tests/test-frexp.c (zero): New variable.
45442         (main): Avoid literal -0.0.
45443         * tests/test-frexpl.c (zero): New variable.
45444         (main): Avoid literal -0.0L.
45445         * tests/test-ldexpl.c (zero): New variable.
45446         (main): Avoid literal -0.0L.
45447         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
45448         (zerod, zerol): New variables.
45449         (test_function): Avoid literals -0.0, -0.0L.
45450         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
45451         (zerod, zerol): New variables.
45452         (test_function): Avoid literals -0.0, -0.0L.
45453         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
45454         (zerod, zerol): New variables.
45455         (test_function): Avoid literals -0.0, -0.0L.
45456         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
45457         (zerod, zerol): New variables.
45458         (test_function): Avoid literals -0.0, -0.0L.
45459         * tests/test-strtod.c (zero): New variable.
45460         (main): Avoid literal -0.0.
45461         Reported by Jonathan C. Patschke <jp@centtech.com>.
45462
45463 2008-07-31  Jim Meyering  <meyering@redhat.com>
45464
45465         sha256.h: correct definition of SHA224_DIGEST_SIZE
45466         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
45467         Reported by Paulie Pena IV <paulie4@gmail.com>.
45468         Define as 224 / 8, rather than as a literal.
45469         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
45470         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
45471         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
45472
45473 2008-07-31  Bruno Haible  <bruno@clisp.org>
45474
45475         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
45476         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
45477         Reported by Jonathan Patschke <jp@centtech.com>.
45478
45479 2008-07-31  Bruno Haible  <bruno@clisp.org>
45480
45481         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
45482         Reported by Paolo Bonzini <bonzini@gnu.org>.
45483
45484 2008-07-30  Eric Blake  <ebb9@byu.net>
45485
45486         test-strtod: allow compilation without -lm
45487         * tests/test-strtod.c (main): Avoid link dependence on fabs.
45488         Reported by Dennis Clarke <blastwave@gmail.com>.
45489
45490 2008-07-28  Jim Meyering  <meyering@redhat.com>
45491
45492         bootstrap: work also when there are no .po files in po/
45493         * build-aux/bootstrap (update_po_files): Complete the change
45494         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
45495
45496 2008-07-27  Jim Meyering  <meyering@redhat.com>
45497
45498         * users.txt: Add zile.
45499
45500 2008-07-26  Ben Pfaff  <blp@gnu.org>
45501
45502         Add missing dependencies on new m4/exponent[fdl].m4 files.
45503         * modules/isnanf-nolibm: Add m4/exponentf.m4.
45504         * modules/isnand-nolibm: Add m4/exponentd.m4.
45505         * modules/isnanl-nolibm: Add m4/exponentl.m4.
45506         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
45507         m4/isnan[fdl].m4, because the macros actually used moved.
45508         Reported by Jim Meyering.
45509
45510 2008-07-14  Ben Pfaff  <blp@gnu.org>
45511
45512         Add isinf module.
45513         * lib/isinf.c: New file.
45514         * lib/math.in.h: Define isinf macro if we have decided to replace
45515         it.
45516         * m4/isinf.m4: New file.
45517         * m4/math_h.m4: Initialize and substitute variables for isinf
45518         module.
45519         * modules/isinf: New file.
45520         * modules/isinf-tests: New file.
45521         * modules/math: Add substitutions for new module.
45522         * tests/test-isinf.c: New file.
45523         * doc/posix-functions/isinf.texi: Mention new module.
45524         * MODULES.html.sh: Mention new module.
45525
45526 2008-07-14  Ben Pfaff  <blp@gnu.org>
45527
45528         Factor out some macros for use by additional modules.
45529         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
45530         exponentf.m4.
45531         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
45532         exponentd.m4.
45533         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
45534         file exponentl.m4.
45535         * m4/exponentf.m4: New file.
45536         * m4/exponentd.m4: New file.
45537         * m4/exponentl.m4: New file.
45538         * modules/isnanf: Use new file m4/exponentf.m4.
45539         * modules/isnand: Use new file m4/exponentd.m4.
45540         * modules/isnanl: Use new file m4/exponentl.m4.
45541
45542 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
45543
45544         mktime.c: normalize tp->tm_isdst value to -1/0/1.
45545         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
45546         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
45547         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
45548
45549         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
45550         readlink on platforms without PATH_MAX.
45551
45552 2008-07-21  Eric Blake  <ebb9@byu.net>
45553
45554         Warn, not fail, on stale version.
45555         * top/GNUmakefile (_curr-ver): Tone down previous patch.
45556
45557         Don't allow installation with stale devel version number.
45558         * top/GNUmakefile (_is-install-target): New macro.
45559         (_curr-ver): Forbid installation with stale version number.
45560
45561 2008-07-20  Bruno Haible  <bruno@clisp.org>
45562
45563         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
45564         TESTS_ENVIRONMENT.
45565         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
45566
45567 2008-07-20  Bruno Haible  <bruno@clisp.org>
45568
45569         * lib/c-stack.h (c_stack_action): Add documentation.
45570         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
45571
45572 2008-07-20  Bruno Haible  <bruno@clisp.org>
45573
45574         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
45575         * modules/readlink (License): Likewise.
45576
45577 2008-07-17  Eric Blake  <ebb9@byu.net>
45578
45579         * modules/c-stack (Link): Fix typo.
45580
45581         Make c-stack use libsigsegv, when available.
45582         * modules/c-stack (Depends-on): Add libsigsegv.
45583         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
45584         needed.
45585         * lib/c-stack.c (SIGSTKSZ): Define fallback.
45586         (segv_handler, overflow_handler, c_stack_action)
45587         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
45588         implementation when libsigsegv is available, but only when using
45589         the library is necessary.
45590         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
45591         comment, explaining why XSI check fails on Linux.
45592         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
45593         * tests/test-c-stack2.sh: Tweak skip message.
45594         * NEWS: Document new link-time requirements.
45595
45596 2008-07-16  Eric Blake  <ebb9@byu.net>
45597
45598         c-stack: Expose false positives when not using libsigsegv.
45599         * modules/c-stack-tests (Files): Expand test.
45600         * tests/test-c-stack.c (main): Add means to conditionally trigger
45601         non-overflow SIGSEGV.
45602         * tests/test-c-stack2.sh: New file.
45603
45604 2008-07-14  Bruno Haible  <bruno@clisp.org>
45605
45606         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
45607         Reported by Eric Blake.
45608
45609 2008-07-14  Sam Steingold  <sds@gnu.org>
45610             Bruno Haible  <bruno@clisp.org>
45611
45612         New module libsigsegv.
45613         * modules/libsigsegv: New file.
45614         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
45615         modifications.
45616         * MODULES.html.sh (Signal handling): New section.
45617
45618 2008-07-14  Bruno Haible  <bruno@clisp.org>
45619
45620         * modules/unictype/ctype-* (Description): Add the word "function".
45621         Improves the resulting doc in MODULES.html.
45622
45623 2008-07-12  Ben Pfaff  <blp@gnu.org>
45624
45625         Add longlong module.
45626         * modules/longlong: New file.
45627
45628 2008-07-12  Bruno Haible  <bruno@clisp.org>
45629
45630         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
45631         to empty.
45632
45633 2008-07-10  Ben Pfaff  <blp@gnu.org>
45634
45635         Add isnan module.
45636         * doc/posix-functions/isnan.texi: Mention new module.
45637         * lib/math.in.h: Define isnan macro if we have decided to replace
45638         it.
45639         * m4/isnan.m4: New file.
45640         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
45641         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
45642         also.
45643         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
45644         redundancy.
45645         * m4/math_h.m4: Initialize and substitute variables for isnan
45646         module.
45647         * modules/isnan: New file.
45648         * modules/isnan-tests: New file.
45649         * modules/math: Add substitutions for new module.
45650         * tests/test-isnan.c: New file.
45651         * MODULES.html.sh: Mention new module.
45652
45653 2008-07-10  Ben Pfaff  <blp@gnu.org>
45654
45655         Add isnanf module.
45656         * lib/isnanf.m4: New file.
45657         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
45658         (gl_HAVE_ISNANF_IN_LIBM): New macro.
45659         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
45660         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
45661         * modules/isnanf: New file.
45662         * modules/isnanf-tests: New file.
45663         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
45664         files.
45665         * tests/test-isnanf-nolibm.c: factored most of its contents into
45666         new file tests/test-isnanf.h.
45667         * tests/test-isnanf.h: New file.
45668         * tests/test-isnanf.c: New file.
45669         * MODULES.html.sh: Mention new module.
45670         * doc/glibc-functions/isnanf.texi: Mention new module.
45671
45672 2008-07-10  Ben Pfaff  <blp@gnu.org>
45673
45674         Add isnand module.
45675         * lib/isnand.h: New file.
45676         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
45677         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
45678         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
45679         functionality also.
45680         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
45681         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
45682         (gl_HAVE_ISNAND_IN_LIBM): New macro.
45683         * modules/isnand: New file.
45684         * modules/isnand-tests: New file.
45685         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
45686         files.
45687         * tests/test-isnand-nolibm.c: factored most of its contents into
45688         new file tests/test-isnand.h.
45689         * tests/test-isnand.h: New file.
45690         * tests/test-isnand.c: New file.
45691         * MODULES.html.sh: Mention new module.
45692
45693 2008-07-10  Ben Pfaff  <blp@gnu.org>
45694
45695         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
45696         * lib/isnand.h: Rename lib/isnand-nolibm.h.
45697         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
45698         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
45699         * modules/isnanf-nolibm: Update references to renamed files.
45700         * modules/isnand-nolibm: Likewise.
45701         * modules/isnanf-nolibm-tests: Likewise.
45702         * modules/isnand-nolibm-tests: Likewise.
45703         * lib/frexp.c: Likewise.
45704         * lib/isfinite.c: Likewise.
45705         * lib/signbitd.c: Likewise.
45706         * lib/signbitf.c: Likewise.
45707         * lib/vasnprintf.c: Likewise.
45708         * tests/test-ceilf1.c: Likewise.
45709         * tests/test-ceilf2.c: Likewise.
45710         * tests/test-floorf1.c: Likewise.
45711         * tests/test-floorf2.c: Likewise.
45712         * tests/test-frexp.c: Likewise.
45713         * tests/test-round1.c: Likewise.
45714         * tests/test-round2.c: Likewise.
45715         * tests/test-roundf1.c: Likewise.
45716         * tests/test-strtod.c: Likewise.
45717         * tests/test-trunc1.c: Likewise.
45718         * tests/test-trunc2.c: Likewise.
45719         * tests/test-truncf1.c: Likewise.
45720         * tests/test-truncf2.c: Likewise.
45721         * NEWS: Mention the renamed header files.
45722
45723 2008-07-11  Jim Meyering  <meyering@redhat.com>
45724
45725         vc-list-files: make the last-resort awk code more portable
45726         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
45727         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
45728         does not support it.
45729
45730 2008-07-10  Eric Blake  <ebb9@byu.net>
45731
45732         Work with tar's bootstrap.
45733         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
45734         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
45735         an m4 comment.
45736
45737 2008-07-09  Jim Meyering  <meyering@redhat.com>
45738
45739         posix-shell.m4: fix typo that made this test malfunction
45740         * m4/posix-shell.m4: Remove capitalization in variable name.
45741
45742 2008-07-08  Bruno Haible  <bruno@clisp.org>
45743
45744         * m4/onceonly.m4: Update comments.
45745         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45746
45747 2008-07-04  Jim Meyering  <meyering@redhat.com>
45748
45749         * users.txt: Add vc-dwim.
45750         (bison, coreutils): Use the gitweb URL.
45751
45752 2008-07-03  Jim Meyering  <meyering@redhat.com>
45753
45754         * users.txt: Add libffcall.  From Sam Steingold.
45755
45756 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
45757
45758         getdate.y: do not ignore TZ with relative day, month or year offset
45759         * lib/getdate.y (get_date): Move the tz-handling block to follow the
45760         relative-date-handling, since otherwise, the latter would clobber the
45761         sole output (an updated Start value) of the tz-handling block.
45762         * tests/test-getdate.c: Tests for the fix
45763
45764 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45765
45766         Recognize 'foo_LIBRARIES += libgnu.a'.
45767         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
45768         makefile snippet has already specified an installation location,
45769         also using '+='.
45770
45771 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
45772
45773         getdate.y: factor out common actions
45774         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
45775         Use them in place of open-coded actions.
45776
45777 2008-07-01  Simon Josefsson  <simon@josefsson.org>
45778
45779         Add self-test for getdate module.
45780         * modules/getdate-tests: New file.
45781         * tests/test-getdate.c: New file.
45782
45783 2008-06-29  Bruno Haible  <bruno@clisp.org>
45784
45785         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
45786         .gitignore.
45787         Reported by Sylvain Beucler <beuc@beuc.net>.
45788
45789 2008-06-29  Bruno Haible  <bruno@clisp.org>
45790
45791         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
45792         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
45793
45794 2008-06-29  Bruno Haible  <bruno@clisp.org>
45795
45796         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
45797         EXTRA_DIST.
45798         Reported by Sylvain Beucler <beuc@beuc.net>.
45799
45800 2008-06-26  Jim Meyering  <meyering@redhat.com>
45801
45802         make several modules depend on the "open" module
45803         This provides slightly increased consistency when opening-for-write
45804         the name of a non-directory spelled with a trailing slash.
45805         * modules/chdir-safer: Likewise.
45806         * modules/chown: Likewise.
45807         * modules/clean-temp: Likewise.
45808         * modules/copy-file: Likewise.
45809         * modules/fchdir: Likewise.
45810         * modules/fcntl-safer: Likewise.
45811         * modules/pipe: Likewise.
45812         * modules/utime: Likewise.
45813         Prompted by Eric Blake and Bruno Haible.
45814
45815 2008-06-24  Andreas Schwab  <schwab@suse.de>
45816
45817         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
45818         literals can be used as initializers for global variables.
45819
45820 2008-06-23  Eric Blake  <ebb9@byu.net>
45821
45822         Make gnulib-cache.m4 easier to diff.
45823         * gnulib-tool (func_import): Allow newlines when reading cached
45824         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
45825
45826 2008-06-23  Bruno Haible  <bruno@clisp.org>
45827
45828         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
45829         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
45830         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
45831         m4/signalblocking.m4.
45832         (gl_PREREQ_SIGACTION): Don't invoke it.
45833         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
45834         gl_PREREQ_SIG_HANDLER_H.
45835         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
45836         Don't check for sigaction here.
45837
45838 2008-06-23  Bruno Haible  <bruno@clisp.org>
45839
45840         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
45841         (install_handlers): Don't set the SA_RESETHAND flag.
45842
45843 2008-06-23  Bruno Haible  <bruno@clisp.org>
45844
45845         * m4/sigaction.m4: Comment fixes.
45846         * lib/signal.in.h: Likewise.
45847
45848 2008-06-23  Eric Blake  <ebb9@byu.net>
45849
45850         Fix typo.
45851         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
45852
45853         Avoid SA_ namespace.
45854         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
45855         Reported by Ralf Wildenhues.
45856
45857         Avoid test failure due to SA_RESTORER.
45858         * tests/test-sigaction.c (SA_MASK): New macro.
45859         (main): Avoid failing due to extension flags being set.
45860         Reported by Jim Meyering.
45861
45862         Revert use of sig-handler.h in sigprocmask.c.
45863         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
45864         it requires the existence of struct sigaction.
45865         * lib/sigprocmask.c (handler_t): Restore typedef.
45866         (rpl_signal, old_handlers): Use local type.
45867
45868 2008-06-22  Bruno Haible  <bruno@clisp.org>
45869
45870         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
45871         conditionally.
45872         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45873
45874 2008-06-22  Bruno Haible  <bruno@clisp.org>
45875
45876         * doc/posix-functions/siginterrupt.texi: Move note.
45877
45878         * lib/signal.in.h (SA_RESTART): New macro.
45879         * lib/sigaction.c: Update comment.
45880
45881         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
45882
45883         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
45884         (gl_PREREQ_SIGPROCMASK): Invoke it.
45885         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
45886
45887         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
45888
45889         * lib/sigprocmask.c: Update a comment.
45890
45891 2008-06-21  Eric Blake  <ebb9@byu.net>
45892
45893         Use sigaction module rather than signal().
45894         * modules/c-stack (Depends-on): Add sigaction.
45895         * modules/fatal-signal (Depends-on): Likewise.
45896         * modules/nanosleep (Depends-on): Likewise.
45897         * modules/sigprocmask (Files): Add sig-handler.h.
45898         * modules/sigaction (Files): Likewise.
45899         * lib/sig-handler.h (get_handler): New file, suggested by Paul
45900         Eggert.
45901         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
45902         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
45903         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
45904         (init_fatal_signals): Likewise.
45905         * lib/nanosleep.c (rpl_nanosleep): Likewise.
45906         (siginterrupt): Delete fallback.
45907         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
45908         instead.
45909         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
45910         siginterrupt.
45911
45912         New module sigaction, for mingw.
45913         * modules/sigaction: New module...
45914         * modules/sigaction-tests: ...and its test.
45915         * m4/sigaction.m4: New file.
45916         * lib/sigaction.c: Likewise.
45917         * tests/test-sigaction.c: Likewise.
45918         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
45919         * modules/signal (Makefile.am): Likewise.
45920         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
45921         needed.
45922         * doc/posix-headers/signal.texi (signal.h): Mention provided
45923         types.
45924         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
45925         that sigaction is preferable.
45926         * doc/posix-functions/sigaction.texi (sigaction): Mention new
45927         module.
45928         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45929         sigaction.
45930
45931         Improve robustness of sigprocmask by overriding signal.
45932         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
45933         is in use.
45934         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
45935         (SIGKILL, SIGSTOP): Provide fallbacks.
45936         (rpl_signal): Implement.
45937         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
45938         signal can be called inside handlers.
45939
45940         Fix nanosleep module on mingw.
45941         * modules/nanosleep (Depends-on): Add sys_select.
45942         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
45943
45944         Fix licensing of sigprocmask.
45945         * modules/raise (License): Relicense as LGPL.
45946
45947 2008-06-21  Bruno Haible  <bruno@clisp.org>
45948
45949         * lib/propername.c (proper_name_utf8): Don't use the transliterated
45950         result if it contains question marks.
45951         Reported by Michael Geng <linux@michaelgeng.de>.
45952
45953 2008-06-19  Bruno Haible  <bruno@clisp.org>
45954
45955         Fix CVS-ism.
45956         * doc/gnulib.texi: Include updated-stamp.texi.
45957         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
45958         (updated-stamp.texi): New rule.
45959         (gnulib.info): Depend on it.
45960         * doc/.gitignore: Add updated-stamp.texi.
45961         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
45962
45963 2008-06-19  Bruno Haible  <bruno@clisp.org>
45964
45965         * doc/Makefile (gnulib.info): Update and simplify dependencies.
45966         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45967
45968 2008-06-19  Eric Blake  <ebb9@byu.net>
45969
45970         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
45971         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
45972         Reported by Stepan Kasal.
45973
45974 2008-06-18  Bruno Haible  <bruno@clisp.org>
45975
45976         * lib/fatal-signal.c (init_fatal_signals): Add comment.
45977         Reported by Eric Blake.
45978
45979 2008-06-18  Eric Blake  <ebb9@byu.net>
45980
45981         Work around cygwin 1.5.25 strsignal bug.
45982         * tests/test-strsignal.c: Allow for const char *.
45983         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
45984
45985 2008-06-18  Simon Josefsson  <simon@josefsson.org>
45986
45987         * users.txt: Update URL to article and add author/date
45988         information.
45989
45990 2008-06-17  Bruno Haible  <bruno@clisp.org>
45991
45992         New macro gl_DISABLE_THREADS.
45993         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
45994         if the user did not pass --enable-threads or --disable-threads option.
45995         (gl_DISABLE_THREADS): New macro.
45996         Reported by Eric Blake <ebb9@byu.net>.
45997
45998 2008-06-17  Bruno Haible  <bruno@clisp.org>
45999
46000         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
46001         when the macro ignores it.
46002         Based on a patch by Eric Blake <ebb9@byu.net>.
46003
46004 2008-06-17  Bruno Haible  <bruno@clisp.org>
46005
46006         * modules/tls (License): Change to LGPLv2+.
46007         Reported by Eric Blake.
46008
46009 2008-06-17  Eric Blake  <ebb9@byu.net>
46010
46011         Simplify c-stack prerequisites.
46012         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
46013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
46014         no longer requires <ucontext.h> to exist.  Optimize setrlimit
46015         check.
46016         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
46017         <sys/resource.h>.
46018
46019         Move c-stack test into testsuite.
46020         * modules/c-stack-tests: New file.
46021         * lib/c-stack.c [DEBUG]: Move test program...
46022         * tests/test-c-stack.c: ...into this new file.  Skip rather than
46023         fail test if sigaltstack is lacking.
46024         * tests/test-c-stack.sh: New driver file.
46025
46026 2008-06-16  Eric Blake  <ebb9@byu.net>
46027
46028         Use raise module consistently.
46029         * modules/fatal-signal (Depends-on): Add raise.
46030         * modules/sigprocmask (Depends-on): Likewise.
46031         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
46032         * lib/sigprocmask.c (sigprocmask): Likewise.
46033         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
46034         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
46035
46036         Fix compliance bug in sigpending.
46037         * lib/sigprocmask.c (sigpending): Return pending array via
46038         parameter, not return value.
46039
46040 2008-06-14  Eric Blake  <ebb9@byu.net>
46041
46042         Improve obstack-printf test code.
46043         * tests/test-obstack-printf.c (test_function): Fix comment, and
46044         simplify usage of obstack_* in macros.  Add a test for coverage.
46045         Reported by Bruno Haible.
46046
46047 2008-06-14  Bruno Haible  <bruno@clisp.org>
46048
46049         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
46050         array size as a constant, not as a const variable.
46051         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
46052         AC_USE_SYSTEM_EXTENSIONS.
46053         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46054         Test whether the obstack_printf function actually exists.
46055         * modules/obstack-printf (Depends-on): Add extensions.
46056         (Include): Remove obstack.h.
46057         * modules/obstack-printf-posix (Depends-on): Add extensions.
46058         (Include): Remove obstack.h.
46059
46060 2008-06-13  Eric Blake  <ebb9@byu.net>
46061
46062         Add obstack-printf and obstack-printf-posix modules.
46063         * modules/obstack-printf: New file.
46064         * modules/obstack-printf-posix: Likewise.
46065         * MODULES.html.sh (Misc): Mention them.
46066         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46067         Likewise.
46068         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46069         Likewise.
46070         * modules/stdio (Makefile.am): Accomodate new modules.
46071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46072         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
46073         Declare.
46074         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
46075         functions.
46076         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
46077         (gl_REPLACE_OBSTACK_PRINTF): New macros
46078         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
46079         * tests/test-obstack-printf.c: New file.
46080         * modules/obstack-printf-tests: Likewise.
46081         * modules/obstack-printf-posix-tests: Likewise.
46082
46083 2008-06-11  Bruno Haible  <bruno@clisp.org>
46084
46085         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
46086         * lib/open.c: Include errno.h.
46087         (open): Fail when attempting to write to a file that has a trailing
46088         slash.
46089         * tests/test-open.c (main): Test against trailing slash bug.
46090         * doc/posix-functions/open.texi: Mention the trailing slash bug.
46091
46092 2008-06-10  Bruno Haible  <bruno@clisp.org>
46093
46094         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
46095         for $? to work inside the trap command, with various /bin/sh-s.
46096         * tests/test-vc-list-files-cvs.sh: Likewise.
46097
46098 2008-06-10  Bruno Haible  <bruno@clisp.org>
46099
46100         * lib/acl-internal.h: Don't include gettext.h here.
46101         * lib/set-mode-acl.c: Include gettext.h here.
46102         * lib/copy-acl.c: Likewise.
46103
46104 2008-06-10  Bruno Haible  <bruno@clisp.org>
46105
46106         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
46107         * lib/wait-process.c (wait_subprocess): Likewise.
46108         * lib/execute.h (execute): Add termsigp argument.
46109         * lib/execute.c (execute): Likewise.
46110         * lib/csharpcomp.c (compile_csharp_using_pnet,
46111         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
46112         * lib/csharpexec.c (execute_csharp_using_pnet,
46113         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
46114         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
46115         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
46116         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
46117         is_jikes_present): Update.
46118         * lib/javaexec.c (execute_java_class): Update.
46119         * lib/javaversion.c (execute_and_read_line): Update.
46120         * NEWS: Document the changes.
46121         Reported by Eric Blake.
46122
46123 2008-06-10  Eric Blake  <ebb9@byu.net>
46124
46125         Add missing include.
46126         * tests/test-strstr.c (includes): Add <signal.h>.
46127         * tests/test-strcasestr.c (includes): Likewise.
46128         * tests/test-memmem.c (includes): Likewise.
46129
46130 2008-06-10  Bruno Haible  <bruno@clisp.org>
46131
46132         * lib/wait-process.c (wait_subprocess): Add an assertion.
46133
46134 2008-06-10  Bruno Haible  <bruno@clisp.org>
46135
46136         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
46137
46138 2008-06-10  Bruno Haible  <bruno@clisp.org>
46139
46140         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
46141         using alarm().
46142         * tests/test-strcasestr.c (main): Likewise.
46143         * tests/test-strstr.c (main): Likewise.
46144
46145 2008-06-09  Bruno Haible  <bruno@clisp.org>
46146
46147         Work around the Solaris 10 ACE ACLs ABI change.
46148         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
46149         declare if ACL_NO_TRIVIAL is present.
46150         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
46151         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
46152         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
46153         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
46154         define if ACL_NO_TRIVIAL is present.
46155         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
46156         and use the current ABI.
46157         (file_has_acl): Use same #if condition as elsewhere.
46158         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
46159         in use, and use the current ABI.
46160         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
46161         Reported by Jim Meyering.
46162
46163 2008-06-09  Eric Blake  <ebb9@byu.net>
46164
46165         Work around environments that (stupidly) ignore SIGALRM.
46166         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
46167         before using alarm().
46168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46169         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46170         Reported by Ian Beckwith <ianb@erislabs.net>.
46171
46172         Produce autobuild blurb earlier in log.
46173         * modules/autobuild (configure.ac-early): Move AB_INIT here.
46174
46175 2008-06-09  Jim Meyering  <meyering@redhat.com>
46176         and OndÅ™ej Vašík  <ovasik@redhat.com>
46177
46178         utimens.c: correct kernel bug work-around
46179         OndÅ™ej Vašík found that the invalid return value of 280 indicates
46180         failure, not success, and the kernel bug we're trying to work
46181         around affects not just the utimensat call, but also the fallback
46182         futimens call.
46183         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
46184         not success.
46185         [HAVE_FUTIMENS]: Use the same work-around, here.
46186
46187 2008-06-09  Jim Meyering  <meyering@redhat.com>
46188
46189         add more guards around definition of ACE_-related code
46190         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
46191         ALLOW and ACE_OWNER are also defined.
46192
46193 2008-06-08  Bruno Haible  <bruno@clisp.org>
46194
46195         * lib/acl-internal.h: Add me as co-author.
46196         * lib/file-has-acl.c: Likewise.
46197         * lib/set-mode-acl.c: Likewise.
46198         * lib/copy-acl.c: Likewise.
46199
46200 2008-06-08  Bruno Haible  <bruno@clisp.org>
46201
46202         Add support for AIX ACLs.
46203         * lib/acl-internal.h (acl_nontrivial): New declaration.
46204         * lib/file-has-acl.c (acl_nontrivial): New function.
46205         (file_has_acl): Add implementation using AIX 4 ACL API.
46206         * lib/set-mode-acl.c (qset_acl): Likewise.
46207         * lib/copy-acl.c (qcopy_acl): Likewise.
46208
46209 2008-06-08  Bruno Haible  <bruno@clisp.org>
46210
46211         Add support for HP-UX ACLs.
46212         * lib/acl-internal.h (acl_nontrivial): New declaration.
46213         * lib/file-has-acl.c (acl_nontrivial): New function.
46214         (file_has_acl): Add implementation using HP-UX 11 ACL API.
46215         * lib/set-mode-acl.c (qset_acl): Likewise.
46216         * lib/copy-acl.c (qcopy_acl): Likewise.
46217
46218 2008-06-08  Bruno Haible  <bruno@clisp.org>
46219
46220         Add support for Cygwin ACLs.
46221         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
46222         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
46223         the chmod_or_fchmod call.
46224         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
46225
46226 2008-06-08  Bruno Haible  <bruno@clisp.org>
46227
46228         Fix bug with setuid modes in Solaris 10+ code.
46229         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
46230         succeeded, when the mode contains some special bits.
46231
46232 2008-06-08  Bruno Haible  <bruno@clisp.org>
46233
46234         Add support for Solaris 7..10 ACLs.
46235         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
46236         declarations.
46237         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
46238         functions.
46239         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
46240         * lib/set-mode-acl.c (qset_acl): Likewise.
46241         * lib/copy-acl.c (qcopy_acl): Likewise.
46242
46243 2008-06-08  Bruno Haible  <bruno@clisp.org>
46244
46245         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
46246         declaration.
46247         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
46248         (acl_access_nontrivial): Remove MacOS X case.
46249         (file_has_acl): Use acl_extended_nontrivial.
46250         * lib/copy-acl.c (qcopy_acl): Likewise.
46251
46252 2008-06-08  Bruno Haible  <bruno@clisp.org>
46253
46254         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
46255
46256 2008-06-08  Jim Meyering  <meyering@redhat.com>
46257
46258         * modules/acl (Maintainer): Add Bruno Haible.
46259
46260 2008-06-07  Bruno Haible  <bruno@clisp.org>
46261
46262         Improve support for Tru64 ACLs.
46263         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
46264         ACL on OSF/1.
46265
46266 2008-06-07  Bruno Haible  <bruno@clisp.org>
46267
46268         Add support for MacOS X ACLs.
46269         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
46270         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
46271         * lib/set-mode-acl.c (qset_acl): Likewise.
46272         * lib/copy-acl.c (qcopy_acl): Likewise.
46273
46274 2008-06-07  Bruno Haible  <bruno@clisp.org>
46275
46276         Fix memory leak introduced on 2008-05-22.
46277         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
46278         use.
46279
46280 2008-06-07  Bruno Haible  <bruno@clisp.org>
46281
46282         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
46283         to construct an empty ACL.
46284
46285 2008-06-07  Bruno Haible  <bruno@clisp.org>
46286
46287         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
46288         precisely.
46289         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
46290
46291 2008-06-07  Bruno Haible  <bruno@clisp.org>
46292
46293         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
46294         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
46295
46296 2008-06-07  Bruno Haible  <bruno@clisp.org>
46297
46298         * doc/posix-functions/_setjmp.texi: Explain the use of this function
46299         regardless of POSIX.
46300         * doc/posix-functions/_longjmp.texi: Likewise.
46301         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
46302         SystemV platform in this case.
46303
46304 2008-06-06  Eric Blake  <ebb9@byu.net>
46305
46306         Document abort() bugs.
46307         * doc/posix-functions/abort.texi (abort): Mention anomalies.
46308
46309         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
46310         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
46311         sigsetjmp.
46312         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
46313         siglongjmp, but only as a macro.
46314         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
46315         is obsolete.
46316         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
46317
46318         Tweak documentation to cover cygwin argz bugs.
46319         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
46320         argz bug fix; no code change needed since no cygwin releases
46321         occurred between the last fix and the bug being tested.
46322         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
46323         module and recently fixed cygwin bugs.
46324         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
46325         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
46326         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
46327         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
46328         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
46329         Likewise.
46330         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
46331         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
46332         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
46333         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
46334         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
46335         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
46336         Likewise.
46337
46338         Avoid gcc warning on cygwin.
46339         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
46340         !ACL_NO_TRIVIAL]: Avoid unused variable.
46341
46342 2008-06-05  Eric Blake  <ebb9@byu.net>
46343
46344         Be tolerant of UNKNOWN version in gnulib-tool test dir.
46345         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
46346         git-version-gen fails to come up with a version.
46347         Reported by Simon Josefsson.
46348
46349 2008-06-05  Jim Meyering  <meyering@redhat.com>
46350             Paul Eggert  <eggert@cs.ucla.edu>
46351
46352         utimens.c: work around a probable Linux kernel bug
46353         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
46354         appears to be a kernel bug that causes utimensat to return 280
46355         instead of 0, indicating success.
46356
46357 2008-06-04  Bruno Haible  <bruno@clisp.org>
46358
46359         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
46360         2008-06-01 commit.
46361
46362 2008-06-04  Bruno Haible  <bruno@clisp.org>
46363
46364         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
46365         * lib/file-has-acl.c (acl_access_nontrivial): New function.
46366         (file_has_acl): Use it. Save errno afterwards.
46367         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
46368
46369 2008-06-03  Bruno Haible  <bruno@clisp.org>
46370
46371         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
46372         draft code. Simplify #ifs.
46373         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
46374         Put Solaris code after POSIX-draft code. Fix comments regarding
46375         Solaris 10, HP-UX. Mention Cygwin.
46376         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
46377
46378 2008-06-03  Eric Blake  <ebb9@byu.net>
46379
46380         Provide fallback for older kernels.
46381         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
46382         Provide runtime fallback if kernel lacks support.
46383         Reported by Mike Frysinger.
46384
46385 2008-06-02  Bruno Haible  <bruno@clisp.org>
46386
46387         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
46388         it exists.
46389
46390 2008-06-02  Bruno Haible  <bruno@clisp.org>
46391
46392         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
46393         * lib/copy-acl.c (qcopy_acl): Update comment.
46394
46395 2008-06-02  Bruno Haible  <bruno@clisp.org>
46396
46397         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
46398         like ACL APIs.
46399
46400 2008-06-02  Bruno Haible  <bruno@clisp.org>
46401
46402         * tests/test-file-has-acl.sh: Use different code for Cygwin.
46403         * tests/test-set-mode-acl.sh: Likewise.
46404         * tests/test-copy-acl.sh: Likewise.
46405         * tests/test-copy-file.sh: Likewise.
46406
46407 2008-06-02  Bruno Haible  <bruno@clisp.org>
46408
46409         * tests/test-file-has-acl.sh: Remove unused code.
46410
46411 2008-06-01  Bruno Haible  <bruno@clisp.org>
46412
46413         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
46414         (copy_acl): Just a wrapper around qcopy_acl that emits the error
46415         messages.
46416         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
46417
46418 2008-06-01  Bruno Haible  <bruno@clisp.org>
46419
46420         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
46421         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
46422         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
46423         APIs.
46424         * modules/acl-tests (configure.ac): Remove tests now contained in
46425         m4/acl.m4.
46426
46427 2008-06-02  Jim Meyering  <meyering@redhat.com>
46428
46429         announce-gen: use a better key-server host name
46430         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
46431         it may be more consistently reliable.  Suggested by Werner Koch
46432         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
46433
46434 2008-06-01  Bruno Haible  <bruno@clisp.org>
46435
46436         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
46437         Reported by Voroskoi Andras <voroskoi@gmail.com>.
46438
46439 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
46440
46441         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
46442
46443 2008-06-01  Bruno Haible  <bruno@clisp.org>
46444
46445         New ACL tests.
46446         * tests/test-file-has-acl.sh: New file.
46447         * tests/test-file-has-acl.c: New file.
46448         * tests/test-set-mode-acl.sh: New file.
46449         * tests/test-set-mode-acl.c: New file.
46450         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
46451         * tests/test-copy-acl.c: New file.
46452         * modules/acl-tests: New file, based on modules/copy-file-tests.
46453         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
46454         (Depends-on): Add acl-tests.
46455         (configure.ac): Remove checks.
46456         (Makefile.am): Don't create test-sameacls program here any more.
46457
46458 2008-06-01  Bruno Haible  <bruno@clisp.org>
46459
46460         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
46461         * tests/test-sameacls.c: Include progname.h.
46462         (main): Invoke set_program_name. Portability fixes for MacOS X,
46463         Solaris, HP-UX.
46464
46465 2008-06-01  Bruno Haible  <bruno@clisp.org>
46466
46467         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
46468         function.
46469         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
46470
46471 2008-06-01  Bruno Haible  <bruno@clisp.org>
46472
46473         * modules/rpmatch (Depends-on): Add strdup.
46474
46475 2008-06-01  Bruno Haible  <bruno@clisp.org>
46476
46477         * lib/pipe.c: Include unistd-safer.h.
46478         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
46479         * modules/pipe (Depends-on): Add unistd-safer.
46480
46481 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46482
46483         * modules/autobuild (configure.ac): Call AB_INIT.
46484
46485 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46486
46487         * tests/test-getaddrinfo.c: Don't print debug messages by default.
46488         Suggested by Bruno Haible <bruno@clisp.org>.
46489
46490 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46491
46492         * tests/test-base64.c: Cast size_t to unsigned long when invoking
46493         printf.  Use %lu instead of %d.  Reported by Bruno Haible
46494         <bruno@clisp.org>.
46495
46496 2008-05-29  Eric Blake  <ebb9@byu.net>
46497
46498         Prefer new POSIX 200x interfaces over futimesat.
46499         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
46500         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
46501         when available.
46502         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
46503
46504 2008-05-28  Bruno Haible  <bruno@clisp.org>
46505
46506         * modules/stpcpy (License): Change to LGPLv2+.
46507         Requested by David Lutterkort <dlutter@redhat.com>.
46508
46509 2008-05-27  Bruno Haible  <bruno@clisp.org>
46510
46511         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
46512         current mingw.
46513         Reported by Jose E. Marchesi <jemarch@gnu.org>.
46514
46515 2008-05-27  Bruno Haible  <bruno@clisp.org>
46516
46517         * modules/iconv_open (Link): New section, from module 'iconv'.
46518         * modules/striconv (Link): Likewise.
46519         * modules/striconveh (Link): Likewise.
46520         * modules/xstriconv (Link): Likewise.
46521         * modules/unicodeio (Link): Likewise.
46522         * modules/propername (Link): Likewise.
46523         Reported by Jim Meyering.
46524
46525 2008-05-26  Jim Meyering  <meyering@redhat.com>
46526
46527         sha256: do not artificially restrict buffer length to be < 2^32
46528         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
46529         uint32_t to size_t.
46530         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
46531         to match.
46532
46533         avoid unaligned access errors, e.g., on sparc
46534         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
46535         direct access through a possibly-unaligned uint64* pointer.
46536         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
46537         direct access through a possibly-unaligned uint32* pointer.
46538         Prompted by this patch from Tom "spot" Callaway:
46539         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
46540
46541         sha512.c: fix typo in comment
46542         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
46543
46544 2008-05-25  Bruno Haible  <bruno@clisp.org>
46545
46546         * lib/set-mode-acl.c: Renamed from lib/acl.c.
46547         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
46548         (Makefile.am): Update lib_SOURCES.
46549
46550 2008-05-25  Bruno Haible  <bruno@clisp.org>
46551
46552         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
46553
46554 2008-05-25  Jim Meyering  <meyering@redhat.com>
46555
46556         useless-if-before-free: freed expr may have white-space differences
46557         * build-aux/useless-if-before-free: Recognize cases in which the
46558         freed expression differs from the tested one in embedded white
46559         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
46560         $1 was used, so we can't make any regexp shy.  Improved tests now
46561         detect this.
46562
46563         useless-if-before-free: accept white space in the expression.
46564         * build-aux/useless-if-before-free: For now, any white space
46565         in the expression must be identical in the free argument.
46566
46567         useless-if-before-free: efficiency tweak
46568         * build-aux/useless-if-before-free: Make the expression-matching
46569         regexp "shy".
46570         Make the *outer* regexp shy, not the expr-matching one.
46571
46572         update code-in-comment to accept cast of free arg
46573         * build-aux/useless-if-before-free: Update regexp.
46574
46575 2008-05-25  Bruno Haible  <bruno@clisp.org>
46576
46577         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
46578         * modules/copy-file-tests (Files, Makefile.am): Update.
46579         * tests/test-copy-file.c (func_test_copy): Update.
46580
46581 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
46582
46583         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
46584
46585 2008-05-23  Bruno Haible  <bruno@clisp.org>
46586
46587         Improve support for ACLs on OSF/1.
46588         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
46589         Remove fallback for unknown flavors of ACLs.
46590
46591 2008-05-22  Bruno Haible  <bruno@clisp.org>
46592
46593         Add support for ACLs on OSF/1.
46594         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
46595         replacements.
46596         (acl_free_text): New macro fallback.
46597         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
46598         acl_free.
46599         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
46600         acl_free_text function. Require AC_C_INLINE.
46601
46602 2008-05-22  Bruno Haible  <bruno@clisp.org>
46603
46604         Make copy_acl work on MacOS X 10.5.
46605         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
46606         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
46607         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
46608         If MODE_INSIDE_ACL, don't assume that every system has the same text
46609         representation for ACLs as FreeBSD.
46610         * lib/copy-acl.c (copy_acl): Add support for platforms with
46611         !MODE_INSIDE_ACL.
46612         * lib/file-has-acl.c (file_has_acl): Likewise.
46613         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
46614         FreeBSD, MacOS X, or IRIX, respectively.
46615
46616 2008-05-22  Bruno Haible  <bruno@clisp.org>
46617
46618         * lib/acl.h: Don't include <sys/acl.h>.
46619         (GETACLCNT): Move fallback to lib/acl-internal.h.
46620         * lib/acl-internal.h: Include <sys/acl.h> here.
46621         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
46622
46623 2008-05-22  Bruno Haible  <bruno@clisp.org>
46624
46625         Split off copy_acl function to separate file.
46626         * lib/copy-acl.c: New file, extracted from lib/acl.c.
46627         * lib/acl.c (copy_acl): Moved function to separate file.
46628         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
46629         * modules/acl (Files): Add lib/copy-acl.c.
46630         (Makefiles.am): Augment lib_SOURCES.
46631
46632 2008-05-22  Bruno Haible  <bruno@clisp.org>
46633
46634         * modules/copy-file-tests: New file.
46635         * tests/test-copy-file.sh: New file.
46636         * tests/test-copy-file.c: New file.
46637         * tests/test-copy-file-sameacls.c: New file.
46638
46639 2008-05-22  Eric Blake  <ebb9@byu.net>
46640
46641         Avoid gcc warning.
46642         * tests/test-memcmp.c (main): Pass NULL indirectly.
46643
46644 2008-05-21  Bruno Haible  <bruno@clisp.org>
46645
46646         Add reference doc about ACLs.
46647         * doc/acl-resources.txt: New file.
46648         * doc/acl-cygwin.txt: New file.
46649
46650 2008-05-21  Bruno Haible  <bruno@clisp.org>
46651
46652         Avoid one more warning from gcc.
46653         * lib/vasnprintf.c (IF_LINT): Update comments.
46654         (VASNPRINTF): Use it also for the 'prefix' array initializer.
46655
46656 2008-05-21  Jim Meyering  <meyering@redhat.com>
46657
46658         avoid a warning from gcc
46659         * lib/vasnprintf.c (IF_LINT): Define.
46660         (scale10_round_decimal_long_double):
46661         Use it to avoid a "may be used uninitialized" warning.
46662         (scale10_round_decimal_double): Likewise.
46663
46664 2008-05-21  Simon Josefsson  <simon@josefsson.org>
46665
46666         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
46667         declared.
46668
46669 2008-05-20  Bruno Haible  <bruno@clisp.org>
46670
46671         * tests/test-memcmp.c (main): Test also the sign of the result. Test
46672         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
46673
46674 2008-05-20  Simon Josefsson  <simon@josefsson.org>
46675
46676         * modules/memcmp-tests: New file.
46677         * tests/test-memcmp.c: New file.
46678
46679 2008-05-19  Bruno Haible  <bruno@clisp.org>
46680
46681         * modules/propername (Notice, configure.ac): Put quoted "..." into
46682         --keyword option.
46683         * lib/propername.h: Update comments accordingly.
46684         Reported by Eric Blake.
46685
46686 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
46687
46688         * modules/getpass-gnu (Depends-on): Add fseeko.
46689
46690 2008-05-19  Simon Josefsson  <simon@josefsson.org>
46691
46692         * modules/base64-tests: New file.
46693
46694 2008-05-19  Bo Borgerson <gigabo@gmail.com>
46695
46696         * lib/base64.c (base64_decode_ctx): If a decode context structure
46697         was passed in use it to ignore newlines.  If a context structure
46698         was _not_ passed in, continue to treat newlines as garbage (this
46699         is the historical behavior).  Formerly base64_decode.
46700         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
46701         takes a decode context structure.
46702         * lib/base64.h (base64_decode): Macro for four-argument calls.
46703         (base64_decode_alloc): Likewise.
46704         * lib/base64.c (base64_decode_ctx): If a decode context structure
46705         was passed in use it to ignore newlines.  If a context structure
46706         was _not_ passed in, continue to treat newlines as garbage (this
46707         is the historical behavior).  Formerly base64_decode.
46708         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
46709         takes a decode context structure.
46710         * lib/base64.h (base64_decode): Macro for four-argument calls.
46711         (base64_decode_alloc): Likewise.
46712
46713 2008-05-19  Jim Meyering  <meyering@redhat.com>
46714
46715         avoid a warning from gcc
46716         * lib/trim.c (IF_LINT): Define.
46717         (trim2): Use it to avoid a "may be used uninitialized" warning.
46718
46719         Fix doc typo.
46720         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
46721
46722 2008-05-19  Bruno Haible  <bruno@clisp.org>
46723
46724         * doc/glibc-functions/getpass.texi: Document limits of other
46725         implementations.
46726
46727 2008-05-19  Simon Josefsson  <simon@josefsson.org>
46728             Bruno Haible <bruno@clisp.org>
46729
46730         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
46731
46732 2008-05-18  Bruno Haible  <bruno@clisp.org>
46733
46734         * modules/propername: New file, from GNU gettext.
46735         * lib/propername.h: New file, from GNU gettext.
46736         * lib/propername.c: New file, from GNU gettext.
46737         * MODULES.html.sh (Internationalization functions): Add propername.
46738
46739 2008-05-16  Jim Meyering  <meyering@redhat.com>
46740             Bruno Haible  <bruno@clisp.org>
46741
46742         Avoid some warnings from "gcc -Wshadow".
46743         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
46744
46745 2008-05-15  Eric Blake  <ebb9@byu.net>
46746
46747         Extend previous patch to cygwin 1.7.0.
46748         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
46749         fast implementation in cygwin >= 1.7.0.
46750         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46752
46753 2008-05-15  Bruno Haible  <bruno@clisp.org>
46754
46755         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
46756         implementation in glibc >= 2.9.
46757         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46758         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46759
46760 2008-05-15  Bruno Haible  <bruno@clisp.org>
46761
46762         * MODULES.html.sh (Internationalization functions): Remove linebreak.
46763         (Unicode string functions): Add unilbrk/*.
46764         Reported by Karl Berry.
46765
46766 2008-05-15  Eric Blake  <ebb9@byu.net>
46767
46768         Fix violation of <stdbool.h> replacement in regex.
46769         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
46770         * lib/regexec.c (re_search_internal): Likewise.
46771         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
46772
46773 2008-05-15  Jim Meyering  <meyering@redhat.com>
46774
46775         avoid distracting test output when git or cvs is not found
46776         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
46777         * tests/test-vc-list-files-git.sh: Likewise.
46778
46779 2008-05-15  Eric Blake  <ebb9@byu.net>
46780
46781         Glibc finally accepted the memmem speedup code, bugzilla #5514.
46782         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
46783         glibc version.
46784         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46785         * doc/posix-functions/strstr.texi (strstr): Likewise.
46786         * lib/str-two-way.h (MAX): Sychronize with glibc.
46787
46788 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
46789
46790         * lib/regcomp.c (optimize_utf8): Add a note on why we test
46791         opr.ctx_type.
46792         (calc_first): Initialize constraint field.
46793         (duplicate_node_closure): Use it instead of special casing ANCHORS.
46794         Fix grammar.
46795         (duplicate_node): Merge constraint field for all node types.
46796         (calc_eclosure_iter): Look at constraint field for all node types.
46797         * lib/regex_internal.c (create_cd_newstate): Don't look at
46798         opr.ctx_type.
46799
46800 2008-05-14  Bruno Haible  <bruno@clisp.org>
46801
46802         Help GCC to do better code generation.
46803         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
46804         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
46805         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
46806         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
46807         Declare with attribute 'malloc' if supported.
46808
46809 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
46810
46811         use "echo STR|wc -c" rather than unportable "expr length STR"
46812         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
46813         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
46814
46815 2008-05-14  Jim Meyering  <meyering@redhat.com>
46816
46817         use dd ibs=$n count=1 ... rather than less-portable head -c$n
46818         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
46819         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
46820         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
46821         via Collin Lasse.
46822
46823 2008-05-14  Eric Blake  <ebb9@byu.net>
46824
46825         Avoid quadratic growth in gl_LIBSOURCES.
46826         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
46827         Suggested by Bruno Haible.
46828
46829         Test xmemdup0.
46830         * modules/xmemdup0-tests: New file.
46831         * tests/test-xmemdup0.c: Likewise.
46832
46833 2008-05-13  Eric Blake  <ebb9@byu.net>
46834
46835         Split xmemdup0 into its own module.
46836         * modules/xmemdup0: New file.
46837         * lib/xmemdup0.h: Likewise.
46838         * lib/xmemdup0.c: Likewise.
46839         * MODULES.html.sh (Memory management functions): Add xmemdup0.
46840         * lib/xalloc.h (xmemdup0): Remove.
46841         * lib/xmalloc.c (xmemdup0): Likewise.
46842
46843 2008-05-13  Eric Blake  <ebb9@byu.net>
46844             Bruno Haible  <bruno@clisp.org>
46845
46846         Reduce number of forks required during autoconf.
46847         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
46848         and gl_LIBSOURCES_DIR.
46849         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
46850         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
46851         m4_syscmd per file.
46852         <m4_foreach_w>: Move...
46853         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
46854
46855 2008-05-13  Eric Blake  <ebb9@byu.net>
46856
46857         * gnulib-tool: Fix various comment typos.
46858
46859 2008-05-12  Bruno Haible  <bruno@clisp.org>
46860
46861         Tailor the linebreaking algorithm.
46862         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
46863
46864 2008-05-12  Bruno Haible  <bruno@clisp.org>
46865
46866         Update to Unicode 5.0.0.
46867         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
46868         LBP_JV, LBP_JT. Redistribute values.
46869         (unilbrk_table): Change size.
46870         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
46871         Unicode TR#14 rev. 22.
46872         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
46873         LBP_JV, LBP_JT. Redistribute values.
46874         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
46875         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
46876         Update.
46877         * lib/unilbrk/lbrkprop1.h: Regenerated.
46878         * lib/unilbrk/lbrkprop2.h: Regenerated.
46879         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
46880         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
46881         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
46882         Likewise.
46883         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
46884         Likewise.
46885         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
46886         result.
46887         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
46888         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
46889         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
46890         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
46891         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
46892         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
46893
46894 2008-05-11  Bruno Haible  <bruno@clisp.org>
46895
46896         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
46897
46898 2008-05-11  Bruno Haible  <bruno@clisp.org>
46899
46900         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
46901         * modules/unilbrk/gen-lbrk: New file.
46902
46903 2008-05-11  Bruno Haible  <bruno@clisp.org>
46904
46905         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
46906         * m4/sha512.m4 (gl_SHA512): Likewise.
46907
46908 2008-05-11  Jim Meyering  <meyering@redhat.com>
46909
46910         New modules: crypto/sha256, crypto/sha512 (from coreutils)
46911         * modules/crypto/sha256: New file.
46912         * modules/crypto/sha512: Likewise.
46913         * lib/sha256.c: Likewise.
46914         * lib/sha256.h: Likewise.
46915         * lib/sha512.c: Likewise.
46916         * lib/sha512.h: Likewise.
46917         * lib/u64.h: Likewise.
46918         * m4/sha256.m4: Likewise.
46919         * m4/sha512.m4: Likewise.
46920         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
46921
46922 2008-05-10  Bruno Haible  <bruno@clisp.org>
46923
46924         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
46925         (Input/Output <stdio.h>): Add xprintf.
46926         (Signal handling <signal.h>): Add strsignal.
46927         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
46928         (Core language properties): Add func.
46929         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
46930         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
46931         strings.
46932         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
46933         (Input/output): New section.
46934         (File system functions): Add openat-die, stat-macros.
46935         (Networking functions): Add sockets.
46936         (Unicode string functions): Add unictype/*.
46937         (Support for building libraries and executables): Add gperf.
46938         (Support for building documentation): Add agpl-3.0.
46939         (Misc): Add nocrash.
46940
46941 2008-05-10  Bruno Haible  <bruno@clisp.org>
46942
46943         * modules/unictype/gen-ctype: New file.
46944
46945 2008-05-10  Jim Meyering  <meyering@redhat.com>
46946
46947         Make chdir-safer.c more efficient on a system with no symlinks.
46948         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
46949         also if ELOOP is zero.  Suggested by Bruno Haible.
46950
46951         Make chdir-safer.c slightly safer.
46952         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
46953         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
46954
46955         Avoid compile failure on systems without ELOOP (like mingw).
46956         * lib/chdir-safer.c (ELOOP): Define if not already defined.
46957         Reported by Bruno Haible.
46958
46959 2008-05-10  Bruno Haible  <bruno@clisp.org>
46960
46961         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
46962         (is_utf8_encoding): Use a case-insensitive comparison.
46963         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
46964         streq.
46965
46966 2008-05-10  Bruno Haible  <bruno@clisp.org>
46967
46968         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
46969         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
46970         * lib/unilbrk/ulc-common.h (iconv_string_length,
46971         iconv_string_keeping_offsets): Remove declarations.
46972         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
46973         Don't include <iconv.h>, streq.h, xsize.h.
46974         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
46975         conversion.
46976         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
46977         <iconv.h>, streq.h, xsize.h.
46978         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
46979         conversion.
46980         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
46981         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
46982         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
46983         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
46984
46985 2008-05-10  Bruno Haible  <bruno@clisp.org>
46986
46987         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
46988         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
46989
46990         * modules/unilbrk/u32-width-linebreaks-tests: New file.
46991         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
46992
46993         * modules/unilbrk/u16-width-linebreaks-tests: New file.
46994         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
46995
46996         * modules/unilbrk/u8-width-linebreaks-tests: New file.
46997         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
46998
46999         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
47000         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
47001
47002         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
47003         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
47004
47005         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
47006         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
47007
47008         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
47009         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
47010
47011 2008-05-10  Bruno Haible  <bruno@clisp.org>
47012
47013         Split up 'linebreak' module.
47014         * lib/unilbrk.h: New file, based on lib/linebreak.h.
47015         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
47016         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
47017         modifications.
47018         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
47019         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
47020         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
47021         lib/linebreak.c.
47022         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
47023         lib/linebreak.c.
47024         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
47025         lib/linebreak.c.
47026         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
47027         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
47028         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
47029         lib/linebreak.c.
47030         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
47031         lib/linebreak.c.
47032         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
47033         lib/linebreak.c.
47034         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
47035         lib/linebreak.c.
47036         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
47037         lib/linebreak.c.
47038         * modules/unilbrk/base: New file.
47039         * modules/unilbrk/tables: New file.
47040         * modules/unilbrk/u8-possible-linebreaks: New file.
47041         * modules/unilbrk/u16-possible-linebreaks: New file.
47042         * modules/unilbrk/u32-possible-linebreaks: New file.
47043         * modules/unilbrk/ulc-common: New file.
47044         * modules/unilbrk/ulc-possible-linebreaks: New file.
47045         * modules/unilbrk/u8-width-linebreaks: New file.
47046         * modules/unilbrk/u16-width-linebreaks: New file.
47047         * modules/unilbrk/u32-width-linebreaks: New file.
47048         * modules/unilbrk/ulc-width-linebreaks: New file.
47049         * lib/linebreak.h: Remove file.
47050         * lib/linebreak.c: Remove file.
47051         * m4/linebreak.m4: Remove file.
47052         * modules/linebreak: Remove file.
47053         * NEWS: Mention the changes.
47054
47055 2008-05-09  Eric Blake  <ebb9@byu.net>
47056
47057         Add xmemdup0.
47058         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
47059         implementation.
47060         * lib/xmalloc.c (xmemdup0): New C implementation.
47061
47062 2008-05-08  Bruno Haible  <bruno@clisp.org>
47063
47064         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
47065
47066 2008-05-07  Eric Blake  <ebb9@byu.net>
47067
47068         Support cross-compilation of <wctype.h>.
47069         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
47070         AC_CACHE_CHECK.
47071
47072 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
47073
47074         * build-aux/vc-list-files: Add support for bzr.
47075
47076 2008-05-03  Jim Meyering  <meyering@redhat.com>
47077
47078         avoid failed assertion with tight malloc
47079         * tests/test-getndelim2.c: Correct an off-by-one assertion.
47080
47081 2008-05-03  Simon Josefsson  <simon@josefsson.org>
47082
47083         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
47084         are needed from arpa/inet.h.
47085         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
47086         Reported by Bruno Haible.
47087
47088 2008-05-02  Jim Meyering  <meyering@redhat.com>
47089
47090         avoid compilation error on FreeBSD 6
47091         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
47092
47093 2008-05-01  Jim Meyering  <meyering@redhat.com>
47094
47095         useless-if-before-free: correct --help's exit status description
47096         * build-aux/useless-if-before-free (usage): Like grep, exit 0
47097         for one or more matches, etc.  Reported by Bruno Haible.
47098
47099         vc-list-files: make the stand-alone gnulib test work
47100         * modules/vc-list-files-tests (configure.ac):
47101         Define and AC_SUBST abs_aux_dir.
47102         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
47103         $(abs_top_srcdir) to each script and having each of them
47104         duplicate the work of setting PATH, set PATH here, using
47105         the new variable, abs_aux_dir instead.
47106         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
47107         * tests/test-vc-list-files-git.sh: Likewise.
47108         Reported by Bruno Haible.
47109
47110 2008-05-01  Bruno Haible  <bruno@clisp.org>
47111
47112         * lib/getndelim2.c (getndelim2): Fix newsize computation during
47113         reallocation. Rename 'done' to 'found_delimiter'.
47114
47115 2008-05-01  Jim Meyering  <meyering@redhat.com>
47116
47117         vc-list-files: accommodate /bin/sh like the one from Solaris 10
47118         * build-aux/vc-list-files: Use `...`, not $(...).
47119
47120 2008-04-30  Jim Meyering  <meyering@redhat.com>
47121
47122         add tests for vc-list-files
47123         * modules/vc-list-files-tests: New module.
47124         * tests/test-vc-list-files-cvs.sh: New file.
47125         * tests/test-vc-list-files-git.sh: New file.
47126
47127         avoid a warning from gcc
47128         * lib/getndelim2.c (IF_LINT): Define.
47129         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
47130
47131         vc-list-files: work properly with build-aux/cvsu, too
47132         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
47133         to all cvs-based clauses.
47134
47135         vc-list-files: work properly in the CVS+awk case, too
47136         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
47137
47138         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
47139         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
47140         take more than one file argument, so .  Add quotes, just in case $dir
47141         ever contains a shell meta-character.  Prompted by Soren Hansen in
47142         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
47143
47144 2008-04-29  Eric Blake  <ebb9@byu.net>
47145
47146         Optimize getndelim2 to use block operations when possible.
47147         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
47148         freadseek, and memchr2.
47149         * lib/getndelim2.c (getndelim2): Use them for block reads.
47150
47151 2008-04-29  Bruno Haible  <bruno@clisp.org>
47152
47153         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
47154         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
47155         * modules/inet_ntop (Depends-on): Add extensions.
47156         * modules/inet_pton (Depends-on): Likewise.
47157         Reported by Simon Josefsson.
47158
47159 2008-04-29  Jim Meyering  <meyering@redhat.com>
47160
47161         When the is more than one match in a block, match all of them.
47162         * build-aux/useless-if-before-free: Iterate through each block
47163         until there are no more matches.
47164
47165         Fix broken useless-if-before-free script.
47166         * build-aux/useless-if-before-free: Fix typo: missing "?" after
47167         the expression to match cast of argument to free-like function.
47168
47169 2008-04-29  Eric Blake  <ebb9@byu.net>
47170
47171         Use new header.
47172         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
47173
47174 2008-04-29  Jim Meyering  <meyering@redhat.com>
47175
47176         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
47177         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
47178         by gnulib to exist and to declare e.g., inet_ntop.
47179         Don't include "inet_ntop.h", now removed.
47180
47181         * m4/arpa_inet_h.m4: Remove trailing blanks.
47182
47183 2008-04-29  Eric Blake  <ebb9@byu.net>
47184
47185         Silence valgrind on safe reads beyond potential array bounds.
47186         * lib/rawmemchr.valgrind: New file.
47187         * lib/strchrnul.valgrind: Likewise.
47188         * modules/rawmemchr (Files): Distribute new file.
47189         * modules/strchrnul (Files): Likewise.
47190         Suggested by Bruno Haible.
47191
47192 2008-04-29  Bruno Haible  <bruno@clisp.org>
47193
47194         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
47195         (inet_ntop, inet_pton): Change portability warning's wording.
47196         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
47197         Invoke gl_CHECK_NEXT_HEADERS.
47198         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
47199         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
47200         set ARPA_INET_H.
47201         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
47202         * modules/arpa_inet (Description): No longer only for systems that
47203         lack it.
47204         (Depends-on): Add include_next.
47205         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
47206         HAVE_ARPA_INET_H.
47207
47208 2008-04-29  Jim Meyering  <meyering@redhat.com>
47209
47210         * modules/mkdir (License): Re-license as LGPLv2+.
47211
47212 2008-04-29  Bruno Haible  <bruno@clisp.org>
47213
47214         * modules/rawmemchr (Maintainer): Set to Eric.
47215         * modules/strchrnul (Maintainer): Likewise.
47216
47217 2008-04-29  Simon Josefsson  <simon@josefsson.org>
47218
47219         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
47220         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
47221
47222         * modules/arpa_inet (arpa/inet.h): Use them.
47223
47224 2008-04-28  Eric Blake  <ebb9@byu.net>
47225
47226         Test getndelim2.
47227         * modules/getndelim2-tests: New file.
47228         * tests/test-getndelim2.c: Likewise.
47229         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
47230         stream.
47231         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
47232
47233         * MODULES.html.sh: Document new module.
47234
47235 2008-04-20  Bruno Haible  <bruno@clisp.org>
47236
47237         * lib/c-stack.c (die): Use raise.
47238         * modules/c-stack (Depends-on): Add raise.
47239
47240 2008-04-28  Bruno Haible  <bruno@clisp.org>
47241
47242         Expect rpmatch to be declared.
47243         * lib/yesno.c (rpmatch): Remove declaration.
47244
47245         Declare rpmatch.
47246         * lib/stdlib.in.h (rpmatch): New declaration.
47247         * lib/rpmatch.c: Include <stdlib.h> first.
47248         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
47249         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
47250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
47251         HAVE_RPMATCH.
47252         * modules/rpmatch (Depends-on): Add stdlib, extensions.
47253         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47254         (Include): Set to <stdlib.h>.
47255         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
47256         HAVE_RPMATCH.
47257         * NEWS: Document the change.
47258
47259 2008-04-28  Bruno Haible  <bruno@clisp.org>
47260
47261         Change rpmatch to use nl_langinfo when appropriate.
47262         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
47263         (N_): New macro.
47264         (localized_pattern): New function/macro.
47265         (try): Remove match, nomatch arguments. Copy the pattern into safe
47266         memory before caching it.
47267         (rpmatch): Use localized_pattern. Add translator comments.
47268         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
47269         Suggested by Eric Blake.
47270         * modules/rpmatch (Depends-on): Add stdbool.
47271
47272 2008-04-28  Eric Blake  <ebb9@byu.net>
47273
47274         Add rawmemchr module, matching glibc.
47275         * modules/string (Makefile.am): New indicator.
47276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
47277         * lib/string.in.h (rawmemchr): Declare when appropriate.
47278         * modules/rawmemchr: New file.
47279         * m4/rawmemchr.m4: Likewise.
47280         * lib/rawmemchr.c: Likewise.
47281         * modules/rawmemchr-tests: Likewise.
47282         * tests/test-rawmemchr.c: Likewise.
47283         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
47284         module.
47285         * modules/strchrnul (Depends-on): Add rawmemchr.
47286         * lib/strchrnul.c (strchrnul): Optimize a corner case.
47287
47288         Whitespace cleanup.
47289         * tests/test-strchrnul.c: Reindent.
47290         * lib/strchrnul.c: Likewise.
47291
47292         Optimize and test strchrnul.
47293         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
47294         * modules/strchrnul-tests: New file.
47295         * tests/test-strchrnul.c: Likewise.
47296
47297         Remove intprops dependency.
47298         * modules/memchr (Depends-on): Remove intprops.
47299         * modules/memrchr (Depends-on): Likewise.
47300         * modules/memchr2 (Depends-on): Likewise.
47301         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
47302         * lib/memrchr.c (__memrchr): Likewise.
47303         * lib/memrchr2.c (memchr2): Likewise.
47304         Reported by Simon Josefsson.
47305
47306 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47307
47308         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
47309         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47310
47311 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47312
47313         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
47314
47315         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
47316
47317         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
47318
47319         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
47320         declarations.
47321         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
47322
47323         * m4/inet_pton.m4: Don't check for header files.
47324
47325         * m4/inet_ntop.m4: Don't check for header files.
47326
47327 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47328
47329         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
47330         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
47331         trigger for cygwin).
47332         Reported by Bruno Haible  <bruno@clisp.org>.
47333
47334 2008-04-28  Bruno Haible  <bruno@clisp.org>
47335
47336         * doc/posix-functions/strdup.texi: Mention mingw problem.
47337
47338 2008-04-27  Bruno Haible  <bruno@clisp.org>
47339
47340         * modules/stat-time-tests (Depends-on): Add sleep.
47341         * tests/test-stat-time.c (force_unlink): New function.
47342         (cleanup): Use it.
47343         (test_mtime): Remove the ctime related tests.
47344         (test_ctime): New function, containing the ctime related tests.
47345         (main): Call test_ctime, except on native Windows platforms.
47346
47347 2008-04-27  Bruno Haible  <bruno@clisp.org>
47348
47349         * lib/rpmatch.c (rpmatch): Add some comments.
47350         Reported by James Youngman <jay@gnu.org>.
47351
47352 2008-04-27  Bruno Haible  <bruno@clisp.org>
47353
47354         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
47355         quiet NaNs.
47356
47357 2008-04-27  Bruno Haible  <bruno@clisp.org>
47358
47359         Make test-yesno.sh work on mingw.
47360         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
47361         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
47362         (main): Set stdin to binary mode.
47363         * modules/yesno-tests (Depends-on): Add binary-io.
47364
47365 2008-04-27  Bruno Haible  <bruno@clisp.org>
47366
47367         Fix 'isfinite' on x86, x86_64, ia64 platforms.
47368         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
47369         argument that lie outside the IEEE 854 domain.
47370         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
47371         (gl_ISFINITE): Use it.
47372         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
47373
47374 2008-04-27  Bruno Haible  <bruno@clisp.org>
47375
47376         Allow local renaming in config.h.
47377         * lib/memrchr.c (memrchr): Don't undefine outside libc.
47378
47379 2008-04-27  Bruno Haible  <bruno@clisp.org>
47380
47381         * lib/memchr.c (__memchr): Change type of 'i'.
47382         * lib/memchr2.c (memchr2): Likewise.
47383
47384 2008-04-26  Eric Blake  <ebb9@byu.net>
47385         and Bruno Haible  <bruno@clisp.org>
47386
47387         Optimize and test memrchr.
47388         * modules/memrchr (Depends-on): Add intprops.
47389         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
47390         * modules/memrchr-tests: New file.
47391         * tests/test-memrchr.c: New file.
47392
47393 2008-04-26  Bruno Haible  <bruno@clisp.org>
47394
47395         Add tentative support for DragonFly BSD.
47396         * lib/stdio-impl.h: Add macros for DragonFly BSD.
47397         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
47398         fp.
47399         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
47400         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
47401         * lib/fpurge.c (fpurge): Likewise.
47402         * lib/freadable.c (freaadable): Likewise.
47403         * lib/freadahead.c (freadahead): Likewise.
47404         * lib/freading.c (freading): Likewise.
47405         * lib/freadptr.c (freadptr): Likewise.
47406         * lib/freadseek.c (freadptrinc): Likewise.
47407         * lib/fseeko.c (fseeko): Likewise.
47408         * lib/fseterr.c (fseterr): Likewise.
47409         * lib/fwritable.c (fwritable): Likewise.
47410         * lib/fwriting.c (fwriting): Likewise.
47411
47412 2008-04-26  Bruno Haible  <bruno@clisp.org>
47413
47414         * lib/stdio-impl.h: New file.
47415         * lib/fbufmode.c: Include stdio-impl.h.
47416         (fbufmode): Use fp_, remove redundant #defines.
47417         * lib/fflush.c: Include stdio-impl.h.
47418         (clear_ungetc_buffer): Remove redundant #defines.
47419         * lib/fpurge.c: Include stdio-impl.h.
47420         (fpurge): Remove redundant #defines.
47421         * lib/freadable.c: Include stdio-impl.h.
47422         (freadable): Remove redundant #defines.
47423         * lib/freadahead.c: Include stdio-impl.h.
47424         (freadahead): Remove redundant #defines.
47425         * lib/freading.c: Include stdio-impl.h.
47426         (freading): Remove redundant #defines.
47427         * lib/freadptr.c: Include stdio-impl.h.
47428         (freadptr): Remove redundant #defines.
47429         * lib/freadseek.c: Include stdio-impl.h.
47430         (freadptrinc): Remove redundant #defines.
47431         * lib/fseeko.c: Include stdio-impl.h.
47432         (rpl_fseeko): Remove redundant #defines.
47433         * lib/fseterr.c: Include stdio-impl.h.
47434         (fseterr): Remove redundant #defines.
47435         * lib/fwritable.c: Include stdio-impl.h.
47436         (fwritable: Remove redundant #defines.
47437         * lib/fwriting.c: Include stdio-impl.h.
47438         (fwriting): Remove redundant #defines.
47439         * modules/fbufmode (Files): Add lib/stdio-impl.h.
47440         * modules/fflush (Files): Likewise.
47441         * modules/fpurge (Files): Likewise.
47442         * modules/freadable (Files): Likewise.
47443         * modules/freadahead (Files): Likewise.
47444         * modules/freading (Files): Likewise.
47445         * modules/freadptr (Files): Likewise.
47446         * modules/freadseek (Files): Likewise.
47447         * modules/fseeko (Files): Likewise.
47448         * modules/fseterr (Files): Likewise.
47449         * modules/fwritable (Files): Likewise.
47450         * modules/fwriting (Files): Likewise.
47451
47452 2008-04-26  Bruno Haible  <bruno@clisp.org>
47453
47454         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
47455         restore_seek_optimization, update_fpos_cache): New functions, extracted
47456         from rpl_fflush.
47457         (rpl_fflush): Use them.
47458         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
47459         (gl_REPLACE_FFLUSH): Use it.
47460
47461 2008-04-26  Bruno Haible  <bruno@clisp.org>
47462
47463         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
47464         on Solaris.
47465         * tests/test-xstrtoimax.sh: Likewise.
47466         * tests/test-xstrtoumax.sh: Likewise.
47467         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47468
47469 2008-04-26  Bruno Haible  <bruno@clisp.org>
47470
47471         * modules/memchr-tests: New file.
47472         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
47473
47474 2008-04-26  Eric Blake  <ebb9@byu.net>
47475             Bruno Haible  <bruno@clisp.org>
47476
47477         * lib/memchr.c: Include intprops.h.
47478         (__memchr): Optimize parallel detection of matching bytes. Rename local
47479         variables. Add explanatory comments.
47480
47481 2008-04-26  Bruno Haible  <bruno@clisp.org>
47482
47483         Fix module 'memchr', broken since 2000-10-28.
47484         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
47485
47486 2008-04-26  Bruno Haible  <bruno@clisp.org>
47487
47488         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
47489         comments.
47490
47491 2008-04-25  Eric Blake  <ebb9@byu.net>
47492
47493         Use native fstatat on cygwin 1.7.0.
47494         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
47495         first.
47496
47497 2008-04-23  Eric Blake  <ebb9@byu.net>
47498
47499         Improve memchr2 performance.
47500         * lib/memchr2.c (memchr2): Further optimize parallel detection of
47501         NUL bytes.
47502         * modules/memchr2 (Depends-on): Use intprops.h.
47503
47504 2008-04-23  Simon Josefsson  <simon@josefsson.org>
47505
47506         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
47507         an inline function instead of a CPP macro.  Patch by Ben Pfaff
47508         <blp@cs.stanford.edu>.
47509
47510 2008-04-23  Simon Josefsson  <simon@josefsson.org>
47511
47512         * lib/arpa_inet.in.h: New file.
47513
47514         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
47515         (Makefile.am): Sed in substitute header file.
47516
47517         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
47518         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
47519
47520         * modules/inet_ntop (configure.ac): Use
47521         gl_ARPA_INET_MODULE_INDICATOR.
47522
47523         * modules/inet_pton (configure.ac): Use
47524         gl_ARPA_INET_MODULE_INDICATOR.
47525
47526 2008-04-22  Jim Meyering  <meyering@redhat.com>
47527
47528         * modules/verify (License): Re-license as LGPLv2+.
47529
47530 2008-04-22  Simon Josefsson  <simon@josefsson.org>
47531
47532         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
47533         parameter to void* as per POSIX standard (MinGW uses char*).
47534
47535 2008-04-21  Bruno Haible  <bruno@clisp.org>
47536
47537         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
47538         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
47539         Define to replacements if REPLACE_ISWCNTRL is 1.
47540         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
47541         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
47542         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
47543         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
47544         what it fixes.
47545         * doc/posix-functions/iswalpha.texi: Likewise.
47546         * doc/posix-functions/iswblank.texi: Likewise.
47547         * doc/posix-functions/iswcntrl.texi: Likewise.
47548         * doc/posix-functions/iswdigit.texi: Likewise.
47549         * doc/posix-functions/iswgraph.texi: Likewise.
47550         * doc/posix-functions/iswlower.texi: Likewise.
47551         * doc/posix-functions/iswprint.texi: Likewise.
47552         * doc/posix-functions/iswpunct.texi: Likewise.
47553         * doc/posix-functions/iswspace.texi: Likewise.
47554         * doc/posix-functions/iswupper.texi: Likewise.
47555         * doc/posix-functions/iswxdigit.texi: Likewise.
47556         Reported by Alain Guibert.
47557
47558 2008-04-21  Bruno Haible  <bruno@clisp.org>
47559
47560         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
47561         Patch by Alain Guibert.
47562
47563 2008-04-21  Bruno Haible  <bruno@clisp.org>
47564
47565         Fix test failures on mingw.
47566         * tests/test-xstrtol.c (print_no_progname): New function.
47567         (main): Install it in error_print_progname hook.
47568         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
47569         * tests/test-xstrtoimax.sh: Likewise.
47570         * tests/test-xstrtoumax.sh: Likewise.
47571
47572 2008-04-21  Bruno Haible  <bruno@clisp.org>
47573
47574         Fix test failure on mingw.
47575         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
47576
47577 2008-04-21  Bruno Haible  <bruno@clisp.org>
47578
47579         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
47580         Actually assign a value.
47581
47582 2008-04-20  Bruno Haible  <bruno@clisp.org>
47583
47584         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
47585         take 2.
47586         * lib/canonicalize.c (canonicalize_file_name): Elide if the
47587         'canonicalize-lgpl' module is also used.
47588         * lib/canonicalize-lgpl.c: Undo last change.
47589         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
47590
47591 2008-04-20  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
47594         config.h. Provide _mkdir based fallback for mingw.
47595         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
47596         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
47597         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
47598         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
47599         rather than defining mkdir in config.h.
47600         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
47601         (gl_SYS_STAT_H_DEFAULTS): New macro.
47602         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
47603         HAVE_IO_H any more.
47604         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
47605         HAVE_DECL_MKDIR and HAVE_IO_H.
47606
47607 2008-04-20  Bruno Haible  <bruno@clisp.org>
47608
47609         * lib/isapipe.c: Port to native Windows platforms.
47610
47611 2008-04-20  Bruno Haible  <bruno@clisp.org>
47612
47613         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
47614
47615 2008-04-21  Eric Blake  <ebb9@byu.net>
47616
47617         Work around preprocessors that don't handle UINTMAX_MAX.
47618         * lib/memchr2.c (memchr2): Avoid embedded #if.
47619         Reported by Alain Guibert, fix suggested by Bruno Haible.
47620
47621 2008-04-21  Simon Josefsson  <simon@josefsson.org>
47622
47623         * doc/posix-functions/strftime.texi (strftime): Explain better
47624         Windows incompatibility.  Suggested by Micah Cowan
47625         <micah@cowan.name>.
47626
47627 2008-04-20  Bruno Haible  <bruno@clisp.org>
47628
47629         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
47630         unistr/u8-mblen.
47631
47632 2008-04-20  Bruno Haible  <bruno@clisp.org>
47633
47634         Fix test failure on platforms with non-GNU iconv.
47635         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
47636         (U_TO_U8): Use it, rather than u16_to_u8.
47637         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
47638         units at the end of the input string.
47639         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
47640
47641 2008-04-20  Bruno Haible  <bruno@clisp.org>
47642
47643         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
47644         when the resulting length is 0.
47645         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
47646
47647 2008-04-20  Bruno Haible  <bruno@clisp.org>
47648
47649         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
47650         works.
47651         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
47652
47653 2008-04-20  Bruno Haible  <bruno@clisp.org>
47654
47655         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
47656         * modules/tsearch-tests (configure.ac): Test for initstate function.
47657
47658 2008-04-20  Bruno Haible  <bruno@clisp.org>
47659
47660         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
47661         for nlink_t if missing.
47662         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
47663
47664 2008-04-19  Bruno Haible  <bruno@clisp.org>
47665
47666         Work around snprintf bug on Linux libc5.
47667         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
47668         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47669         gl_SNPRINTF_SIZE1.
47670         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47671         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
47672         that test failed.
47673         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
47674         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
47675         * modules/snprintf (Files): Add m4/printf.m4.
47676         * modules/vsnprintf (Files): Likewise.
47677         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
47678         * doc/posix-functions/vsnprintf.texi: Likewise.
47679
47680 2008-04-19  Bruno Haible  <bruno@clisp.org>
47681
47682         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
47683         from 0.0058 to less than 10^-7.
47684
47685 2008-04-19  Bruno Haible  <bruno@clisp.org>
47686
47687         Fix rounding when a precision is given.
47688         * lib/vasnprintf.c (is_borderline): New function.
47689         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
47690         9...9x.
47691         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
47692         %e, %g.
47693         * tests/test-vasprintf-posix.c (test_function): Likewise.
47694         * tests/test-snprintf-posix.h (test_function): Likewise.
47695         * tests/test-sprintf-posix.h (test_function): Likewise.
47696         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
47697         * tests/test-printf-posix.h (test_function): Likewise.
47698         * tests/test-printf-posix.output: Update.
47699         Reported by John Darrington <john@darrington.wattle.id.au> via
47700         Ben Pfaff <blp@cs.stanford.edu>.
47701
47702 2008-04-18  Simon Josefsson  <simon@josefsson.org>
47703
47704         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
47705         Suggested by Bruno Haible <bruno@clisp.org>.
47706
47707 2008-04-17  Bruno Haible  <bruno@clisp.org>
47708
47709         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
47710         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
47711         implementation.
47712         Patch by Bruce Merry <bmerry@gmail.com>.
47713
47714 2008-04-17  Simon Josefsson  <simon@josefsson.org>
47715
47716         * doc/posix-functions/strftime.texi (strftime): Mention that %e
47717         doesn't work under Windows.
47718
47719 2008-04-16  Bruno Haible  <bruno@clisp.org>
47720
47721         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
47722         New macros.
47723         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
47724         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
47725         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
47726         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
47727         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
47728         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
47729         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
47730         macros.
47731         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
47732         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
47733         Northern Sotho, Uighur.
47734
47735 2008-04-16  Bruno Haible  <bruno@clisp.org>
47736
47737         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
47738         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
47739         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
47740         Reported by Daniel Bergström <daniel@octocode.com>.
47741
47742 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
47743             Bruno Haible  <bruno@clisp.org>
47744
47745         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
47746         function.
47747         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
47748         New functions, mostly extracted from gl_locale_name_default.
47749         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
47750
47751 2008-04-16  Eric Blake  <ebb9@byu.net>
47752
47753         Adjust strtod detection to catch glibc 2.7 bug.
47754         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
47755         Reported by John Gatewood Ham.
47756
47757 2008-04-16  Bruno Haible  <bruno@clisp.org>
47758
47759         Add tentative support for Linux libc5.
47760         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
47761         * lib/fpurge.c (fpurge): Likewise.
47762         * lib/freadable.c (freadable): Likewise.
47763         * lib/freadahead.c (freadahead): Likewise.
47764         * lib/freading.c (freading): Likewise.
47765         * lib/freadptr.c (freadptr): Likewise.
47766         * lib/freadseek.c (freadptrinc): Likewise.
47767         * lib/fseeko.c (rpl_fseeko): Likewise.
47768         * lib/fseterr.c (fseterr): Likewise.
47769         * lib/fwritable.c (fwritable): Likewise.
47770         * lib/fwriting.c (fwriting): Likewise.
47771         Reported by Alain Guibert <alguibert+bts@free.fr>.
47772
47773 2008-04-15  Bruno Haible  <bruno@clisp.org>
47774
47775         * modules/mathl (configure.ac): Define module indicator.
47776
47777 2008-04-15  Bruno Haible  <bruno@clisp.org>
47778
47779         * lib/logl.c (logl): Remove unused variables.
47780
47781 2008-04-15  Bruno Haible  <bruno@clisp.org>
47782
47783         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
47784         fails.
47785
47786 2008-04-15  Bruno Haible  <bruno@clisp.org>
47787
47788         * lib/trim.c (trim2): Fix argument of isspace() macro.
47789
47790 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
47791
47792         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
47793         to 0.
47794         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
47795
47796 2008-04-14  Bruno Haible  <bruno@clisp.org>
47797
47798         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
47799         AC_LANG_PROGRAM argument.
47800         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
47801         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
47802         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
47803         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47804         * m4/math_h.m4 (gl_MATH_H): Likewise.
47805         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
47806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47807         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
47808         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
47809         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47810         * m4/regex.m4 (gl_REGEX): Likewise.
47811         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
47812         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
47813         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47814         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
47815         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47816         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47817         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47818         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47819
47820 2008-04-14  Jim Meyering  <meyering@redhat.com>
47821
47822         test-strtod: fix typos: s/abs/fabs/
47823         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
47824
47825 2008-04-13  Bruno Haible  <bruno@clisp.org>
47826
47827         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
47828         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
47829         module is also used and while not building the reloc-wrapper.
47830
47831 2008-04-13  Bruno Haible  <bruno@clisp.org>
47832
47833         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
47834
47835 2008-04-13  Bruno Haible  <bruno@clisp.org>
47836
47837         Fix AIX compilation failure introduced on 2008-04-02.
47838         * tests/test-frexp.c (exp): Undefine before redefining.
47839         * tests/test-frexpl.c (exp): Likewise.
47840
47841 2008-04-13  Bruno Haible  <bruno@clisp.org>
47842
47843         Work around a HP-UX stdio bug.
47844         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
47845         * tests/test-ftello.c (main): Likewise.
47846         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
47847         * doc/posix-functions/ftello.texi: Likewise.
47848
47849 2008-04-13  Bruno Haible  <bruno@clisp.org>
47850
47851         Make test-signbit pass on HP-UX/hppa.
47852         * tests/test-signbit.c (minus_zerol): New variable.
47853         (test_signbitl): Use it.
47854
47855 2008-04-13  Bruno Haible  <bruno@clisp.org>
47856
47857         Make truncl work on OSF/1 4.0.
47858         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
47859         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
47860         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
47861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
47862         HAVE_DECL_TRUNCL.
47863         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
47864         HAVE_DECL_TRUNCL.
47865         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
47866
47867 2008-04-13  Bruno Haible  <bruno@clisp.org>
47868
47869         * lib/unictype.h: Remove trailing comma from enumeration definitions.
47870
47871 2008-04-13  Bruno Haible  <bruno@clisp.org>
47872
47873         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
47874         expression, so as to avoid HP-UX 11 cc compiler bug.
47875
47876 2008-04-13  Bruno Haible  <bruno@clisp.org>
47877
47878         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
47879
47880 2008-04-13  Bruno Haible  <bruno@clisp.org>
47881
47882         * lib/git-merge-changelog.c: Remove empty declaration outside of
47883         functions.
47884
47885 2008-04-13  Bruno Haible  <bruno@clisp.org>
47886
47887         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
47888
47889 2008-04-13  Bruno Haible  <bruno@clisp.org>
47890
47891         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
47892         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
47893         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
47894         also if it exists but lacks definitions of the SHUT_* macros.
47895         * modules/sys_socket (Description): Update.
47896         Reported by Elbert Pol <e.pol@chello.nl>.
47897
47898 2008-04-13  Bruno Haible  <bruno@clisp.org>
47899
47900         * lib/localcharset.c (OS2): Don't redefine if already defined.
47901         Reported by Elbert Pol <e.pol@chello.nl>.
47902
47903 2008-04-13  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/binary-io.h [__EMX__]: Include <io.h>.
47906         Reported by Elbert Pol <e.pol@chello.nl>.
47907
47908 2008-04-12  Bruno Haible  <bruno@clisp.org>
47909
47910         * lib/fpucw.h: Enable the definitions also for x86_64.
47911         Needed for NetBSD/x86_64.
47912         Reported by Thomas Klausner <tk@giga.or.at>.
47913
47914 2008-04-12  Bruno Haible  <bruno@clisp.org>
47915
47916         * tests/test-strtod.c: Include isnand.h.
47917         (main): Use isnand instead of isnan.
47918         Reported by Jim Meyering.
47919
47920 2008-04-12  Bruno Haible  <bruno@clisp.org>
47921
47922         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
47923         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47924
47925 2008-04-12  Jim Meyering  <meyering@redhat.com>
47926
47927         * m4/math_h.m4 (gl_MATH_H): Fix typos.
47928
47929 2008-04-12  Bruno Haible  <bruno@clisp.org>
47930
47931         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
47932         Reported by Elbert Pol <e.pol@chello.nl>.
47933
47934 2008-04-12  Eric Blake  <ebb9@byu.net>
47935
47936         Work around Solaris 10 math.h bug.
47937         * m4/math_h.m4 (gl_MATH_H): Check for bug.
47938         (gl_MATH_H_DEFAULTS): Set up default.
47939         * modules/math (Makefile.am): Replace new indicators.
47940         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
47941         * tests/test-math.c (main): Test this.
47942         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
47943         * doc/posix-headers/math.texi (math.h): Mention bug.
47944         Reported by Nelson H. F. Beebe and Jim Meyering.
47945
47946 2008-04-11  Bruno Haible  <bruno@clisp.org>
47947
47948         Adapt to future versions of Apple GCC.
47949         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
47950         Reported by Peter O'Gorman <peter@pogma.com>.
47951
47952 2008-04-11  Bruno Haible  <bruno@clisp.org>
47953
47954         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
47955
47956 2008-04-11  Bruno Haible  <bruno@clisp.org>
47957
47958         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
47959
47960         * modules/getaddrinfo-tests (Makefile.am): Define
47961         test_getaddrinfo_LDADD.
47962
47963 2008-04-11  Bruno Haible  <bruno@clisp.org>
47964
47965         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
47966         (init): Fix syntax error.
47967         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
47968         is declared.
47969
47970 2008-04-11  Bruno Haible  <bruno@clisp.org>
47971
47972         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
47973         * modules/glob (Depends-on): Add stdbool.
47974
47975 2008-04-11  Bruno Haible  <bruno@clisp.org>
47976
47977         * lib/trim.c: Include <string.h>.
47978
47979 2008-04-11  Eric Blake  <ebb9@byu.net>
47980
47981         Avoid compile failure on OS/2.
47982         * lib/regex_internal.h (internal_function): Disable optimization
47983         on OS/2 (__EMX__), where it caused compiler error.
47984         Reported by Elbert Pol.
47985
47986 2008-04-11  Bruno Haible  <bruno@clisp.org>
47987
47988         Flush the standard error stream before aborting. Needed on mingw.
47989         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
47990         * tests/test-array_list.c (ASSERT): Likewise.
47991         * tests/test-array_oset.c (ASSERT): Likewise.
47992         * tests/test-avltree_list.c (ASSERT): Likewise.
47993         * tests/test-avltree_oset.c (ASSERT): Likewise.
47994         * tests/test-avltreehash_list.c (ASSERT): Likewise.
47995         * tests/test-binary-io.c (ASSERT): Likewise.
47996         * tests/test-byteswap.c (ASSERT): Likewise.
47997         * tests/test-c-ctype.c (ASSERT): Likewise.
47998         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
47999         * tests/test-c-strcasestr.c (ASSERT): Likewise.
48000         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
48001         * tests/test-c-strstr.c (ASSERT): Likewise.
48002         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
48003         * tests/test-canonicalize.c (ASSERT): Likewise.
48004         * tests/test-carray_list.c (ASSERT): Likewise.
48005         * tests/test-ceilf1.c (ASSERT): Likewise.
48006         * tests/test-ceilf2.c (ASSERT): Likewise.
48007         * tests/test-ceill.c (ASSERT): Likewise.
48008         * tests/test-count-one-bits.c (ASSERT): Likewise.
48009         * tests/test-fbufmode.c (ASSERT): Likewise.
48010         * tests/test-fflush2.c (ASSERT): Likewise.
48011         * tests/test-floorf1.c (ASSERT): Likewise.
48012         * tests/test-floorf2.c (ASSERT): Likewise.
48013         * tests/test-floorl.c (ASSERT): Likewise.
48014         * tests/test-fopen.c (ASSERT): Likewise.
48015         * tests/test-fpending.c (ASSERT): Likewise.
48016         * tests/test-fprintf-posix.c (ASSERT): Likewise.
48017         * tests/test-fpurge.c (ASSERT): Likewise.
48018         * tests/test-freadable.c (ASSERT): Likewise.
48019         * tests/test-freadahead.c (ASSERT): Likewise.
48020         * tests/test-freading.c (ASSERT): Likewise.
48021         * tests/test-freadptr.c (ASSERT): Likewise.
48022         * tests/test-freadptr2.c (ASSERT): Likewise.
48023         * tests/test-freadseek.c (ASSERT): Likewise.
48024         * tests/test-freopen.c (ASSERT): Likewise.
48025         * tests/test-frexp.c (ASSERT): Likewise.
48026         * tests/test-frexpl.c (ASSERT): Likewise.
48027         * tests/test-fseek.c (ASSERT): Likewise.
48028         * tests/test-fseeko.c (ASSERT): Likewise.
48029         * tests/test-fstrcmp.c (ASSERT): Likewise.
48030         * tests/test-ftell.c (ASSERT): Likewise.
48031         * tests/test-ftello.c (ASSERT): Likewise.
48032         * tests/test-func.c (ASSERT): Likewise.
48033         * tests/test-fwritable.c (ASSERT): Likewise.
48034         * tests/test-fwriting.c (ASSERT): Likewise.
48035         * tests/test-getdelim.c (ASSERT): Likewise.
48036         * tests/test-getline.c (ASSERT): Likewise.
48037         * tests/test-i-ring.c (ASSERT): Likewise.
48038         * tests/test-iconv-utf.c (ASSERT): Likewise.
48039         * tests/test-iconv.c (ASSERT): Likewise.
48040         * tests/test-isfinite.c (ASSERT): Likewise.
48041         * tests/test-isnand.c (ASSERT): Likewise.
48042         * tests/test-isnanf.c (ASSERT): Likewise.
48043         * tests/test-isnanl.h (ASSERT): Likewise.
48044         * tests/test-ldexpl.c (ASSERT): Likewise.
48045         * tests/test-linked_list.c (ASSERT): Likewise.
48046         * tests/test-linkedhash_list.c (ASSERT): Likewise.
48047         * tests/test-localename.c (ASSERT): Likewise.
48048         * tests/test-lseek.c (ASSERT): Likewise.
48049         * tests/test-mbscasecmp.c (ASSERT): Likewise.
48050         * tests/test-mbscasestr1.c (ASSERT): Likewise.
48051         * tests/test-mbscasestr2.c (ASSERT): Likewise.
48052         * tests/test-mbscasestr3.c (ASSERT): Likewise.
48053         * tests/test-mbscasestr4.c (ASSERT): Likewise.
48054         * tests/test-mbschr.c (ASSERT): Likewise.
48055         * tests/test-mbscspn.c (ASSERT): Likewise.
48056         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
48057         * tests/test-mbspbrk.c (ASSERT): Likewise.
48058         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
48059         * tests/test-mbsrchr.c (ASSERT): Likewise.
48060         * tests/test-mbsspn.c (ASSERT): Likewise.
48061         * tests/test-mbsstr1.c (ASSERT): Likewise.
48062         * tests/test-mbsstr2.c (ASSERT): Likewise.
48063         * tests/test-mbsstr3.c (ASSERT): Likewise.
48064         * tests/test-memchr2.c (ASSERT): Likewise.
48065         * tests/test-memmem.c (ASSERT): Likewise.
48066         * tests/test-open.c (ASSERT): Likewise.
48067         * tests/test-printf-frexp.c (ASSERT): Likewise.
48068         * tests/test-printf-frexpl.c (ASSERT): Likewise.
48069         * tests/test-printf-posix.c (ASSERT): Likewise.
48070         * tests/test-quotearg.c (ASSERT): Likewise.
48071         * tests/test-rbtree_list.c (ASSERT): Likewise.
48072         * tests/test-rbtree_oset.c (ASSERT): Likewise.
48073         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
48074         * tests/test-round1.c (ASSERT): Likewise.
48075         * tests/test-roundf1.c (ASSERT): Likewise.
48076         * tests/test-roundl.c (ASSERT): Likewise.
48077         * tests/test-signbit.c (ASSERT): Likewise.
48078         * tests/test-sleep.c (ASSERT): Likewise.
48079         * tests/test-snprintf-posix.c (ASSERT): Likewise.
48080         * tests/test-snprintf.c (ASSERT): Likewise.
48081         * tests/test-sprintf-posix.c (ASSERT): Likewise.
48082         * tests/test-stat-time.c (ASSERT): Likewise.
48083         * tests/test-strcasestr.c (ASSERT): Likewise.
48084         * tests/test-strerror.c (ASSERT): Likewise.
48085         * tests/test-striconv.c (ASSERT): Likewise.
48086         * tests/test-striconveh.c (ASSERT): Likewise.
48087         * tests/test-striconveha.c (ASSERT): Likewise.
48088         * tests/test-strsignal.c (ASSERT): Likewise.
48089         * tests/test-strstr.c (ASSERT): Likewise.
48090         * tests/test-strtod.c (ASSERT): Likewise.
48091         * tests/test-trunc1.c (ASSERT): Likewise.
48092         * tests/test-trunc2.c (ASSERT): Likewise.
48093         * tests/test-truncf1.c (ASSERT): Likewise.
48094         * tests/test-truncf2.c (ASSERT): Likewise.
48095         * tests/test-truncl.c (ASSERT): Likewise.
48096         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
48097         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
48098         * tests/test-vasnprintf.c (ASSERT): Likewise.
48099         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
48100         * tests/test-vasprintf.c (ASSERT): Likewise.
48101         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
48102         * tests/test-vprintf-posix.c (ASSERT): Likewise.
48103         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
48104         * tests/test-vsnprintf.c (ASSERT): Likewise.
48105         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
48106         * tests/test-wcwidth.c (ASSERT): Likewise.
48107         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
48108         * tests/test-xprintf-posix.c (ASSERT): Likewise.
48109         * tests/test-xvasprintf.c (ASSERT): Likewise.
48110         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
48111         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
48112         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
48113         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
48114         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
48115         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
48116         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
48117         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
48118         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
48119         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
48120         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
48121         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
48122         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
48123         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
48124         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
48125         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
48126         * tests/unictype/test-block_list.c (ASSERT): Likewise.
48127         * tests/unictype/test-block_of.c (ASSERT): Likewise.
48128         * tests/unictype/test-block_test.c (ASSERT): Likewise.
48129         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
48130         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
48131         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
48132         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
48133         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
48134         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
48135         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
48136         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
48137         * tests/unictype/test-combining.c (ASSERT): Likewise.
48138         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
48139         * tests/unictype/test-digit.c (ASSERT): Likewise.
48140         * tests/unictype/test-mirror.c (ASSERT): Likewise.
48141         * tests/unictype/test-numeric.c (ASSERT): Likewise.
48142         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
48143         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
48144         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
48145         * tests/unictype/test-scripts.c (ASSERT): Likewise.
48146         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
48147         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
48148         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
48149         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
48150         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
48151         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
48152         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
48153         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
48154         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
48155         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
48156         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
48157         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
48158         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
48159         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
48160         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
48161         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
48162         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
48163         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
48164         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
48165         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
48166         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
48167         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
48168         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
48169         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
48170         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
48171         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
48172         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
48173         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
48174         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
48175         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
48176         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
48177         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
48178         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
48179         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
48180         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
48181         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
48182         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
48183         Reported by Eric Blake.
48184
48185 2008-04-11  Bruno Haible  <bruno@clisp.org>
48186
48187         * lib/wchar.in.h: Tweak comment.
48188
48189 2008-04-11  Bruno Haible  <bruno@clisp.org>
48190
48191         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
48192         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
48193         gl_COMMON.
48194         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
48195
48196 2008-04-11  Bruno Haible  <bruno@clisp.org>
48197
48198         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
48199
48200 2008-04-11  Simon Josefsson  <simon@josefsson.org>
48201
48202         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
48203         of attempting to use non-existing /dev/*random.  Based on patch
48204         from Adam Strzelecki <ono@java.pl> in
48205         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
48206
48207 2008-04-08  Bruno Haible  <bruno@clisp.org>
48208
48209         Add tentative support for emx+gcc.
48210         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
48211         * lib/fpurge.c (fpurge): Likewise.
48212         * lib/freadable.c (freadable): Likewise.
48213         * lib/freadahead.c (freadahead): Likewise.
48214         * lib/freading.c (freading): Likewise.
48215         * lib/freadptr.c (freadptr): Likewise.
48216         * lib/freadseek.c (freadptrinc): Likewise.
48217         * lib/fseeko.c (rpl_fseeko): Likewise.
48218         * lib/fseterr.c (fseterr): Likewise.
48219         * lib/fwritable.c (fwritable): Likewise.
48220         * lib/fwriting.c (fwriting): Likewise.
48221         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
48222
48223 2008-04-09  Eric Blake  <ebb9@byu.net>
48224
48225         Avoid some autoconf warnings.
48226         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
48227         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
48228         * m4/afs.m4 (gl_AFS): Likewise.
48229         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
48230         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
48231         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48232         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
48233         (gl_INTEGER_TYPE_SUFFIX): Likewise.
48234         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
48235         (AC_CHECK_DECLS_ONCE): Likewise.
48236         Rename file...
48237         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
48238         gnulib-tool requires autoconf 2.59 or better.
48239         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
48240
48241 2008-04-08  Eric Blake  <ebb9@byu.net>
48242
48243         Use 'git describe --match' if present (added in git 1.5.5).
48244         * build-aux/git-version-gen: Limit result to tags that match 'v*'
48245         if possible.
48246
48247 2008-04-08  Bruno Haible  <bruno@clisp.org>
48248
48249         Add tentative support for OpenServer.
48250         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
48251         _ptr, _cnt.
48252         * lib/fpurge.c (fpurge): Likewise.
48253         * lib/freadable.c (freadable): Likewise.
48254         * lib/freadahead.c (freadahead): Likewise.
48255         * lib/freading.c (freading): Likewise.
48256         * lib/freadptr.c (freadptr): Likewise.
48257         * lib/freadseek.c (freadptrinc): Likewise.
48258         * lib/fseeko.c (rpl_fseeko): Likewise.
48259         * lib/fseterr.c (fseterr): Likewise.
48260         * lib/fwritable.c (fwritable): Likewise.
48261         * lib/fwriting.c (fwriting): Likewise.
48262         Reported by Roger Cornelius <rac@tenzing.org> and
48263         Brian K. White <brian@aljex.com>.
48264
48265 2008-04-06  Jim Meyering  <meyering@redhat.com>
48266
48267         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
48268
48269 2008-04-06  Bruno Haible  <bruno@clisp.org>
48270
48271         Avoid possible error with non-ASCII bytes in UTF-8 locales.
48272         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
48273         * tests/test-printf-posix.sh: Likewise.
48274         * tests/test-vfprintf-posix.sh: Likewise.
48275         * tests/test-vprintf-posix.sh: Likewise.
48276         * tests/test-xprintf-posix.sh: Likewise.
48277
48278 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48279
48280         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
48281         hide error from 'ls', needed on OS/2.
48282         Report by Elbert Pol <elbert.pol@gmail.com>.
48283
48284 2008-04-04  Eric Blake  <ebb9@byu.net>
48285
48286         Make test-fseeko.c failures meaningful.
48287         * tests/test-fseeko.c: Print line number on failure.
48288         * tests/test-fseek.c: Likewise.
48289         Reported by Nelson H. F. Beebe.
48290
48291         Improve strtod bug detection check.
48292         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
48293         required for Solaris 10.
48294         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
48295
48296 2008-04-04  Bruno Haible  <bruno@clisp.org>
48297
48298         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
48299         by m4/setenv.m4.
48300
48301 2008-04-03  Eric Blake  <ebb9@byu.net>
48302
48303         Ensure sane .version contents.
48304         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
48305         version string.
48306         * build-aux/git-version-gen: Improve documentation.
48307
48308         Make GNU make output nicer.
48309         * top/GNUmakefile [!_have-Makefile]: Add dependency on
48310         MAKECMDGOALS to enforce message for all command line targets.  Set
48311         srcdir for use in maint.mk.
48312
48313         Another maintainer tweak.
48314         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
48315         a target that regenerates version.
48316
48317 2008-04-03  Jim Meyering  <meyering@redhat.com>
48318
48319         vc-list-files: don't cause coreutils "make po-check" failure
48320         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
48321
48322 2008-04-03  Eric Blake  <ebb9@byu.net>
48323
48324         Allow VPATH usage of vc-list-files.
48325         * build-aux/vc-list-files (scriptversion): Add timestamp.
48326         (options): Add --help, --version, -C.
48327         (CVS): Support installed cvsu.
48328
48329 2008-04-02  Bruno Haible  <bruno@clisp.org>
48330
48331         Avoid some "statement with no effect" warnings from gcc.
48332         * tests/test-wctype.c (main): Explicitly ignore unused values.
48333         Reported by Jim Meyering.
48334
48335 2008-04-02  Jim Meyering  <meyering@redhat.com>
48336
48337         Avoid some warnings from "gcc -Wshadow".
48338         * tests/test-frexp.c (exp): Define to a different identifier.
48339         * tests/test-frexpl.c (exp): Likewise.
48340
48341 2008-04-03  Jim Meyering  <meyering@redhat.com>
48342
48343         bootstrap: remove dangling *.[ch] symlinks from lib
48344         * build-aux/bootstrap [dangling symlink removal]: Move find's
48345         -depth option to precede all others, to avoid a warning.
48346         Remove *.[ch] files too, and from "$source_base" (usually lib/).
48347
48348 2008-04-02  Bruno Haible  <bruno@clisp.org>
48349
48350         Avoid some warnings from "gcc -Wshadow".
48351         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
48352         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
48353         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
48354         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
48355         Reported by Jim Meyering.
48356
48357 2008-04-01  Bruno Haible  <bruno@clisp.org>
48358
48359         Fix test to work on IRIX 6.5 with cc.
48360         * tests/test-math.c (numeric_equal): New function.
48361         (main): Use it.
48362
48363 2008-04-01  Bruno Haible  <bruno@clisp.org>
48364
48365         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
48366
48367 2008-04-01  Bruno Haible  <bruno@clisp.org>
48368
48369         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
48370         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48371         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
48372         (Depends-on): Remove math.
48373
48374         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
48375         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48376         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
48377         (Depends-on): Remove math.
48378
48379         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
48380         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48381         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
48382         (Depends-on): Remove math.
48383         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
48384         (Depends-on): Remove math.
48385
48386         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
48387         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48388         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
48389         (Depends-on): Remove math.
48390         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
48391         (Depends-on): Remove math.
48392
48393         * tests/test-round1.c: Include nan.h.
48394         (main): Use NaNd instead of NAN.
48395         * modules/round-tests (Files): Add tests/nan.h.
48396
48397         * tests/test-trunc1.c: Include nan.h.
48398         (main): Use NaNd instead of NAN.
48399         * modules/trunc-tests (Files): Add tests/nan.h.
48400
48401         * tests/test-roundf1.c: Include nan.h.
48402         (main): Use NaNf instead of NAN.
48403         * modules/roundf-tests (Files): Add tests/nan.h.
48404
48405         * tests/test-truncf1.c: Include nan.h.
48406         (main): Use NaNf instead of NAN.
48407         * modules/truncf-tests (Files): Add tests/nan.h.
48408
48409         * tests/test-ceilf1.c: Include nan.h.
48410         (main): Use NaNf instead of NAN.
48411         * modules/ceilf-tests (Files): Add tests/nan.h.
48412
48413         * tests/test-floorf1.c: Include nan.h.
48414         (main): Use NaNf instead of NAN.
48415         * modules/floorf-tests (Files): Add tests/nan.h.
48416
48417         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
48418         (main): Use NaNf instead of NAN.
48419         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
48420
48421         * tests/test-isnand.c: Include nan.h instead of <math.h>.
48422         (main): Use NaNd instead of NAN.
48423         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
48424
48425         * tests/test-frexp.c: Include nan.h.
48426         (main): Use NaNd instead of NAN.
48427         * modules/frexp-tests (Files): Add tests/nan.h.
48428
48429         * lib/isnan.c: Don't include <math.h>.
48430         (FUNC): Don't use NAN macro.
48431         * modules/isnand-nolibm (Depends-on): Remove math.
48432         * modules/isnanf-nolibm (Depends-on): Remove math.
48433         * modules/isnanl (Depends-on): Remove math.
48434         * modules/isnanl-nolibm (Depends-on): Remove math.
48435
48436         * tests/nan.h: New file.
48437
48438 2008-04-01  Eric Blake  <ebb9@byu.net>
48439
48440         Fix typos.
48441         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
48442         values to be the right type.
48443
48444         For now, cater to gnulib strtod inaccuracies.
48445         * tests/test-strtod.c (main): Allow 1-ulp error on expected
48446         fractional results.  While not as nice from a QoI perspective, it
48447         is a quicker patch than correctly implementing decimal to binary
48448         rounding.
48449
48450 2008-03-31  Eric Blake  <ebb9@byu.net>
48451
48452         Guarantee a definition of NAN.
48453         * lib/math.in.h (NAN): Define if missing.
48454         * tests/test-math.c (main): Test it.
48455         * doc/posix-headers/math.texi (math.h): Document this.
48456         * lib/isnan.c (rpl_isnand): Use it.
48457         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
48458         * tests/test-floorf1.c (NaN): Likewise.
48459         * tests/test-frexp.c (NaN): Likewise.
48460         * tests/test-isnand.c (NaN): Likewise.
48461         * tests/test-isnanf.c (NaN): Likewise.
48462         * tests/test-round1.c (NaN): Likewise.
48463         * tests/test-roundf1.c (NaN): Likewise.
48464         * tests/test-snprintf-posix.h (NaN): Likewise.
48465         * tests/test-sprintf-posix.h (NaN): Likewise.
48466         * tests/test-trunc1.c (NaN): Likewise.
48467         * tests/test-truncf1.c (NaN): Likewise.
48468         * tests/test-vasnprintf-posix.c (NaN): Likewise.
48469         * tests/test-vasprintf-posix.c (NaN): Likewise.
48470         * modules/isnand-nolibm (Depends-on): Add math.
48471         * modules/isnanf-nolibm (Depends-on): Likewise.
48472         * modules/isnanl (Depends-on): Likewise.
48473         * modules/isnanl-nolibm (Depends-on): Likewise.
48474         * modules/snprintf-posix-tests (Depends-on): Likewise.
48475         * modules/sprintf-posix-tests (Depends-on): Likewise.
48476         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
48477         * modules/vsprintf-posix-tests (Depends-on): Likewise.
48478         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
48479         * modules/vasprintf-posix-tests (Depends-on): Likewise.
48480
48481 2008-03-31  Bruno Haible  <bruno@clisp.org>
48482
48483         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
48484         * doc/posix-functions/strtod.texi: Likewise.
48485
48486 2008-03-31  Bruno Haible  <bruno@clisp.org>
48487
48488         * tests/test-strtod.c (main): Don't use C99 syntax.
48489
48490 2008-03-31  Bruno Haible  <bruno@clisp.org>
48491
48492         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
48493         Reported by Eric Blake.
48494
48495 2008-03-31  Jim Meyering  <meyering@redhat.com>
48496
48497         Don't compare actual signbit return values.
48498         * tests/test-strtod.c (main): Rather, compare only their
48499         zero/non-zero nature.
48500
48501 2008-03-31  Eric Blake  <ebb9@byu.net>
48502
48503         More strtod documentation.
48504         * doc/posix-functions/strtod.texi (strtod): Interpret more test
48505         failures as distinct bugs.
48506
48507 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48508
48509         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
48510         Problem reported by Erik Benada in
48511         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
48512
48513 2008-03-30  Bruno Haible  <bruno@clisp.org>
48514
48515         * tests/test-strtod.c: Add comments about which assertion fails on which
48516         platform.
48517         * doc/posix-functions/strtod.texi: Add info about many more platforms.
48518
48519 2008-03-30  Eric Blake  <ebb9@byu.net>
48520
48521         Test signbit behavior on zeros.
48522         * tests/test-signbit.c (test_signbitf): Add tests for zero.
48523         (test_signbitd, test_signbitl): Likewise.
48524
48525         More strtod touchups.
48526         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
48527         sign of negative underflow, for now.  Use .5, not .1.
48528         * doc/posix-functions/strtod.texi (strtod): Mention these
48529         limitations.
48530         Reported by Jim Meyering.
48531
48532 2008-03-30  Bruno Haible  <bruno@clisp.org>
48533
48534         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
48535         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
48536
48537 2008-03-30  Bruno Haible  <bruno@clisp.org>
48538
48539         Avoid failure when attempting to return empty iconv results on some
48540         platforms.
48541         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
48542         allocation, don't report ENOMEM when the resulting string is empty.
48543
48544 2008-03-30  Bruno Haible  <bruno@clisp.org>
48545
48546         Fix buffer overrun.
48547         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
48548         Don't consider the width for tmp_length. Check count against tmp_length
48549         before doing the padding. Ensure enough allocation during padding.
48550
48551 2008-03-30  Eric Blake  <ebb9@byu.net>
48552
48553         strtod touchups.
48554         * lib/strtod.c (strtod): Avoid compiler warnings.
48555         Reported by Jim Meyering.
48556
48557 2008-03-30  Bruno Haible  <bruno@clisp.org>
48558
48559         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
48560         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
48561         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
48562         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
48563         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
48564         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
48565         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
48566         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
48567
48568         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
48569         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
48570         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
48571         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
48572         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
48573         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
48574         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
48575         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
48576
48577         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
48578         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
48579         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
48580         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
48581         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
48582         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
48583         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
48584         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
48585
48586         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
48587         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
48588
48589         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
48590         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
48591
48592         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
48593         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
48594
48595         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
48596         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
48597         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
48598
48599         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
48600         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
48601         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
48602
48603         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
48604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
48605         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
48606
48607         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
48608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
48609         * modules/vasprintf (Depends-on): Add EOVERFLOW.
48610
48611         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
48612         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
48613         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
48614         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
48615         (Depends-on): Add EOVERFLOW.
48616         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
48617         (Depends-on): Add EOVERFLOW.
48618         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
48619         (Depends-on): Add EOVERFLOW.
48620         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
48621         (Depends-on): Add EOVERFLOW.
48622         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
48623         (Depends-on): Add EOVERFLOW.
48624         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
48625         (Depends-on): Add EOVERFLOW.
48626         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
48627         (Depends-on): Add EOVERFLOW.
48628         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
48629         (Depends-on): Add EOVERFLOW.
48630
48631         * lib/sprintf.c (EOVERFLOW): Remove fallback.
48632         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
48633         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
48634
48635         * lib/snprintf.c (EOVERFLOW): Remove fallback.
48636         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
48637         * modules/snprintf (Depends-on): Add EOVERFLOW.
48638
48639         * lib/poll.c (EOVERFLOW): Remove fallback.
48640         * modules/poll (Depends-on): Add EOVERFLOW.
48641
48642         * lib/getugroups.c (EOVERFLOW): Remove fallback.
48643         * modules/getugroups (Depends-on): Add EOVERFLOW.
48644
48645         * lib/getdelim.c (EOVERFLOW): Remove fallback.
48646         * modules/getdelim (Depends-on): Add EOVERFLOW.
48647
48648         * lib/ftell.c (EOVERFLOW): Remove fallback.
48649         * modules/ftell (Depends-on): Add EOVERFLOW.
48650
48651         * lib/fprintf.c (EOVERFLOW): Remove fallback.
48652         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
48653         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
48654
48655         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
48656
48657         * modules/EOVERFLOW-tests: New file.
48658         * tests/test-EOVERFLOW.c: New file.
48659
48660         * modules/EOVERFLOW: New file.
48661         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
48662
48663 2008-03-30  Bruno Haible  <bruno@clisp.org>
48664
48665         Fix bug introduced on 2007-06-10.
48666         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
48667         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
48668
48669 2008-03-30  Bruno Haible  <bruno@clisp.org>
48670
48671         Improve freadseek's efficiency after ungetc.
48672         * lib/freadseek.c: Include freadahead.h.
48673         (freadptrinc): New function, extracted from freadseek.
48674         (freadseek): Use it in a loop. Use freadahead to determine the number
48675         of loop iterations.
48676         * modules/freadseek (Depends-on): Add freadahead.
48677         (configure.ac): Require AC_C_INLINE.
48678
48679 2008-03-30  Bruno Haible  <bruno@clisp.org>
48680
48681         * lib/freadseek.c (freadseek): Don't ignore the return value of
48682         freadptr.
48683
48684 2008-03-29  Eric Blake  <ebb9@byu.net>
48685
48686         Add hex float support.
48687         * modules/strtod (Depends-on): Add c-ctype.
48688         (Link): Mention POW_LIB.
48689         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
48690         whitespace between 'e' and exponent.
48691         * tests/test-strtod.c (main): Enable hex float tests.
48692         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
48693         now provides.
48694
48695         Document various strtod bugs, with some fixes.
48696         * doc/posix-functions/strtod.texi (strtod): Document bugs with
48697         "-0x", "inf", "nan", and hex constants.
48698         * doc/posix-functions/atof.texi (atof): Likewise.
48699         * modules/stdlib (Makefile.am): Support strtod.
48700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
48701         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
48702         detect additional strtod bugs.
48703         * lib/stdlib.in.h (rpl_strtod): Add declarations.
48704         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
48705         bool where appropriate.  Parse 'inf' and 'nan'.
48706         * tests/test-strtod.c: New file.
48707         * modules/strtod (Depends-on): Add stdbool, stdlib.
48708         (configure.ac): Turn on module indicator.
48709         * modules/strtod-tests: New module.
48710
48711 2008-03-29  Eric Blake  <ebb9@byu.net>
48712
48713         Fix ftell on mingw.
48714         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
48715         * modules/ftell-tests (Depends-on): Add binary-io.
48716         * modules/ftello-tests (Depends-on): Likewise.
48717         * tests/test-ftell.c (main): Enhance test to cover behavior after
48718         ungetc.  Enforce binary mode.
48719         * tests/test-ftello.c (main): Likewise.
48720
48721         Pass test-freadseek on cygwin.
48722         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
48723         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
48724         ungetc buffer.
48725
48726         * tests/test-fflush2.c (main): Fix typo.
48727
48728 2008-03-29  Bruno Haible  <bruno@clisp.org>
48729
48730         * tests/test-fflush2.c (main): Temporarily disable the contents of
48731         this test.
48732         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
48733         Reported by Eric Blake.
48734
48735 2008-03-28  Simon Josefsson  <simon@josefsson.org>
48736
48737         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
48738         (GC_SHA224_DIGEST_SIZE): Add.
48739
48740         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
48741         (gc_hash_digest_length): Likewise.
48742         (gc_hash_buffer): Likewise.
48743
48744 2008-03-25  Bruno Haible  <bruno@clisp.org>
48745
48746         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
48747         detail which gettext release to use.
48748         Reported by Simon Josefsson.
48749
48750 2008-03-26  Jim Meyering  <meyering@redhat.com>
48751
48752         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
48753         * modules/gnumakefile (clean-GNUmakefile): Also, use
48754         test ... && ... || : syntax rather than if-then ... fi.
48755
48756         gnumakefile: Don't double-quote-expand $(VPATH) value.
48757         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
48758
48759 2008-03-24  Eric Blake  <ebb9@byu.net>
48760
48761         Alter GNUmakefile to install into top directory.
48762         * modules/maintainer-makefile: Split, and add dependency...
48763         * modules/gnumakefile: to this new module.
48764         * build-aux/GNUmakefile: Move...
48765         * top/GNUmakefile: ...here.
48766         * build-aux/maint.mk: Move...
48767         * top/maint.mk: ...here.
48768         * MODULES.html.sh (Support for maintaining...): Document new
48769         module.
48770
48771 2008-03-23  Bruno Haible  <bruno@clisp.org>
48772
48773         * gnulib-tool: New options --vc-files, --no-vc-files.
48774         (func_usage): Document them.
48775         (vc_files): New variable.
48776         (func_import): Consider vc_files.
48777         (func_create_testdir): Set vc_files to empty.
48778         Suggested by Jim Meyering and Karl Berry.
48779
48780 2008-03-23  Bruno Haible  <bruno@clisp.org>
48781
48782         Fix regex compilation error on HP-UX 11.
48783         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
48784         * modules/regex (Files): Add m4/mbstate_t.m4.
48785         Reported by Ton Voon <ton.voon@altinity.com>.
48786
48787 2008-03-23  Bruno Haible  <bruno@clisp.org>
48788
48789         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
48790
48791 2008-03-23  Eric Blake  <ebb9@byu.net>
48792             Bruno Haible  <bruno@clisp.org>
48793
48794         Install files from top/ in the destination directory.
48795         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
48796         augmentation also for the files from top/.
48797         (func_import, func_create_testdir): Rewrite file names:
48798         top/filename -> filename.
48799
48800 2008-03-23  Bruno Haible  <bruno@clisp.org>
48801
48802         Tweak "gnulib --version" output.
48803         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
48804
48805 2008-03-23  Bruno Haible  <bruno@clisp.org>
48806
48807         Tweak "gnulib --version" output.
48808         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
48809         rather than contents of ChangeLog, when possible.
48810
48811 2008-03-21  Eric Blake  <ebb9@byu.net>
48812
48813         More --version tweaks.
48814         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
48815         date of last ChangeLog entry.
48816
48817 2008-03-21  Jim Meyering  <meyering@redhat.com>
48818
48819         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
48820
48821 2008-03-20  Eric Blake  <ebb9@byu.net>
48822
48823         VPATH fix.
48824         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
48825
48826 2008-03-20  Simon Josefsson  <simon@josefsson.org>
48827
48828         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
48829         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
48830
48831 2008-03-20  Eric Blake  <ebb9@byu.net>
48832
48833         Sync GNUmakefile with coreutils.
48834         * build-aux/GNUmakefile (have-Makefile): Rename...
48835         (_have-Makefile): ...to this, for namespace consideration.
48836         (GNUmakefile.cfg): Include, if present.
48837         (_autoreconf): Define a default.
48838         (_is-dist-target): New rule for rebuilds to pick up intra-release
48839         version.
48840         (maint-cfg.mk): Rename...
48841         (cfg.mk): ...to this.
48842
48843 2008-03-18  Jim Meyering  <meyering@redhat.com>
48844
48845         New script and module: mktempd
48846         * MODULES.html.sh (maint+release support): Add mktempd.
48847         * build-aux/mktempd: New file.
48848         * modules/mktempd: New file.
48849
48850 2008-03-15  Jim Meyering  <meyering@redhat.com>
48851
48852         Undo last change.
48853         * lib/sha1.c, lib/md5.c: 63 != ~63.
48854         Reported by Andreas Schwab.
48855
48856         sha1.c, md5.c: Hoist a redundant expression.
48857         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
48858         "ctx->buflen" only once, before calling *_process_block.
48859         * lib/md5.c (md5_process_bytes): Likewise.
48860
48861 2008-03-14  Eric Blake  <ebb9@byu.net>
48862
48863         Bump copyright year in files generated by gnulib-tool.
48864         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
48865         gnulib-tool, rather than hard-coding it.
48866
48867         Fix 'gnulib-tool --version' output to work with git.
48868         * gnulib-tool (func_gnulib_dir): New function, extracted from...
48869         (startup): ...here.
48870         (func_version): Use it to invoke git-version-gen, rather than
48871         relying on CVS keyword expansion.  Modernize wording.
48872         (cvsdatestamp, last_checkin_date, version): Kill unused
48873         variables.
48874
48875 2008-03-12  Jim Meyering  <meyering@redhat.com>
48876
48877         Recognize optional cast of the argument to free.
48878         * build-aux/useless-if-before-free: Update regexps.
48879
48880         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
48881
48882 2008-03-11  Bruno Haible  <bruno@clisp.org>
48883
48884         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
48885         by a single package.
48886         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
48887         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
48888         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
48889         Reported by Sam Steingold <sds@gnu.org>.
48890
48891 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48892
48893         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
48894         repositories.
48895
48896 2008-03-11  Bruno Haible  <bruno@clisp.org>
48897
48898         Avoid conflicts between local macro definitions.
48899         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
48900         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
48901
48902 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
48903             Bruno Haible  <bruno@clisp.org>
48904
48905         Make va_copy work with some version of xlc on AIX 5.1.
48906         * lib/stdarg.in.h: New file.
48907         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
48908         On AIX, use a <stdarg.h> file substitute.
48909         * modules/stdarg (Files): Add lib/stdarg.in.h.
48910         (Depends-on): Add include_next.
48911         (Makefile.am): Build a stdarg.h substitute if requested.
48912         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
48913
48914 2008-03-10  Bruno Haible  <bruno@clisp.org>
48915
48916         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
48917         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48918         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
48919
48920 2008-03-10  Bruno Haible  <bruno@clisp.org>
48921
48922         * modules/stdlib (Depends-on): Add include_next, remove
48923         absolute-header.
48924
48925 2008-03-09  Bruno Haible  <bruno@clisp.org>
48926
48927         * lib/freadahead.h (freadahead): Document more precisely.
48928         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
48929         the sum of both buffer sizes.
48930         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
48931         * NEWS: Document the change.
48932
48933 2008-03-09  Bruno Haible  <bruno@clisp.org>
48934
48935         Extend freadptr to return also the buffer size.
48936         * lib/freadptr.h (freadptr): Add sizep argument.
48937         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
48938         (freadptr): Add sizep argument. Determine buffer size like freadahead
48939         does.
48940         * tests/test-freadptr.c: Don't include freadahead.h.
48941         (main): Adapt for new calling convention of freadptr.
48942         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
48943         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
48944         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
48945         tests/test-freadptr2.sh.
48946         (Depends): Remove freadahead.
48947         (TESTS): Add test-freadptr2.sh.
48948         (check_PROGRAMS): Add test-freadptr2.
48949
48950 2008-03-09  Bruno Haible  <bruno@clisp.org>
48951
48952         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
48953         Report and solution by Simon Josefsson.
48954
48955 2008-03-06  Bruno Haible  <bruno@clisp.org>
48956
48957         Make fflush after ungetc work on BSD platforms.
48958         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
48959         * tests/test-fflush2.c: New file.
48960         * tests/test-fflush2.sh: New file.
48961         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
48962         tests/test-fflush2.c.
48963         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
48964         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
48965
48966 2008-03-06  Eric Blake  <ebb9@byu.net>
48967
48968         Likewise for ftello.
48969         * modules/ftello (Dependencies): Add extensions.
48970         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
48971
48972 2008-03-06  Bruno Haible  <bruno@clisp.org>
48973
48974         * modules/fseeko (Dependencies): Add extensions.
48975         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
48976         Needed on glibc systems.
48977
48978 2008-03-06  Bruno Haible  <bruno@clisp.org>
48979
48980         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
48981         email address.
48982         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48983
48984 2008-03-06  Bruno Haible  <bruno@clisp.org>
48985
48986         * users.txt: Add libgnupdf.
48987
48988 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48989
48990         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
48991         (Header File Substitutes, Function Substitutes,
48992         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
48993         (Build robot for gnulib): Fix typo.
48994
48995 2008-03-06  Bruno Haible  <bruno@clisp.org>
48996
48997         * doc/gnulib-tool.texi (VCS Issues): Small updates.
48998         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48999
49000 2008-03-06  Bruno Haible  <bruno@clisp.org>
49001
49002         * doc/func.texi: New file, extracted from doc/gnulib.texi.
49003         * doc/gnulib.texi: Include it.
49004
49005 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49006
49007         * modules/func (License): Change license to unlimited; there was
49008         no LGPL parts in the module anyway.
49009
49010 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49011
49012         * modules/__func__: Renamed to modules/func.
49013         * modules/__func__-tests: Renamed to modules/func-tests.
49014         * tests/test-__func__.c: Renamed to tests/test-func.c.
49015         * m4/__func__.m4: Renamed to m4/func.m4.
49016         * doc/gnulib.texi (__func__): Section renamed to func.
49017         Suggested by Eric Blake <ebb9@byu.net>.
49018
49019 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49020
49021         * doc/gnulib.texi (__func__): Use C99 terminology when talking
49022         about __func__.  Make example self-contained.  Suggested by Eric
49023         Blake <ebb9@byu.net>.
49024
49025         * tests/test-__func__.c (main): Avoid extraneous () around __func.
49026         Suggested by Eric Blake <ebb9@byu.net>.
49027
49028 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49029
49030         * modules/__func__: New file.
49031         * modules/__func__-tests: New file.
49032         * tests/test-__func__.c: New file.
49033         * m4/__func__.m4: New file.
49034         * doc/gnulib.texi (__func__): Document __func__ module.
49035
49036 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49037
49038         * modules/byteswap (License): Re-license as LGPLv2+.
49039
49040 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49041
49042         * doc/Makefile: Add pdf target.
49043
49044 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49045
49046         * modules/inline (License): Use 'unlimited', since there are only
49047         *.m4 files in this module.
49048
49049 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
49050             Bruno Haible  <bruno@clisp.org>
49051
49052         Add support for HP C 7.1 on OpenVMS 8.3.
49053         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
49054
49055 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
49056
49057         Update VMS specifics.
49058         * lib/getopt.c [VMS]: Remove include of unixlib.h.
49059
49060 2008-03-02  Jim Meyering  <meyering@redhat.com>
49061
49062         Remove the last dependency on the "free" module.
49063         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
49064         Reported by Bob Proulx.
49065
49066         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
49067
49068         Remove useless "if" tests before free.  Deprecate "free" module.
49069         * doc/posix-functions/free.texi: Mention that this
49070         module is no longer useful.
49071         * modules/free (Notice): Say this module is obsolete.
49072         * modules/readutmp (Depends-on): Remove free.
49073         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
49074         * lib/putenv.c (putenv): Likewise.
49075         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
49076         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
49077         * tests/test-c-strcasestr.c (main): Likewise.
49078         * tests/test-c-strstr.c (main): Likewise.
49079         * tests/test-mbscasestr1.c (main): Likewise.
49080         * tests/test-mbscasestr2.c (main): Likewise.
49081         * tests/test-mbsstr1.c (main): Likewise.
49082         * tests/test-mbsstr2.c (main): Likewise.
49083         * tests/test-memmem.c (main): Likewise.
49084         * tests/test-strcasestr.c (main): Likewise.
49085         * tests/test-striconv.c (main): Likewise.
49086         * tests/test-striconveh.c (main): Likewise.
49087         * tests/test-striconveha.c (main): Likewise.
49088         * tests/test-strstr.c (main): Likewise.
49089
49090         * build-aux/git-version-gen: Adjust a comment and the Usage string.
49091
49092         bootstrap: sync from coreutils again
49093         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
49094
49095 2008-03-01  Jim Meyering  <meyering@redhat.com>
49096
49097         bootstrap: sync from coreutils
49098         * build-aux/bootstrap (update_po_files): Copy a .po file into place
49099         also when the target doesn't exist.
49100
49101 2008-03-01  Eric Blake  <ebb9@byu.net>
49102
49103         Fix bugs in last patch.
49104         * lib/memchr2.c (memchr2): Fix typo.
49105         * tests/test-memchr2.c: Test previous bug, and don't use GNU
49106         extension.
49107         Reported by Bruce Korb.
49108
49109         New module 'memchr2'.
49110         * modules/memchr2: New file.
49111         * modules/memchr2-tests: Likewise.
49112         * lib/memchr2.h: Likewise.
49113         * lib/memchr2.c: Likewise, based on memchr.c.
49114         * tests/test-memchr2.c: New test.
49115         * MODULES.html.sh (String handling): Add memchr2.
49116
49117 2008-02-29  Bruno Haible  <bruno@clisp.org>
49118
49119         * modules/freadseek-tests: New file.
49120         * tests/test-freadseek.sh: New file.
49121         * tests/test-freadseek.c: New file.
49122
49123         New module 'freadseek'.
49124         * modules/freadseek: New file.
49125         * lib/freadseek.h: New file.
49126         * lib/freadseek.c: New file.
49127         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
49128
49129 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49130
49131         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
49132         wydawca.
49133
49134         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
49135         program_invocation_name and program_invocation_short_name are
49136         present.
49137
49138 2008-02-28  Bruno Haible  <bruno@clisp.org>
49139
49140         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
49141         * tests/test-freadptr.sh: Also test non-seekable stdin.
49142
49143 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
49144
49145         * build-aux/bootstrap (source_base, m4_base)
49146         (doc_base, tests_base): New variables.
49147         (gnulib_tool_options): Do not hardcode base directories, use
49148         the above variables instead.
49149
49150 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
49151
49152         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
49153
49154 2008-02-28  Bruno Haible  <bruno@clisp.org>
49155
49156         * modules/freadptr-tests: New file.
49157         * tests/test-freadptr.sh: New file.
49158         * tests/test-freadptr.c: New file.
49159
49160         New module 'freadptr'.
49161         * modules/freadptr: New file.
49162         * lib/freadptr.h: New file.
49163         * lib/freadptr.c: New file.
49164         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
49165
49166 2008-02-26  Karl Berry  <karl@freefriends.org>
49167
49168         Sync from Libtool:
49169         * libltdl/argz.c (argz_add, argz_count): New functions.
49170         * libltdl/argz.in.h: Declare them.
49171         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
49172
49173 2008-02-22  Bruno Haible  <bruno@clisp.org>
49174
49175         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
49176         is a pointer type.  Needed for HP-UX 10.
49177         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
49178         * doc/posix-functions/gmtime_r.texi: Likewise.
49179         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
49180
49181 2008-02-24  Bruno Haible  <bruno@clisp.org>
49182
49183         * modules/environ-tests: New file.
49184         * tests/test-environ.c: New file.
49185
49186         New module 'environ'.
49187         * modules/environ: New file.
49188         * lib/unistd.in.h (environ): New declaration.
49189         * m4/environ.m4: New file.
49190         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
49191         after use.
49192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
49193         HAVE_DECL_ENVIRON.
49194         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
49195         HAVE_DECL_ENVIRON.
49196         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
49197         wrong claim that 'environ' is missing on some systems.
49198         * modules/execute (Depends-on): Add environ.
49199         * lib/execute.c (environ): Remove fallback declaration.
49200         * modules/pipe (Depends-on): Add environ.
49201         * lib/pipe.c (environ): Remove fallback declaration.
49202         * modules/setenv (Depends-on): Add environ.
49203         * lib/setenv.c (environ): Remove fallback declaration.
49204         * modules/unsetenv (Depends-on): Add environ.
49205         * lib/unsetenv.c (environ): Remove fallback declaration.
49206         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
49207         m4/environ.m4.
49208         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
49209         (gl_PREREQ_UNSETENV): Likewise.
49210
49211 2008-02-24  Bruno Haible  <bruno@clisp.org>
49212
49213         * doc/posix-functions/environ.texi: Document the MacOS X problem.
49214
49215 2008-02-20  Bob Proulx  <bob@proulx.com>
49216
49217         Enable use of older two part flavor 'git describe'.
49218         * build-aux/git-version-gen: If using the older two part flavor of
49219         git version then recreate the third part now present in the
49220         newer three part flavor of git describe.
49221
49222 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
49223
49224         * lib/fts.c (fts_build): Typo correction to comment.
49225
49226 2008-02-17  Bruno Haible  <bruno@clisp.org>
49227
49228         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
49229         generating no-op conflicts.
49230
49231 2008-02-17  Bruno Haible  <bruno@clisp.org>
49232
49233         Speed up by 10%.
49234         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
49235         result_entries, rather than an index-based loop.
49236
49237 2008-02-17  Bruno Haible  <bruno@clisp.org>
49238
49239         Speed up by 25%.
49240         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
49241         'hashcode_cached'.
49242         (entry_create): New function.
49243         (entry_hashcode): Use the cached hashcode if possible.
49244         (read_changelog_file, try_split_merged_entry): Use entry_create.
49245
49246 2008-02-17  Bruno Haible  <bruno@clisp.org>
49247
49248         Speed up from O(n^2) to O(n) for long ChangeLog files.
49249         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
49250         (read_changelog_file): Change implementation of entries_reversed list
49251         to rbtreehash.
49252         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
49253
49254 2008-02-17  Bruno Haible  <bruno@clisp.org>
49255
49256         New option --split-merged-entry.
49257         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
49258         (find_paragraph_end, try_split_merged_entry): New functions.
49259         (long_options): Add option --split-merged-entry.
49260         (usage): Document option --split-merged-entry.
49261         (main): Implement option --split-merged-entry.
49262         Reported by Eric Blake.
49263
49264 2008-02-17  Bruno Haible  <bruno@clisp.org>
49265
49266         * lib/git-merge-changelog.c: Include c-strstr.h.
49267         (main): Support the "git pull --rebase" situation.
49268         * modules/git-merge-changelog (Depends-on): Add c-strstr.
49269         Reported by Eric Blake.
49270
49271 2008-02-16  Eric Blake  <ebb9@byu.net>
49272
49273         Avoid doubling \ in common case of "c-maybe" quoting style.
49274         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
49275         eliding outer quotes.
49276         * lib/quotearg.h: Document this.
49277         * tests/test-quotearg.c (result_strings, inputs, results_g)
49278         (flag_results, locale_results): Test it by adding a new string to
49279         each test group.
49280         (compare_strings): Test new string.
49281
49282 2008-02-13  Eric Blake  <ebb9@byu.net>
49283
49284         Avoid trigraph quoting in default output.
49285         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
49286         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
49287         unless explicitly requested.
49288         * tests/test-quotearg.c (flag_results, main): Add additional tests.
49289
49290 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
49291
49292         Don't rely on signed integer overflowing to negative value.
49293         * lib/getugroups.c (getugroups): Include <limits.h>.
49294         Instead, compare against INT_MAX, and increment only if the test passes.
49295
49296 2008-02-13  Jim Meyering  <meyering@redhat.com>
49297         and Eric Blake  <ebb9@byu.net>
49298
49299         Avoid shadowing warning and compile errors on Linux.
49300         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
49301         forwarding macros on Linux.
49302         (dcgettext): Define a stub, for Linux.
49303         (results_g, main): Avoid warnings.
49304
49305 2008-02-12  Eric Blake  <ebb9@byu.net>
49306
49307         Silence warning in last patch.
49308         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
49309
49310         Quotearg part 4: add tests, fix c-maybe colon quoting.
49311         * lib/quotearg.h: Improve documentation.
49312         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
49313         escapes when adding outer quotes.  When quoting trigraphs, use
49314         valid C notation.  When quoting NUL, omit extra characters if next
49315         character is not digit.  Alter prototype.
49316         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
49317         callers.
49318         * modules/quotearg-tests: New module.
49319         * tests/test-quotearg.c: New test.
49320
49321 2008-02-07  Eric Blake  <ebb9@byu.net>
49322
49323         Quotearg part 3: add flag to control outer quote elision.
49324         * lib/quotearg.h (c_maybe_quoting_style): New style.
49325         (enum quoting_flags): Better documentation of flags.
49326         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
49327         c-maybe style.
49328         (quotearg_buffer_restyled): Handle new flag to elide outer
49329         quotes.
49330
49331         Quotearg part 2: add flag that can control NUL elision.
49332         * lib/quotearg.h (set_quoting_flags): New prototype.
49333         * lib/quotearg.c (struct quoting_options): Add flag field.
49334         (set_quoting_flags): New function.
49335         (quotearg_buffer_restyled): Add flags parameter.
49336         (quotearg_alloc_mem): Set the flag if length cannot be returned.
49337         (quotearg_n_options): Set the flag, since length cannot be
49338         returned.
49339         (quoting_options_from_style): Default flags correctly.
49340
49341         Quotearg part 1: more wrappers, restore quotearg_char state.
49342         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
49343         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
49344         (quotearg_colon_mem): New wrappers.
49345         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
49346         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
49347         functions.
49348         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
49349         (quotearg_colon_mem): New functions.
49350
49351 2008-02-11  Bruno Haible  <bruno@clisp.org>
49352
49353         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
49354         library in the current directory: it does not work with parallel make.
49355         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49356
49357 2008-02-11  Bruno Haible  <bruno@clisp.org>
49358
49359         * .gitattributes: New file.
49360
49361 2008-02-11  Jim Meyering  <meyering@redhat.com>
49362
49363         useless-if-before-free: Fix reversed exit values.
49364         * build-aux/useless-if-before-free: Use correct values
49365         for EXIT_MATCH and EXIT_NO_MATCH.
49366
49367         * build-aux/useless-if-before-free: Close stdout carefully.
49368
49369 2008-02-10  Bruno Haible  <bruno@clisp.org>
49370
49371         New module 'git-merge-changelog'.
49372         * modules/git-merge-changelog: New file.
49373         * lib/git-merge-changelog.c: New file.
49374
49375 2008-02-10  Jim Meyering  <meyering@redhat.com>
49376
49377         useless-if-before-free: New option: --list (-l).
49378
49379         useless-if-before-free: Don't exit immediately upon open failure.
49380         * build-aux/useless-if-before-free: Exit 2 for errors.
49381         Upon failure to open a file, don't exit immediately.
49382         Rather, just warn and continue with any remaining files.
49383
49384 2008-02-10  Bruno Haible  <bruno@clisp.org>
49385
49386         New abstract list operation 'node_set_value'.
49387         * lib/gl_list.h (gl_list_node_set_value): New function.
49388         (struct gl_list_implementation): New field node_set_value.
49389         * lib/gl_list.c (gl_list_node_set_value): New function.
49390         * lib/gl_array_list.c (gl_array_node_set_value): New function.
49391         (gl_array_list_implementation): Update.
49392         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
49393         (gl_carray_list_implementation): Update.
49394         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
49395         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
49396         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
49397         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
49398         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
49399         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
49400         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
49401         Update.
49402         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
49403         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
49404         (gl_sublist_list_implementation): Update.
49405
49406 2008-02-10  Bruno Haible  <bruno@clisp.org>
49407
49408         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
49409         Needed when ELEMENT is #defined to 'some_type *'.
49410
49411 2008-02-10  Jim Meyering  <meyering@redhat.com>
49412
49413         New script and module: useless-if-before-free
49414         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
49415         * build-aux/useless-if-before-free: New file.
49416         * modules/useless-if-before-free: New file.
49417
49418         * build-aux/gitlog-to-changelog: Use committer date, not author date.
49419
49420         xstrtol_error: Fix typo.
49421         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
49422         s/exit_failure/exit_status/.
49423
49424 2008-02-09  Jim Meyering  <meyering@redhat.com>
49425
49426         New script and module: gitlog-to-changelog
49427         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
49428         * modules/gitlog-to-changelog: New file.
49429         * build-aux/gitlog-to-changelog: New file.
49430
49431 2008-02-08  Jim Meyering  <meyering@redhat.com>
49432
49433         Avoid two "parameter unused" warnings.
49434         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
49435         Mark "st" as used.
49436
49437         Use "git COMMAND", not "git-COMMAND".
49438         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
49439         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
49440         * build-aux/git-version-gen: Use "git status", not "git-status".
49441
49442 2008-02-07  Bruno Haible  <bruno@clisp.org>
49443
49444         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
49445         Avoids a crash on Windows Vista.
49446         Reported by Adam Strzelecki <ono@java.pl> via
49447         Simon Josefsson <simon@josefsson.org>.
49448
49449 2008-02-06  Bruno Haible  <bruno@clisp.org>
49450
49451         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
49452         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
49453         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
49454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
49455         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49456         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49457         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
49458         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
49459         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49460         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49462         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49465         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49466         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
49467         left-adjust flag.
49468         * tests/test-snprintf-posix.h (test_function): Likewise.
49469         * tests/test-sprintf-posix.h (test_function): Likewise.
49470         * tests/test-vasprintf-posix.c (test_function): Likewise.
49471         * doc/posix-functions/fprintf.texi: Update.
49472         * doc/posix-functions/printf.texi: Update.
49473         * doc/posix-functions/snprintf.texi: Update.
49474         * doc/posix-functions/sprintf.texi: Update.
49475         * doc/posix-functions/vfprintf.texi: Update.
49476         * doc/posix-functions/vprintf.texi: Update.
49477         * doc/posix-functions/vsnprintf.texi: Update.
49478         * doc/posix-functions/vsprintf.texi: Update.
49479         Reported by Peter Fales <psfales@alcatel-lucent.com>.
49480
49481 2008-02-06  Bruno Haible  <bruno@clisp.org>
49482
49483         Fix bug introduced on 2008-01-26.
49484         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
49485
49486 2008-02-06  Bruno Haible  <bruno@clisp.org>
49487
49488         Fix bug introduced on 2007-06-10.
49489         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
49490         !NEED_PRINTF_FLAG_ZERO.
49491
49492 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
49493
49494         getloadavg: use libperfstat on AIX5
49495         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
49496
49497 2008-02-03  Bruno Haible  <bruno@clisp.org>
49498
49499         * lib/diffseq.h: Add comments about required #includes.
49500         Reported by Michael Biggs <gnulib@doubleplum.net>.
49501
49502 2008-02-01  Bruno Haible  <bruno@clisp.org>
49503
49504         * users.txt: Add gnuit.
49505
49506 2008-01-31  Bruno Haible  <bruno@clisp.org>
49507
49508         * lib/md4.c (set_uint32): Mark as inline.
49509         * lib/md5.c (set_uint32): Likewise.
49510         * lib/sha1.c (set_uint32): Likewise.
49511         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
49512         * m4/md5.m4 (gl_MD5): Likewise.
49513         * m4/sha1.m4 (gl_SHA1): Likewise.
49514
49515 2008-01-31  Jim Meyering  <meyering@redhat.com>
49516
49517         Use "sizeof VAR", rather than a literal "4".
49518         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
49519         * lib/md4.c (md4_read_ctx): Likewise.
49520         * lib/sha1.c (sha1_read_ctx): Likewise.
49521
49522 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49523
49524         * tests/test-sha1.c: New file, based on test-md5.c.
49525
49526         * modules/crypto/sha1-tests: New file.
49527
49528 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49529
49530         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
49531
49532 2008-01-31  Jim Meyering  <meyering@redhat.com>
49533
49534         Prefer "sizeof v" over the equivalent "4".
49535         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
49536         * lib/md5.c (set_uint32): Likewise.
49537         * lib/sha1.c (set_uint32): Likewise.
49538
49539 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49540
49541         * lib/sha1.c (set_uint32): Mark function as static.
49542
49543 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49544
49545         md2: clarify comments to say that alignment is not required.
49546         * lib/md2.h: Remove warning about alignment in comment.
49547         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
49548         never been required.
49549
49550 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49551
49552         md4: adapt alignment constraint fix from sha1.
49553         * lib/md4.c (set_uint32): New function, from sha1.c
49554         (md4_read_ctx): Use it.
49555         (md4_finish_ctx): Doc fix.
49556         * lib/md4.h: Doc fix.
49557
49558 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49559
49560         md5: adapt alignment constraint fix from sha1.
49561         * lib/md5.c (set_uint32): New function, from sha1.c
49562         (md5_read_ctx): Use it.
49563         (md5_finish_ctx): Doc fix.
49564         * lib/md5.h: Doc fix.
49565
49566 2008-01-30  Peter Palfrader  <weasel@debian.org>
49567
49568         sha1: remove the result buffer alignment constraint
49569         * lib/sha1.c (set_uint32): New function.
49570         (sha1_read_ctx): Rewrite to remove the result buffer alignment
49571         constraint.
49572         (sha1_finish_ctx): Remove comment warning about alignment constraint.
49573         * lib/sha1.h: Likewise.
49574
49575 2008-01-30  Andreas Schwab  <schwab@suse.de>
49576             Bruno Haible  <bruno@clisp.org>
49577
49578         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
49579         correct definition of LDBL_MIN_EXP.
49580
49581 2008-01-30  Karl Berry  <karl@gnu.org>
49582
49583         * config/srclist-update: try to preserve x bit on updates.
49584         * config/srclistvars.sh: update for karl.
49585
49586 2008-01-29  Jim Meyering  <meyering@redhat.com>
49587
49588         vasnprintf.c: Avoid warning about unused label
49589         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
49590         "overflow" label definition and associated code with the
49591         same cpp condition that guards the sole use of that label.
49592
49593 2008-01-26  Bruno Haible  <bruno@clisp.org>
49594
49595         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
49596         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
49597         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
49598         * lib/isnanl-nolibm.h (isnanl): Likewise.
49599         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49600
49601 2008-01-26  Bruno Haible  <bruno@clisp.org>
49602
49603         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
49604         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
49605
49606 2008-01-26  Bruno Haible  <bruno@clisp.org>
49607
49608         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
49609         GCC >= 4.0 built-in.
49610         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
49611
49612 2008-01-26  Bruno Haible  <bruno@clisp.org>
49613
49614         Rename isnan, applicable to 'double' only, to isnand.
49615         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
49616         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
49617         (configure.ac): Update.
49618         (Include): Replace "isnan.h" with "isnand.h".
49619         * m4/isnand.m4: Renamed from m4/isnan.m4.
49620         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
49621         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
49622         instead of isnan.c.
49623         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
49624         instead of HAVE_ISNAN_IN_LIBC.
49625         (isnand): Renamed from isnan.
49626         * lib/isnand.c: New file.
49627         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
49628         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
49629         (Makefile.am): Update.
49630         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
49631         Include isnand.h instead of isnan.h.
49632         (main): Test isnand instead of isnan.
49633         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
49634         isnan-nolibm.
49635         * modules/frexp (Depends-on): Likewise.
49636         * modules/frexp-tests (Depends-on): Likewise.
49637         * modules/frexp-nolibm (Depends-on): Likewise.
49638         * modules/frexp-nolibm-tests (Depends-on): Likewise.
49639         * modules/isfinite (Depends-on): Likewise.
49640         * modules/round-tests (Depends-on): Likewise.
49641         * modules/signbit (Depends-on): Likewise.
49642         * modules/signbit-tests (Depends-on): Likewise.
49643         * modules/snprintf-posix (Depends-on): Likewise.
49644         * modules/sprintf-posix (Depends-on): Likewise.
49645         * modules/trunc-tests (Depends-on): Likewise.
49646         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49647         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49648         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49649         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49650         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49651         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49652         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49653         * modules/vasnprintf-posix (Depends-on): Likewise.
49654         * modules/vasprintf-posix (Depends-on): Likewise.
49655         * modules/vfprintf-posix (Depends-on): Likewise.
49656         * modules/vsnprintf-posix (Depends-on): Likewise.
49657         * modules/vsprintf-posix (Depends-on): Likewise.
49658         * lib/frexp.c: Include isnand.h instead of isnan.h.
49659         (ISNAN): Set to isnand instead of isnan.
49660         * lib/isfinite.c: Include isnand.h instead of isnan.h.
49661         (gl_isfinited): Use isnand instead of isnan.
49662         * lib/signbitd.c: Include isnand.h instead of isnan.h.
49663         (gl_signbitd): Use isnand instead of isnan.
49664         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
49665         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
49666         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
49667         (main): Use isnand instead of isnan.
49668         * tests/test-round1.c: Include isnand.h.
49669         (main): Use isnand instead of isnan.
49670         * tests/test-round2.c: Include isnand.h instead of isnan.h.
49671         (ISNAN): Set to isnand instead of isnan.
49672         * tests/test-trunc1.c: Include isnand.h.
49673         (main): Use isnand instead of isnan.
49674         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
49675         (equal): Use isnand instead of isnan.
49676         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
49677         isnand-nolibm.
49678         * NEWS: Mention the change.
49679
49680 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
49681             Bruno Haible  <bruno@clisp.org>
49682
49683         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
49684         the GCC builtins for signbits are present and set
49685         REPLACE_SIGNBIT_USING_GCC if so.
49686         * lib/math.in.h (signbit): Define using GCC builtins if
49687         REPLACE_SIGNBIT_USING_GCC is set.
49688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
49689         REPLACE_SIGNBIT_USING_GCC.
49690         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
49691
49692 2008-01-25  Jim Meyering  <meyering@redhat.com>
49693
49694         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
49695         * lib/poll.c: Include <config.h>, not "config.h".
49696         * tests/test-getaddrinfo.c: Likewise.
49697
49698 2008-01-25  Simon Josefsson  <simon@josefsson.org>
49699
49700         * modules/sockets-tests: New file.
49701
49702 2008-01-24  Simon Josefsson  <simon@josefsson.org>
49703
49704         * modules/sockets: New module, can be used to call WSA_Startup and
49705         WSA_Cleanup when needed.
49706
49707         * lib/sockets.h, lib/sockets.c: New files.
49708
49709         * m4/sockets.m4: New file.
49710
49711         * tests/test-sockets.c: New file.
49712
49713 2008-01-19  Bruno Haible  <bruno@clisp.org>
49714
49715         * doc/posix-headers: Renamed from doc/headers.
49716         * doc/posix-functions: Renamed from doc/functions.
49717         * doc/gnulib.texi: Update.
49718
49719 2008-01-19  Bruno Haible  <bruno@clisp.org>
49720
49721         * doc/glibc-functions/strcasestr.texi: Include contents of
49722         doc/functions/strcasestr.texi, fixing the list of platforms.
49723         * doc/functions/strcasestr.texi: Remove file.
49724
49725 2008-01-19  Bruno Haible  <bruno@clisp.org>
49726
49727         * doc/glibc-functions/memmem.texi: Include contents of
49728         doc/functions/memmem.texi.
49729         * doc/functions/memmem.texi: Remove file.
49730
49731 2008-01-18  Bruno Haible  <bruno@clisp.org>
49732
49733         * doc/glibc-functions/*.texi: New files.
49734         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
49735         to use the new files.
49736
49737 2008-01-17  Bruno Haible  <bruno@clisp.org>
49738
49739         * tests/test-gethostname.c (main): Fix printf statement.
49740
49741 2008-01-17  Simon Josefsson  <simon@josefsson.org>
49742
49743         * modules/gethostname-tests: New file.
49744
49745         * tests/test-gethostname.c: New file.
49746
49747 2008-01-17  Simon Josefsson  <simon@josefsson.org>
49748
49749         * lib/gethostname.c: Include string.h unconditionally, strncpy is
49750         used by the UNAME case.  Reported by Bruno Haible
49751         <bruno@clisp.org>.
49752
49753 2008-01-17  Eric Blake  <ebb9@byu.net>
49754
49755         Convert c-strcasestr to be more efficient.
49756         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
49757         (Depends-on): Add c-strcase, remove malloca, strnlen.
49758         * tests/test-c-strcasestr.c (main): Enhance test.
49759         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
49760
49761 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
49762
49763         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
49764         Use it in creating po/Makevars.
49765
49766 2008-01-15  Simon Josefsson  <simon@josefsson.org>
49767
49768         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
49769         Applications that requires it should initialize libgcrypt
49770         manually.
49771
49772 2008-01-16  Simon Josefsson  <simon@josefsson.org>
49773
49774         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
49775
49776 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
49777
49778         Fix problem with getdate on mingw32 reported by Simon Josefsson
49779         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
49780         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
49781         tzname", when deciding whether to declare tzname.
49782         * lib/strftime.c (tzname): Likewise.
49783
49784 2008-01-15  Bruno Haible  <bruno@clisp.org>
49785
49786         Work around a MacOS X 10.5 bug in frexpl().
49787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
49788         * doc/functions/frexpl.texi: Document the bug.
49789         Reported by Elias Pipping <pipping@gentoo.org>.
49790
49791 2008-01-14  Eric Blake  <ebb9@byu.net>
49792
49793         Touch up previous patch.
49794         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
49795         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
49796
49797         Convert strcasestr module to use Two-Way algorithm.
49798         * modules/strcasestr-simple: New module, based on the old
49799         strcasestr, but with Two-Way rather than KMP.
49800         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
49801         * lib/string.in.h (rpl_strcasestr): Declare.
49802         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
49803         performance.
49804         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
49805         * modules/string (Makefile.am): Support strcasestr.
49806         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
49807         * modules/strcasestr-tests (Depends-on): Check for alarm.
49808         * tests/test-strcasestr.c: Augment test.
49809         * lib/str-two-way.h: Clean up stray macro.
49810         * NEWS: Document new module.
49811         * MODULES.html.sh (string handling): Likewise.
49812         * doc/functions/strcasestr.texi: New file.
49813         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
49814         here, since it is not a POSIX function.
49815
49816 2008-01-14  Colin Watson  <cjwatson@debian.org>
49817             Bruno Haible  <bruno@clisp.org>
49818
49819         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
49820         works fine; if not, set REPLACE_STRSIGNAL.
49821         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
49822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49823         REPLACE_STRSIGNAL.
49824         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
49825         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
49826         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
49827
49828 2008-01-14  Bruno Haible  <bruno@clisp.org>
49829
49830         * modules/strsignal (Include): Change to <string.h>.
49831
49832 2008-01-14  Colin Watson  <cjwatson@debian.org>
49833
49834         * modules/argp (Notice): Add a notice recommending to change
49835         XGETTEXT_OPTIONS.
49836         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
49837
49838 2008-01-13  Colin Watson  <cjwatson@debian.org>
49839
49840         * modules/strsignal-tests: New file.
49841         * tests/test-strsignal.c: New file.
49842
49843         * lib/strsignal.c: New file, from glibc with modifications.
49844         * lib/siglist.h: New file, from glibc with modifications.
49845         * lib/string.in.h (strsignal): New declaration.
49846         * m4/strsignal.m4: New file.
49847         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49848         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
49849         * modules/strsignal: New file.
49850         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
49851         HAVE_DECL_STRSIGNAL.
49852
49853 2008-01-13  Bruno Haible  <bruno@clisp.org>
49854
49855         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
49856         locale encoding is not ASCII. Needed for OpenBSD 4.0.
49857         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
49858         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49859
49860 2008-01-13  Bruno Haible  <bruno@clisp.org>
49861
49862         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
49863         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
49864         * lib/argp.h (__attribute__): Likewise.
49865         * lib/c-stack.c (__attribute__): Likewise.
49866         * lib/error.h (__attribute__): Likewise.
49867         * lib/fts.c (__attribute__): Likewise.
49868         * lib/openat.h (__attribute__): Likewise.
49869         * lib/stdio.in.h (__attribute__): Likewise.
49870         * lib/string.in.h (__attribute__): Likewise.
49871         * lib/utimens.c (__attribute__): Likewise.
49872         * lib/vasnprintf.h (__attribute__): Likewise.
49873         * lib/xalloc.h (__attribute__): Likewise.
49874         * lib/xprintf.h (__attribute__): Likewise.
49875         * lib/xstrtol.h (__attribute__): Likewise.
49876         * lib/xvasprintf.h (__attribute__): Likewise.
49877
49878 2008-01-12  Bruno Haible  <bruno@clisp.org>
49879
49880         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
49881         * doc/glibc-headers/a.out.texi: New file.
49882         * doc/glibc-headers/aliases.texi: New file.
49883         * doc/glibc-headers/alloca.texi: New file.
49884         * doc/glibc-headers/ar.texi: New file.
49885         * doc/glibc-headers/argp.texi: New file.
49886         * doc/glibc-headers/argz.texi: New file.
49887         * doc/glibc-headers/byteswap.texi: New file.
49888         * doc/glibc-headers/crypt.texi: New file.
49889         * doc/glibc-headers/endian.texi: New file.
49890         * doc/glibc-headers/envz.texi: New file.
49891         * doc/glibc-headers/err.texi: New file.
49892         * doc/glibc-headers/error.texi: New file.
49893         * doc/glibc-headers/execinfo.texi: New file.
49894         * doc/glibc-headers/fpu_control.texi: New file.
49895         * doc/glibc-headers/fstab.texi: New file.
49896         * doc/glibc-headers/fts.texi: New file.
49897         * doc/glibc-headers/getopt.texi: New file.
49898         * doc/glibc-headers/ieee754.texi: New file.
49899         * doc/glibc-headers/ifaddrs.texi: New file.
49900         * doc/glibc-headers/libintl.texi: New file.
49901         * doc/glibc-headers/mcheck.texi: New file.
49902         * doc/glibc-headers/mntent.texi: New file.
49903         * doc/glibc-headers/obstack.texi: New file.
49904         * doc/glibc-headers/paths.texi: New file.
49905         * doc/glibc-headers/printf.texi: New file.
49906         * doc/glibc-headers/pty.texi: New file.
49907         * doc/glibc-headers/resolv.texi: New file.
49908         * doc/glibc-headers/shadow.texi: New file.
49909         * doc/glibc-headers/sysexits.texi: New file.
49910         * doc/glibc-headers/ttyent.texi: New file.
49911
49912 2008-01-12  Jim Meyering  <meyering@redhat.com>
49913
49914         announce-gen: emit Gnulib's git-based version string.
49915         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
49916         New option --gnulib-version=V, where V is expected to be
49917         the output of running git describe in the gnulib directory.
49918         (get_tool_versions): Request feedback on xdelta.  I suspect it's
49919         not useful, and plan to stop publishing an xdelta file with each
49920         coreutils release.
49921
49922         * build-aux/announce-gen: Also check for lzma-compressed files.
49923
49924 2008-01-11  Bruno Haible  <bruno@clisp.org>
49925
49926         * tests/test-memmem.c (main): Increase maximum allowed time.
49927         * tests/test-strstr.c (main): Likewise.
49928
49929 2008-01-11  Bruno Haible  <bruno@clisp.org>
49930
49931         * doc/functions/memmem.texi: Add more precisions about platforms.
49932         * doc/functions/strstr.texi: Likewise.
49933
49934 2008-01-10  Eric Blake  <ebb9@byu.net>
49935
49936         * m4/strstr.m4: Delete cruft from copy-n-paste.
49937         Reported by Bruno Haible.
49938
49939 2008-01-10  Bruno Haible  <bruno@clisp.org>
49940
49941         Make c-strstr rely on strstr.
49942         * lib/c-strstr.c: Don't include str-kmp.h.
49943         (c_strstr): Define in terms of strstr.
49944         * modules/c-strstr (Files): Remove lib/str-kmp.h.
49945         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
49946
49947 2008-01-10  Bruno Haible  <bruno@clisp.org>
49948
49949         * doc/gnulib.texi (String Functions in C Locale): New section.
49950         * doc/c-ctype.texi: New file.
49951         * doc/c-strcase.texi: New file.
49952         * doc/c-strcaseeq.texi: New file.
49953         * doc/c-strcasestr.texi: New file.
49954         * doc/c-strstr.texi: New file.
49955         * doc/c-strtod.texi: New file.
49956         * doc/c-strtold.texi: New file.
49957
49958 2008-01-10  Eric Blake  <ebb9@byu.net>
49959
49960         * lib/relocatable.h: Fix a comment.
49961
49962 2008-01-10  Eric Blake  <ebb9@byu.net>
49963
49964         Share two-way algorithm.
49965         * lib/str-two-way.h: New file, merged from...
49966         * lib/memmem.c: ...here...
49967         * lib/strstr.c: ...and here.
49968         * modules/memmem (Files): Use it.
49969         * modules/strstr (Files): Likewise.
49970
49971         Avoid quadratic strstr implementations.
49972         * lib/strstr.c: New file.
49973         * m4/strstr.m4: Likewise.
49974         * modules/strstr: Likewise.
49975         * modules/strstr-tests: Likewise.
49976         * tests/test-strstr.c: Likewise.
49977         * lib/string.in.h (rpl_strstr): Declare.
49978         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
49979         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
49980         * modules/string (Makefile.am): Likewise.
49981         * MODULES.html.sh (string handling): Mention new module.
49982         * doc/functions/strstr.texi (strstr): Document the bug.
49983
49984 2008-01-10  Bruno Haible  <bruno@clisp.org>
49985
49986         * lib/relocatable.h (relocate): State whether result is freshly
49987         allocated or not.
49988         * lib/relocatable.c (relocate): Return a freshly allocated string
49989         instead of a pointer to a privately held string.
49990         Reported by Sylvain Beucler <beuc@gnu.org>.
49991
49992 2008-01-10  Colin Watson  <cjwatson@debian.org>
49993
49994         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
49995         s/S_ISNLK/S_ISLNK/.
49996
49997 2008-01-09  Bruno Haible  <bruno@clisp.org>
49998
49999         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
50000         and other files.
50001         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
50002         if it's only a guess.
50003         * modules/memmem: Simplify by depending on memmem-simple.
50004
50005 2008-01-09  Bruno Haible  <bruno@clisp.org>
50006
50007         Work around OpenBSD 4.0 tdelete() bug.
50008         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
50009         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
50010         macros and don't redefine the enum values.
50011         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
50012         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
50013         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
50014
50015 2008-01-09  Bruno Haible  <bruno@clisp.org>
50016
50017         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
50018         (main): Don't perform the tests if setlocale did not install a UTF-8
50019         locale. Needed on OpenBSD 4.0.
50020         * modules/wcwidth-tests (Depends-on): Add localcharset.
50021
50022 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50023
50024         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
50025         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
50026         * NEWS: announce this.
50027         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
50028
50029 2008-01-09  Simon Josefsson  <simon@josefsson.org>
50030         and Eric Blake  <ebb9@byu.net>
50031
50032         Add memmem-simple module.
50033         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
50034         (gl_FUNC_MEMMEM): Separate performance from presence checks.
50035         * modules/memmem-simple: New file.
50036         * modules/memmem (Description): Tweak.
50037         * MODULES.html.sh (string handling): Mention new module.
50038         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
50039         addressed by memmem-simple.
50040         * NEWS: Document the difference.
50041
50042 2008-01-09  Eric Blake  <ebb9@byu.net>
50043
50044         Give gcc some memmem optimization hints.
50045         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
50046         (strcasestr): Declare as pure.
50047         * modules/memmem (Maintainer): Claim my implementation.
50048
50049 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50050
50051         Support AIX 6.1 and higher.
50052         * build-aux/config.libpath: Likewise.
50053         * build-aux/config.rpath: Likewise.
50054
50055 2008-01-08  Jim Meyering  <meyering@redhat.com>
50056             Bruno Haible  <bruno@clisp.org>
50057
50058         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
50059         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
50060         Reported by Peter Fales in
50061         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
50062
50063 2008-01-08  Bruno Haible  <bruno@clisp.org>
50064
50065         * modules/unictype/category-of (Depends-on): Add
50066         unictype/category-none.
50067         * modules/unictype/category-and-tests (Depends-on): Add
50068         unictype/category-{L,N,Lu,Nd}.
50069         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
50070         * modules/unictype/category-or-tests (Depends-on): Add
50071         unictype/category-{L,N}.
50072         * modules/unictype/category-name-tests (Depends-on): Add
50073         unictype/category-{Z,Nl}.
50074         Reported by Simon Josefsson.
50075
50076 2008-01-08  Bruno Haible  <bruno@clisp.org>
50077
50078         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
50079         convention better.
50080         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
50081         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
50082         Reported by Peter Miller <millerp@canb.auug.org.au>.
50083
50084 2008-01-08  Eric Blake  <ebb9@byu.net>
50085
50086         Rewrite memmem to guarantee linear complexity without malloc.
50087         * lib/memmem.c (memmem): Use Two-Way rather than
50088         Knuth-Morris-Pratt, to allow O(1) space usage.
50089         (critical_factorization, two_way_short_needle)
50090         (two_way_long_needle): New functions.
50091         (knuth_morris_pratt): Delete.
50092         * modules/memmem (Depends-on): No longer need malloca or stdbool.
50093         Add stdint.
50094         * tests/test-memmem.c (main): Add tests for periodic needle and
50095         sublinear performance.
50096         * doc/functions/memmem.texi (memmem): Document other deficiencies
50097         in cygwin and older glibc.
50098
50099 2008-01-08  Bruno Haible  <bruno@clisp.org>
50100
50101         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
50102         augmentation.
50103
50104 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
50105
50106         Add a configure time option: --disable-acl.
50107         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
50108         AC_ARG_ENABLE(acl).
50109
50110 2008-01-06  Simon Josefsson  <simon@josefsson.org>
50111
50112         * tests/test-localename.c: Don't include obsolete "setenv.h".
50113
50114         * modules/localename-tests (Depends-on): Need unsetenv.
50115
50116 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50117
50118         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
50119
50120 2008-01-06  Colin Watson  <cjwatson@debian.org>
50121
50122         * users.txt: Add man-db.
50123
50124 2008-01-07  Bruno Haible  <bruno@clisp.org>
50125
50126         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
50127         previous section name.
50128
50129 2008-01-07  Bruno Haible  <bruno@clisp.org>
50130
50131         * lib/progname.c (set_program_name): Don't strip off a leading
50132         "lt-" prefix outside a .libs directory.
50133         Suggested by Paul Eggert.
50134
50135 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
50136             Bruno Haible  <bruno@clisp.org>
50137
50138         Improve memory cleanup in 'relocatable' module.
50139         * lib/relocatable.h (compute_curr_prefix): Change return type to
50140         'char *'.
50141         * lib/relocatable.c (compute_curr_prefix): Change return type to
50142         'char *'. Free curr_installdir after use.
50143         (relocate): Free curr_prefix_better after use.
50144         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
50145
50146 2008-01-01  Bruno Haible  <bruno@clisp.org>
50147
50148         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
50149         failure on older glibc systems.
50150         Reported by Peter Fales <psfales@alcatel-lucent.com>.
50151
50152 2008-01-05  Eric Blake  <ebb9@byu.net>
50153
50154         Avoid quadratic system memmem.
50155         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
50156         Reported by Ralf Wildenhues.
50157
50158         Fix memmem test for mingw.
50159         * modules/memmem-tests (configure.ac): Check for alarm.
50160         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
50161         it.
50162         * doc/functions/memmem.texi: New file.
50163         * doc/gnulib.texi (Function Substitutes): Add memmem.
50164         Reported by Bruno Haible.
50165
50166 2008-01-04  Bruno Haible  <bruno@clisp.org>
50167
50168         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
50169         Require gl_HEADER_STRINGS_H_DEFAULTS, not
50170         gl_HEADER_STRING_H_DEFAULTS.
50171
50172 2008-01-04  Eric Blake  <ebb9@byu.net>
50173
50174         Shorten duration of memmem test.
50175         * tests/test-memmem.c (main): Use alarm to declare failure if test
50176         is taking too long.
50177         Reported by Ralf Wildenhues.
50178
50179 2007-12-21  Simon Josefsson  <simon@josefsson.org>
50180
50181         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
50182         string, needed by strerror.
50183
50184 2008-01-03  Colin Watson  <cjwatson@debian.org>
50185             Bruno Haible  <bruno@clisp.org>
50186
50187         * doc/gnulib-tool.texi (Localization): New section.
50188
50189 2008-01-02  Bruno Haible  <bruno@clisp.org>
50190
50191         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
50192         variables to 'unsigned char *' type.
50193         Reported by Paul Eggert.
50194
50195 2008-01-02  Jim Meyering  <jim@meyering.net>
50196
50197         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
50198
50199 2007-12-31  Jim Meyering  <jim@meyering.net>
50200
50201         Avoid use of private FTS type name.
50202         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
50203
50204 2007-12-30  Karl Berry  <karl@gnu.org>
50205
50206         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
50207         work around defect in Texinfo and/or the standalone Info browser.
50208
50209 2007-12-30  Bruno Haible  <bruno@clisp.org>
50210
50211         Unify 5 copies of the KMP code.
50212         * lib/str-kmp.h: New file.
50213         * lib/c-strcasestr.c: Include str-kmp.h.
50214         (knuth_morris_pratt): Remove function.
50215         (c_strcasestr): Update.
50216         * lib/c-strstr.c: Include str-kmp.h.
50217         (knuth_morris_pratt): Remove function.
50218         (c_strcasestr): Update.
50219         * lib/mbscasestr.c: Include str-kmp.h.
50220         (knuth_morris_pratt_unibyte): Remove function.
50221         * lib/mbsstr.c: Include str-kmp.h.
50222         (knuth_morris_pratt_unibyte): Remove function.
50223         * lib/strcasestr.c: Include str-kmp.h.
50224         (knuth_morris_pratt): Remove function.
50225         (strcasestr): Update.
50226         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
50227         * modules/c-strstr (Files): Likewise.
50228         * modules/mbscasestr (Files): Likewise.
50229         * modules/mbsstr (Files): Likewise.
50230         * modules/strcasestr (Files): Likewise.
50231         Suggested by Paul Eggert.
50232
50233 2007-12-30  Bruno Haible  <bruno@clisp.org>
50234
50235         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
50236         defined.
50237
50238 2007-12-30  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/xmalloca.h: Include xalloc.h.
50241         (xnmalloca): New macro.
50242
50243 2007-12-30  Bruno Haible  <bruno@clisp.org>
50244
50245         * lib/malloca.h (nmalloca): New macro.
50246         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
50247         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
50248         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
50249         knuth_morris_pratt_multibyte): Likewise.
50250         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
50251         knuth_morris_pratt_multibyte): Likewise.
50252         * lib/memmem.c (knuth_morris_pratt): Likewise.
50253         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
50254
50255 2007-12-25  Bruno Haible  <bruno@clisp.org>
50256
50257         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
50258         * lib/glob.c: Don't include openat.h.
50259         (link_exists2_p): Add back the code that deals with the
50260         !GLOB_ALTDIRFUNC case.
50261         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
50262         let it do the filename concatenation.
50263         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
50264         * modules/glob (Depends-on): Remove openat.
50265
50266 2007-12-31  Bruno Haible  <bruno@clisp.org>
50267
50268         * modules/dirfd (License): Change to LGPLv2+.
50269         Approved by Jim Meyering.
50270
50271 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
50272
50273         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
50274         when multiplying M by sizeof (size_t).
50275
50276 2007-12-10  Martin Lambers  <marlam@marlam.de>
50277
50278         Override getpagesize on mingw.
50279         * lib/getpagesize.c: New file.
50280         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
50281         * modules/getpagesize (Files): Add lib/getpagesize.c.
50282         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
50283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50284         REPLACE_GETPAGESIZE.
50285         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
50286
50287 2007-12-25  Bruno Haible  <bruno@clisp.org>
50288
50289         * modules/localcharset (Notice): New field.
50290         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
50291         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
50292
50293 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
50294             Bruno Haible  <bruno@clisp.org>
50295
50296         Avoid using the syntax symbol() in formatted documentation.
50297         * MODULES.html.sh (func_module): When replacing symbol() with a
50298         hyperlink, remove the parentheses. Show an error if some remain.
50299         Recognize and render the '...' syntax.
50300         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
50301         Rework. Add paragraph about GCC's inlining.
50302         * doc/alloca.texi: Likewise.
50303         * doc/error.texi: Remove parentheses from symbol reference.
50304         * doc/gnulib-intro.texi: Likewise.
50305         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
50306         * modules/fnmatch (Description): Reword to say "the ... function".
50307         * modules/full-read (Description): Likewise.
50308         * modules/full-write (Description): Likewise.
50309         * modules/safe-read (Description): Likewise.
50310         * modules/safe-write (Description): Likewise.
50311         * modules/strchrnul (Description): Likewise.
50312         * modules/trim (Description): Likewise.
50313         * modules/error (Description): Remove parentheses from symbol
50314         references.
50315         * modules/verror (Description): Likewise.
50316         Reported by Karl Berry.
50317
50318 2007-12-25  Bruno Haible  <bruno@clisp.org>
50319
50320         Fixup after 2007-10-16 commit.
50321         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
50322
50323 2007-12-24  Bruno Haible  <bruno@clisp.org>
50324
50325         Make --enable-relocatable work with DESTDIR.
50326         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
50327         to compute installdir from destprog.
50328         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
50329         also set the RELOC_DESTDIR variable.
50330         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50331
50332 2007-12-24  Bruno Haible  <bruno@clisp.org>
50333
50334         Fix link error due to xalloc_die().
50335         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
50336         of xreadlink.
50337         * lib/relocwrapper.c: Update comments.
50338         * build-aux/install-reloc: Remove xreadlink.c from file list.
50339         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
50340         xreadlink.c.
50341         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50342
50343 2007-12-24  Bruno Haible  <bruno@clisp.org>
50344
50345         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
50346         * lib/setenv.h: Remove file.
50347         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
50348         lib/setenv.h.
50349         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
50350         (Depends-on): Add stdlib.
50351         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
50352         gl_FUNC_UNSETENV.
50353         (Include): Replace setenv.h with <stdlib.h>.
50354         * modules/unsetenv: New file.
50355         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
50356         * lib/unsetenv.c: Include <stdlib.h> first.
50357         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
50358         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
50359         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
50360         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
50361         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
50362         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
50363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
50364         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
50365         * doc/functions/unsetenv.texi: Update.
50366         * modules/xsetenv (Depends-on): Add unsetenv.
50367         * modules/getdate (Depends-on): Likewise.
50368         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
50369         * lib/xsetenv.c: Don't include setenv.h.
50370         * lib/getdate.y: Likewise.
50371         * lib/relocwrapper.c: Likewise.
50372         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
50373         (Depends-on): Add stdlib.
50374         * NEWS: Mention the changes.
50375         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50376
50377 2007-12-23  Bruno Haible  <bruno@clisp.org>
50378
50379         * lib/memmem.c (memmem): Use lowercase variable names. Tab
50380         indentation.
50381
50382 2007-12-23  Bruno Haible  <bruno@clisp.org>
50383
50384         * lib/c-strcasestr.c: Add more comments.
50385         * lib/c-strstr.c: Likewise.
50386         * lib/mbscasestr.c: Likewise.
50387         * lib/mbsstr.c: Likewise.
50388         * lib/strcasestr.c: Likewise.
50389         * lib/memmem.c: Likewise.
50390
50391 2007-12-23  Bruno Haible  <bruno@clisp.org>
50392
50393         * tests/test-memmem.c: Include <string.h> first.
50394
50395 2007-12-22  Bruno Haible  <bruno@clisp.org>
50396
50397         * gnulib-tool (func_create_testdir): Change $auxdir while generating
50398         the contents of $testsbase.
50399         Reported by Ralf Wildenhues.
50400
50401 2007-12-22  Bruno Haible  <bruno@clisp.org>
50402
50403         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
50404         two variables local_ldadd_before, local_ldadd_last.
50405
50406 2007-12-20  Eric Blake  <ebb9@byu.net>
50407
50408         Work around circular library issue when cross-compiling.
50409         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
50410         that progname.o does not need to pull in rpl_memcmp.
50411
50412 2007-12-19  Eric Blake  <ebb9@byu.net>
50413
50414         Fix memmem to avoid O(n^2) worst-case complexity.
50415         * lib/memmem.c (knuth_morris_pratt): New function.
50416         (memmem): Use it if first few naive iterations fail.
50417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
50418         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
50419         * modules/memchr (License): Likewise.
50420         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
50421         malloca.
50422         * tests/test-memmem.c: Rewrite, borrowing ideas from
50423         test-mbsstr1.c; the old version wouldn't even compile!
50424         * modules/memmem-tests: New file.
50425         * lib/string.in.h (rpl_memmem): Add declaration.
50426         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
50427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
50428         REPLACE_MEMMEM.
50429
50430 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
50431
50432         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
50433         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
50434         before any system include files, and undef after them all.  This
50435         should fix a problem on VMS reported by John E. Malmberg in
50436         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
50437
50438 2007-12-17  Eric Blake  <ebb9@byu.net>
50439
50440         Revert addition of verify, for BSD/OS.
50441         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
50442         can't handle large files, for the sake of obsolete platforms.
50443         * modules/fseeko (Depends-on): Remove verify.
50444         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
50445         * doc/functions/ftello.texi (ftello): Likewise.
50446         * doc/functions/fgetpos.texi (fgetpos): Likewise.
50447         Reported by Larry Jones.
50448
50449 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
50450
50451         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
50452         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
50453
50454 2007-12-17  Jim Meyering  <meyering@redhat.com>
50455
50456         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
50457         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
50458         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
50459         * modules/getcwd (Depends-on): Add openat.
50460         Reported by Petr Salinger.
50461
50462 2007-12-17  Bruno Haible  <bruno@clisp.org>
50463
50464         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
50465         avoid a segmentation fault of the configure test on x86_64 systems.
50466
50467 2007-12-15  Jim Meyering  <meyering@redhat.com>
50468
50469         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
50470
50471 2007-12-13  Eric Blake  <ebb9@byu.net>
50472
50473         Another fseek test.
50474         * tests/test-fseek.c (main): Also test ungetc handling.
50475         * tests/test-fseeko.c (main): Likewise.
50476         * modules/fseeko (Depends-on): Add verify.
50477         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
50478         large.
50479         Reported by Larry Jones.
50480
50481         Fix fseeko on mingw.
50482         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
50483         seek.
50484
50485         Beef up fseek tests.
50486         * tests/test-fseek.c (main): Also test eof handling.
50487         * tests/test-fseeko.c (main): Likewise.
50488         Reported by Larry Jones.
50489
50490 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
50491
50492         Fix fseeko on BSD-based platforms.
50493         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
50494         successful seek.
50495
50496 2007-12-12  Eric Blake  <ebb9@byu.net>
50497
50498         Allow circular dependency of separate libtests.a
50499         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
50500         when use_libtests.
50501
50502 2007-12-11  Eric Blake  <ebb9@byu.net>
50503
50504         Fix bug with -0.0L in previous patch.
50505         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
50506         * tests/test-isnan.c (main): Also test on zeroes.
50507         * tests/test-isnanf.c (main): Likewise.
50508         * tests/test-isnanl.h (main): Likewise.
50509
50510         Detect pseudo-denormals on x86 even when cross-compiling.
50511         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
50512         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
50513         invalid bit patterns that happen to satisfy ==.
50514
50515         Avoid link failures with separate libtests.a.
50516         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
50517         last, to satisfy circular dependencies.
50518
50519 2007-12-11  Eric Blake  <ebb9@byu.net>
50520         and Bruno Haible  <bruno@clisp.org>
50521
50522         Fix OpenBSD 4.0 <float.h> handling of long double.
50523         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
50524         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
50525         * doc/headers/float.texi (float.h): Document OpenBSD bug.
50526
50527 2007-12-11  Jim Meyering  <meyering@redhat.com>
50528
50529         * users.txt: Add libvirt.
50530
50531         Support versions of autoconf prior to 2.59c.
50532         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
50533         if it is not already defined.
50534
50535 2007-12-09  Bruno Haible  <bruno@clisp.org>
50536
50537         Let 'gnulib-tool --import' collect sources needed for the tests in
50538         tests/ rather than in lib/.
50539         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
50540         argument. If true, add rules to generate libtests.a, and put libtests.a
50541         into $(LDADD). Consider source files in subdirectories and set
50542         uses_subdirs.
50543         (func_emit_initmacro_start, func_emit_initmacro_end,
50544         func_emit_initmacro_done): Pass all arguments explicitly.
50545         (func_import): Determine two module lists main_modules,
50546         testsrelated_modules. Determine use_libtests. Determine two variables
50547         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
50548         instead of just sed_transform_lib_file. Determine two variables
50549         main_files and testsrelated_files. Compute 'files' as the union of
50550         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
50551         func_add_or_update. In the generated gnulib-comp.m4, collect the
50552         object files for tests/ in different variables than those for lib/.
50553         Substitute LIBTESTS_LIBDEPS.
50554         (func_create_testdir): Combine the uses_subdirs results from
50555         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
50556
50557 2007-12-09  Bruno Haible  <bruno@clisp.org>
50558
50559         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
50560         the build-aux directory.
50561
50562 2007-12-09  Bruno Haible  <bruno@clisp.org>
50563
50564         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
50565         introduced on 2006-09-09.
50566
50567 2007-12-07  Jim Meyering  <meyering@redhat.com>
50568
50569         Let these macros work also with autoconf-2.59.
50570         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
50571         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
50572         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
50573
50574 2007-12-06  Jim Meyering  <meyering@redhat.com>
50575
50576         Avoid a configure-time syntax error in gl_FUNC_ACL.
50577         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
50578         function in each branch, before testing the cache variable.
50579
50580 2007-12-04  Eric Blake  <ebb9@byu.net>
50581
50582         Make scripts executable.
50583         * build-aux/config.guess: Add execute permissions.
50584         * build-aux/config.sub: Likewise.
50585         * build-aux/gendocs.sh: Likewise.
50586
50587         Fix frexp on mingw.
50588         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
50589         cross-compiling.
50590         * doc/functions/frexp.texi (frexp): Document the bug.
50591
50592         Make cygwin fseeko check more reliable.
50593         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
50594         version numbers, rather than unrelated feature check.
50595         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
50596         * doc/functions/ftello.texi (ftello): Likewise.
50597         Reported by Bruno Haible.
50598
50599         * m4/strerror.m4: Bump version number.
50600
50601 2007-12-03  Bruno Haible  <bruno@clisp.org>
50602
50603         * doc/functions/mprotect.texi: Mention the mingw problem.
50604
50605 2007-12-03  Eric Blake  <ebb9@byu.net>
50606
50607         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
50608         REPLACE_STRERROR is initialized before this macro.
50609
50610 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
50611
50612         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
50613         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
50614         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
50615         put -lsec in even for programs other than 'ls'.  This fixes a problem
50616         for gettext reported by Bruno Haible in
50617         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
50618         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
50619         Add support for Solaris 10.  This isn't efficient, but should get the
50620         job done for now.
50621
50622 2007-12-03  James Youngman  <jay@gnu.org>
50623
50624         * doc/regexprops-generic.texi: change "an close-group" to "a
50625         close-group" and "illegal" to "not allowed".
50626
50627 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50628
50629         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
50630         pr_byname.h. Needed for the rare case when the maintainer has done
50631         "make maintainer-clean" in the source directory and then attempts a
50632         build outside the source directory.
50633         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
50634         scripts_byname.h.
50635
50636 2007-12-02  Martin Lambers <marlam@marlam.de>
50637             Bruno Haible  <bruno@clisp.org>
50638
50639         * lib/getpagesize.h: Remove file.
50640         * lib/unistd.in.h: Include declaration of getpagesize here.
50641         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
50642         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
50643         HAVE_SYS_PARAM_H.
50644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
50645         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
50646         * modules/getpagesize (Files): Remove lib/getpagesize.h.
50647         (Depends-on): Add unistd.
50648         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50649         (Include): Use <unistd.h> instead of getpagesize.h.
50650         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
50651         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
50652         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
50653         gl_GETPAGESIZE invocation, already handled by module dependency.
50654         * lib/pagealign_alloc.c: Don't include getpagesize.h.
50655
50656 2007-12-02  Bruno Haible  <bruno@clisp.org>
50657
50658         * modules/strings-tests: New file.
50659         * tests/test-strings.c: New file.
50660
50661         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
50662         * lib/strings.in.h: New file.
50663         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
50664         * m4/strings_h.m4: New file.
50665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
50666         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
50667         * modules/strings: New file.
50668         * modules/string (Makefile.am): Update.
50669         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
50670         Reported by Karl Berry.
50671
50672 2007-12-01  Eric Blake  <ebb9@byu.net>
50673
50674         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
50675         accomodate fix in cygwin 1.5.25.
50676
50677 2007-12-01  Jim Meyering  <meyering@redhat.com>
50678
50679         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
50680         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
50681         that would inhibit utf8-optimization of a regexp containing line-
50682         or buffer-anchors, e.g., `^', `$'.
50683
50684 2007-11-30  Bruno Haible  <bruno@clisp.org>
50685
50686         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
50687         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
50688         glthread_recursive_lock_init.
50689         * lib/lock.c (glthread_recursive_lock_init)
50690         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
50691         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50692
50693 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
50694
50695         New function qset_acl, like set_acl but with syscall semantics.
50696         * lib/acl.h (qset_acl): New decl.
50697         * lib/acl.c (qset_acl): New function.
50698         (set_acl): Use new function.  Use more-consistent diagnostics.
50699
50700 2007-11-28  Jim Meyering  <meyering@redhat.com>
50701
50702         * modules/physmem (License): Change from GPL to LGPLv2+.
50703
50704 2007-11-26  Bruno Haible  <bruno@clisp.org>
50705
50706         * lib/vasnprintf.c (decode_long_double): Don't abort if the
50707         'long double' type has excess precision.
50708         Reported by Jim Meyering in
50709         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
50710
50711 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50712
50713         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
50714         Sync from <http://gnu.org/licenses>.
50715         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
50716         with license text from same location.
50717         * doc/maintain.texi, doc/standards.texi:  Sync from
50718         <http://savannah.gnu.org/projects/gnustandards>.
50719
50720 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
50721         and Jim Meyering  <meyering@redhat.com>
50722
50723         Adjust getdate' grammar to accept a slightly more regular language.
50724         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
50725         Before, the former was rejected.
50726         * lib/getdate.y (digits_to_date_time): New function, factored
50727         out of ...
50728         (number): ...here.  Just call digits_to_date_time.
50729         (hybrid): New non-terminal to handle an <unsigned number,
50730         signed relative offset> sequence consistently.
50731
50732 2007-11-18  Jim Meyering  <meyering@redhat.com>
50733
50734         Pull my changes from coreutils:
50735         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
50736         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
50737         use of $gnulib_tool_option_extras, so that it's separated from the
50738         preceding argument.
50739
50740         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
50741         * build-aux/bootstrap (cp_mark_as_generated): Create any required
50742         parent destination directories before copying a file into place.
50743
50744 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
50745
50746         bootstrap: work also with 4-argument variant of AC_INIT
50747         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
50748
50749 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50750
50751         Port test-getaddrinfo to Solaris.
50752         Problem reported by Bruno Haible in
50753         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
50754         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
50755         explanation of setting 'hints'.
50756         Don't reject an implementation merely because it returns EAI_SERVICE.
50757         (EAI_SERVICE): Define to 0 if not defined.
50758
50759 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
50760
50761         The license of gnu-make and posix-shell is now "GPLed build tool".
50762         * modules/gnu-make (License): Likewise.
50763         * modules/posix-shell (License): Likewise.
50764
50765         New module posix-shell, for determining a POSIX shell
50766         or perhaps something that is close enough to a POSIX shell.
50767         * m4/posix-shell.m4: New file.
50768         * modules/posix-shell: New file.
50769
50770         * MODULES.html.sh: Mention new module.
50771
50772         New module gnu-make, for determining whether we're using GNU Make.
50773         * m4/gnu-make.m4: New file.
50774         * modules/gnu-make: New file.
50775         * MODULES.html.sh: Mention new module.
50776
50777 2007-11-14  Jim Meyering  <meyering@redhat.com>
50778
50779         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
50780         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
50781         use this macro to create a function _definition_.
50782         Remove useless "#undef ARGMATCH_DIE".
50783
50784 2007-11-14  Bruno Haible  <bruno@clisp.org>
50785
50786         * lib/config.charset: Update for OpenBSD 4.1.
50787         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
50788
50789 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
50790
50791         Document 64-bit #if problems in stdint.texi.
50792         * doc/headers/stdint.texi (stdint.h): Mention problems with
50793         64-bit-#if, and how to work around them.
50794
50795         Don't insist on 'long long int' support in the preprocessor.  It
50796         breaks too many things.  For example, PRIdMAX still uses a 'long
50797         long int' format with the latest Sun compiler, even though
50798         HAVE_LONG_LONG_INT isn't defined due to that compiler's
50799         preprocessor problem.  This causes the latest coreutils to dump
50800         core on Solaris 10 sparc with the Sun C compiler.
50801         Instead, fix the 2007-10-16 problem in a different way, by evaluating
50802         the troublesome expressions at configure-time, not at #if-time.
50803         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
50804         preprocessor.
50805         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
50806         compile-time C checks, done at 'configure'-time.
50807         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
50808         * modules/inttypes (Makefile): Substitute the new symbols that
50809         gl_INTTYPES_H now generates.
50810         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
50811
50812 2007-11-12  Bruno Haible  <bruno@clisp.org>
50813
50814         Tests for Unicode character classification functions.
50815
50816         * modules/unictype/bidicategory-byname-tests: New file.
50817         * modules/unictype/bidicategory-name-tests: New file.
50818         * modules/unictype/bidicategory-of-tests: New file.
50819         * modules/unictype/bidicategory-test-tests: New file.
50820         * modules/unictype/block-list-tests: New file.
50821         * modules/unictype/block-of-tests: New file.
50822         * modules/unictype/block-test-tests: New file.
50823         * modules/unictype/category-C-tests: New file.
50824         * modules/unictype/category-Cc-tests: New file.
50825         * modules/unictype/category-Cf-tests: New file.
50826         * modules/unictype/category-Cn-tests: New file.
50827         * modules/unictype/category-Co-tests: New file.
50828         * modules/unictype/category-Cs-tests: New file.
50829         * modules/unictype/category-L-tests: New file.
50830         * modules/unictype/category-Ll-tests: New file.
50831         * modules/unictype/category-Lm-tests: New file.
50832         * modules/unictype/category-Lo-tests: New file.
50833         * modules/unictype/category-Lt-tests: New file.
50834         * modules/unictype/category-Lu-tests: New file.
50835         * modules/unictype/category-M-tests: New file.
50836         * modules/unictype/category-Mc-tests: New file.
50837         * modules/unictype/category-Me-tests: New file.
50838         * modules/unictype/category-Mn-tests: New file.
50839         * modules/unictype/category-N-tests: New file.
50840         * modules/unictype/category-Nd-tests: New file.
50841         * modules/unictype/category-Nl-tests: New file.
50842         * modules/unictype/category-No-tests: New file.
50843         * modules/unictype/category-P-tests: New file.
50844         * modules/unictype/category-Pc-tests: New file.
50845         * modules/unictype/category-Pd-tests: New file.
50846         * modules/unictype/category-Pe-tests: New file.
50847         * modules/unictype/category-Pf-tests: New file.
50848         * modules/unictype/category-Pi-tests: New file.
50849         * modules/unictype/category-Po-tests: New file.
50850         * modules/unictype/category-Ps-tests: New file.
50851         * modules/unictype/category-S-tests: New file.
50852         * modules/unictype/category-Sc-tests: New file.
50853         * modules/unictype/category-Sk-tests: New file.
50854         * modules/unictype/category-Sm-tests: New file.
50855         * modules/unictype/category-So-tests: New file.
50856         * modules/unictype/category-Z-tests: New file.
50857         * modules/unictype/category-Zl-tests: New file.
50858         * modules/unictype/category-Zp-tests: New file.
50859         * modules/unictype/category-Zs-tests: New file.
50860         * modules/unictype/category-and-not-tests: New file.
50861         * modules/unictype/category-and-tests: New file.
50862         * modules/unictype/category-byname-tests: New file.
50863         * modules/unictype/category-name-tests: New file.
50864         * modules/unictype/category-none-tests: New file.
50865         * modules/unictype/category-of-tests: New file.
50866         * modules/unictype/category-or-tests: New file.
50867         * modules/unictype/category-test-withtable-tests: New file.
50868         * modules/unictype/combining-class-tests: New file.
50869         * modules/unictype/ctype-alnum-tests: New file.
50870         * modules/unictype/ctype-alpha-tests: New file.
50871         * modules/unictype/ctype-blank-tests: New file.
50872         * modules/unictype/ctype-cntrl-tests: New file.
50873         * modules/unictype/ctype-digit-tests: New file.
50874         * modules/unictype/ctype-graph-tests: New file.
50875         * modules/unictype/ctype-lower-tests: New file.
50876         * modules/unictype/ctype-print-tests: New file.
50877         * modules/unictype/ctype-punct-tests: New file.
50878         * modules/unictype/ctype-space-tests: New file.
50879         * modules/unictype/ctype-upper-tests: New file.
50880         * modules/unictype/ctype-xdigit-tests: New file.
50881         * modules/unictype/decimal-digit-tests: New file.
50882         * modules/unictype/digit-tests: New file.
50883         * modules/unictype/mirror-tests: New file.
50884         * modules/unictype/numeric-tests: New file.
50885         * modules/unictype/property-alphabetic-tests: New file.
50886         * modules/unictype/property-ascii-hex-digit-tests: New file.
50887         * modules/unictype/property-bidi-arabic-digit-tests: New file.
50888         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
50889         * modules/unictype/property-bidi-block-separator-tests: New file.
50890         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
50891         * modules/unictype/property-bidi-common-separator-tests: New file.
50892         * modules/unictype/property-bidi-control-tests: New file.
50893         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
50894         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
50895         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
50896         * modules/unictype/property-bidi-european-digit-tests: New file.
50897         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
50898         * modules/unictype/property-bidi-left-to-right-tests: New file.
50899         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
50900         * modules/unictype/property-bidi-other-neutral-tests: New file.
50901         * modules/unictype/property-bidi-pdf-tests: New file.
50902         * modules/unictype/property-bidi-segment-separator-tests: New file.
50903         * modules/unictype/property-bidi-whitespace-tests: New file.
50904         * modules/unictype/property-byname-tests: New file.
50905         * modules/unictype/property-combining-tests: New file.
50906         * modules/unictype/property-composite-tests: New file.
50907         * modules/unictype/property-currency-symbol-tests: New file.
50908         * modules/unictype/property-dash-tests: New file.
50909         * modules/unictype/property-decimal-digit-tests: New file.
50910         * modules/unictype/property-default-ignorable-code-point-tests: New file.
50911         * modules/unictype/property-deprecated-tests: New file.
50912         * modules/unictype/property-diacritic-tests: New file.
50913         * modules/unictype/property-extender-tests: New file.
50914         * modules/unictype/property-format-control-tests: New file.
50915         * modules/unictype/property-grapheme-base-tests: New file.
50916         * modules/unictype/property-grapheme-extend-tests: New file.
50917         * modules/unictype/property-grapheme-link-tests: New file.
50918         * modules/unictype/property-hex-digit-tests: New file.
50919         * modules/unictype/property-hyphen-tests: New file.
50920         * modules/unictype/property-id-continue-tests: New file.
50921         * modules/unictype/property-id-start-tests: New file.
50922         * modules/unictype/property-ideographic-tests: New file.
50923         * modules/unictype/property-ids-binary-operator-tests: New file.
50924         * modules/unictype/property-ids-trinary-operator-tests: New file.
50925         * modules/unictype/property-ignorable-control-tests: New file.
50926         * modules/unictype/property-iso-control-tests: New file.
50927         * modules/unictype/property-join-control-tests: New file.
50928         * modules/unictype/property-left-of-pair-tests: New file.
50929         * modules/unictype/property-line-separator-tests: New file.
50930         * modules/unictype/property-logical-order-exception-tests: New file.
50931         * modules/unictype/property-lowercase-tests: New file.
50932         * modules/unictype/property-math-tests: New file.
50933         * modules/unictype/property-non-break-tests: New file.
50934         * modules/unictype/property-not-a-character-tests: New file.
50935         * modules/unictype/property-numeric-tests: New file.
50936         * modules/unictype/property-other-alphabetic-tests: New file.
50937         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
50938         * modules/unictype/property-other-grapheme-extend-tests: New file.
50939         * modules/unictype/property-other-id-continue-tests: New file.
50940         * modules/unictype/property-other-id-start-tests: New file.
50941         * modules/unictype/property-other-lowercase-tests: New file.
50942         * modules/unictype/property-other-math-tests: New file.
50943         * modules/unictype/property-other-uppercase-tests: New file.
50944         * modules/unictype/property-paired-punctuation-tests: New file.
50945         * modules/unictype/property-paragraph-separator-tests: New file.
50946         * modules/unictype/property-pattern-syntax-tests: New file.
50947         * modules/unictype/property-pattern-white-space-tests: New file.
50948         * modules/unictype/property-private-use-tests: New file.
50949         * modules/unictype/property-punctuation-tests: New file.
50950         * modules/unictype/property-quotation-mark-tests: New file.
50951         * modules/unictype/property-radical-tests: New file.
50952         * modules/unictype/property-sentence-terminal-tests: New file.
50953         * modules/unictype/property-soft-dotted-tests: New file.
50954         * modules/unictype/property-space-tests: New file.
50955         * modules/unictype/property-terminal-punctuation-tests: New file.
50956         * modules/unictype/property-test-tests: New file.
50957         * modules/unictype/property-titlecase-tests: New file.
50958         * modules/unictype/property-unassigned-code-value-tests: New file.
50959         * modules/unictype/property-unified-ideograph-tests: New file.
50960         * modules/unictype/property-uppercase-tests: New file.
50961         * modules/unictype/property-variation-selector-tests: New file.
50962         * modules/unictype/property-white-space-tests: New file.
50963         * modules/unictype/property-xid-continue-tests: New file.
50964         * modules/unictype/property-xid-start-tests: New file.
50965         * modules/unictype/property-zero-width-tests: New file.
50966         * modules/unictype/scripts-tests: New file.
50967         * modules/unictype/syntax-c-ident-tests: New file.
50968         * modules/unictype/syntax-c-whitespace-tests: New file.
50969         * modules/unictype/syntax-java-ident-tests: New file.
50970         * modules/unictype/syntax-java-whitespace-tests: New file.
50971         * tests/unictype/test-bidi_byname.c: New file.
50972         * tests/unictype/test-bidi_name.c: New file.
50973         * tests/unictype/test-bidi_of.c: New file.
50974         * tests/unictype/test-bidi_test.c: New file.
50975         * tests/unictype/test-block_list.c: New file.
50976         * tests/unictype/test-block_of.c: New file.
50977         * tests/unictype/test-block_test.c: New file.
50978         * tests/unictype/test-categ_and.c: New file.
50979         * tests/unictype/test-categ_and_not.c: New file.
50980         * tests/unictype/test-categ_byname.c: New file.
50981         * tests/unictype/test-categ_name.c: New file.
50982         * tests/unictype/test-categ_none.c: New file.
50983         * tests/unictype/test-categ_of.c: New file.
50984         * tests/unictype/test-categ_or.c: New file.
50985         * tests/unictype/test-categ_test_withtable.c: New file.
50986         * tests/unictype/test-combining.c: New file.
50987         * tests/unictype/test-decdigit.c: New file.
50988         * tests/unictype/test-digit.c: New file.
50989         * tests/unictype/test-mirror.c: New file.
50990         * tests/unictype/test-numeric.c: New file.
50991         * tests/unictype/test-pr_byname.c: New file.
50992         * tests/unictype/test-pr_test.c: New file.
50993         * tests/unictype/test-predicate-part1.h: New file.
50994         * tests/unictype/test-predicate-part2.h: New file.
50995         * tests/unictype/test-scripts.c: New file.
50996         * tests/unictype/test-sy_c_ident.c: New file.
50997         * tests/unictype/test-sy_java_ident.c: New file.
50998
50999         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
51000         for Unicode 5.0.0.
51001         * tests/unictype/test-categ_Cc.c: Likewise.
51002         * tests/unictype/test-categ_Cf.c: Likewise.
51003         * tests/unictype/test-categ_Cn.c: Likewise.
51004         * tests/unictype/test-categ_Co.c: Likewise.
51005         * tests/unictype/test-categ_Cs.c: Likewise.
51006         * tests/unictype/test-categ_L.c: Likewise.
51007         * tests/unictype/test-categ_Ll.c: Likewise.
51008         * tests/unictype/test-categ_Lm.c: Likewise.
51009         * tests/unictype/test-categ_Lo.c: Likewise.
51010         * tests/unictype/test-categ_Lt.c: Likewise.
51011         * tests/unictype/test-categ_Lu.c: Likewise.
51012         * tests/unictype/test-categ_M.c: Likewise.
51013         * tests/unictype/test-categ_Mc.c: Likewise.
51014         * tests/unictype/test-categ_Me.c: Likewise.
51015         * tests/unictype/test-categ_Mn.c: Likewise.
51016         * tests/unictype/test-categ_N.c: Likewise.
51017         * tests/unictype/test-categ_Nd.c: Likewise.
51018         * tests/unictype/test-categ_Nl.c: Likewise.
51019         * tests/unictype/test-categ_No.c: Likewise.
51020         * tests/unictype/test-categ_P.c: Likewise.
51021         * tests/unictype/test-categ_Pc.c: Likewise.
51022         * tests/unictype/test-categ_Pd.c: Likewise.
51023         * tests/unictype/test-categ_Pe.c: Likewise.
51024         * tests/unictype/test-categ_Pf.c: Likewise.
51025         * tests/unictype/test-categ_Pi.c: Likewise.
51026         * tests/unictype/test-categ_Po.c: Likewise.
51027         * tests/unictype/test-categ_Ps.c: Likewise.
51028         * tests/unictype/test-categ_S.c: Likewise.
51029         * tests/unictype/test-categ_Sc.c: Likewise.
51030         * tests/unictype/test-categ_Sk.c: Likewise.
51031         * tests/unictype/test-categ_Sm.c: Likewise.
51032         * tests/unictype/test-categ_So.c: Likewise.
51033         * tests/unictype/test-categ_Z.c: Likewise.
51034         * tests/unictype/test-categ_Zl.c: Likewise.
51035         * tests/unictype/test-categ_Zp.c: Likewise.
51036         * tests/unictype/test-categ_Zs.c: Likewise.
51037         * tests/unictype/test-ctype_alnum.c: Likewise.
51038         * tests/unictype/test-ctype_alpha.c: Likewise.
51039         * tests/unictype/test-ctype_blank.c: Likewise.
51040         * tests/unictype/test-ctype_cntrl.c: Likewise.
51041         * tests/unictype/test-ctype_digit.c: Likewise.
51042         * tests/unictype/test-ctype_graph.c: Likewise.
51043         * tests/unictype/test-ctype_lower.c: Likewise.
51044         * tests/unictype/test-ctype_print.c: Likewise.
51045         * tests/unictype/test-ctype_punct.c: Likewise.
51046         * tests/unictype/test-ctype_space.c: Likewise.
51047         * tests/unictype/test-ctype_upper.c: Likewise.
51048         * tests/unictype/test-ctype_xdigit.c: Likewise.
51049         * tests/unictype/test-decdigit.h: Likewise.
51050         * tests/unictype/test-digit.h: Likewise.
51051         * tests/unictype/test-numeric.h: Likewise.
51052         * tests/unictype/test-pr_alphabetic.c: Likewise.
51053         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
51054         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
51055         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
51056         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
51057         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
51058         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
51059         * tests/unictype/test-pr_bidi_control.c: Likewise.
51060         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
51061         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
51062         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
51063         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
51064         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
51065         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
51066         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
51067         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
51068         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
51069         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
51070         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
51071         * tests/unictype/test-pr_combining.c: Likewise.
51072         * tests/unictype/test-pr_composite.c: Likewise.
51073         * tests/unictype/test-pr_currency_symbol.c: Likewise.
51074         * tests/unictype/test-pr_dash.c: Likewise.
51075         * tests/unictype/test-pr_decimal_digit.c: Likewise.
51076         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
51077         * tests/unictype/test-pr_deprecated.c: Likewise.
51078         * tests/unictype/test-pr_diacritic.c: Likewise.
51079         * tests/unictype/test-pr_extender.c: Likewise.
51080         * tests/unictype/test-pr_format_control.c: Likewise.
51081         * tests/unictype/test-pr_grapheme_base.c: Likewise.
51082         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
51083         * tests/unictype/test-pr_grapheme_link.c: Likewise.
51084         * tests/unictype/test-pr_hex_digit.c: Likewise.
51085         * tests/unictype/test-pr_hyphen.c: Likewise.
51086         * tests/unictype/test-pr_id_continue.c: Likewise.
51087         * tests/unictype/test-pr_id_start.c: Likewise.
51088         * tests/unictype/test-pr_ideographic.c: Likewise.
51089         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
51090         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
51091         * tests/unictype/test-pr_ignorable_control.c: Likewise.
51092         * tests/unictype/test-pr_iso_control.c: Likewise.
51093         * tests/unictype/test-pr_join_control.c: Likewise.
51094         * tests/unictype/test-pr_left_of_pair.c: Likewise.
51095         * tests/unictype/test-pr_line_separator.c: Likewise.
51096         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
51097         * tests/unictype/test-pr_lowercase.c: Likewise.
51098         * tests/unictype/test-pr_math.c: Likewise.
51099         * tests/unictype/test-pr_non_break.c: Likewise.
51100         * tests/unictype/test-pr_not_a_character.c: Likewise.
51101         * tests/unictype/test-pr_numeric.c: Likewise.
51102         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
51103         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
51104         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
51105         * tests/unictype/test-pr_other_id_continue.c: Likewise.
51106         * tests/unictype/test-pr_other_id_start.c: Likewise.
51107         * tests/unictype/test-pr_other_lowercase.c: Likewise.
51108         * tests/unictype/test-pr_other_math.c: Likewise.
51109         * tests/unictype/test-pr_other_uppercase.c: Likewise.
51110         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
51111         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
51112         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
51113         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
51114         * tests/unictype/test-pr_private_use.c: Likewise.
51115         * tests/unictype/test-pr_punctuation.c: Likewise.
51116         * tests/unictype/test-pr_quotation_mark.c: Likewise.
51117         * tests/unictype/test-pr_radical.c: Likewise.
51118         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
51119         * tests/unictype/test-pr_soft_dotted.c: Likewise.
51120         * tests/unictype/test-pr_space.c: Likewise.
51121         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
51122         * tests/unictype/test-pr_titlecase.c: Likewise.
51123         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
51124         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
51125         * tests/unictype/test-pr_uppercase.c: Likewise.
51126         * tests/unictype/test-pr_variation_selector.c: Likewise.
51127         * tests/unictype/test-pr_white_space.c: Likewise.
51128         * tests/unictype/test-pr_xid_continue.c: Likewise.
51129         * tests/unictype/test-pr_xid_start.c: Likewise.
51130         * tests/unictype/test-pr_zero_width.c: Likewise.
51131         * tests/unictype/test-sy_c_whitespace.c: Likewise.
51132         * tests/unictype/test-sy_java_whitespace.c: Likewise.
51133
51134 2007-11-12  Bruno Haible  <bruno@clisp.org>
51135
51136         Unicode character classification functions.
51137         * lib/unictype.h: New file.
51138         * modules/unictype/base: New file.
51139         * modules/unictype/category-L: New file.
51140         * modules/unictype/category-Lu: New file.
51141         * modules/unictype/category-Ll: New file.
51142         * modules/unictype/category-Lt: New file.
51143         * modules/unictype/category-Lm: New file.
51144         * modules/unictype/category-Lo: New file.
51145         * modules/unictype/category-M: New file.
51146         * modules/unictype/category-Mn: New file.
51147         * modules/unictype/category-Mc: New file.
51148         * modules/unictype/category-Me: New file.
51149         * modules/unictype/category-N: New file.
51150         * modules/unictype/category-Nd: New file.
51151         * modules/unictype/category-Nl: New file.
51152         * modules/unictype/category-No: New file.
51153         * modules/unictype/category-P: New file.
51154         * modules/unictype/category-Pc: New file.
51155         * modules/unictype/category-Pd: New file.
51156         * modules/unictype/category-Ps: New file.
51157         * modules/unictype/category-Pe: New file.
51158         * modules/unictype/category-Pi: New file.
51159         * modules/unictype/category-Pf: New file.
51160         * modules/unictype/category-Po: New file.
51161         * modules/unictype/category-S: New file.
51162         * modules/unictype/category-Sm: New file.
51163         * modules/unictype/category-Sc: New file.
51164         * modules/unictype/category-Sk: New file.
51165         * modules/unictype/category-So: New file.
51166         * modules/unictype/category-Z: New file.
51167         * modules/unictype/category-Zs: New file.
51168         * modules/unictype/category-Zl: New file.
51169         * modules/unictype/category-Zp: New file.
51170         * modules/unictype/category-C: New file.
51171         * modules/unictype/category-Cc: New file.
51172         * modules/unictype/category-Cf: New file.
51173         * modules/unictype/category-Cs: New file.
51174         * modules/unictype/category-Co: New file.
51175         * modules/unictype/category-Cn: New file.
51176         * modules/unictype/category-or: New file.
51177         * modules/unictype/category-of: New file.
51178         * modules/unictype/category-test: New file.
51179         * modules/unictype/category-test-withtable: New file.
51180         * modules/unictype/category-byname: New file.
51181         * modules/unictype/category-none: New file.
51182         * modules/unictype/category-and: New file.
51183         * modules/unictype/category-and-not: New file.
51184         * modules/unictype/category-name: New file.
51185         * modules/unictype/combining-class: New file.
51186         * modules/unictype/category-all: New file.
51187         * modules/unictype/bidicategory-all: New file.
51188         * modules/unictype/bidicategory-byname: New file.
51189         * modules/unictype/bidicategory-name: New file.
51190         * modules/unictype/bidicategory-of: New file.
51191         * modules/unictype/bidicategory-test: New file.
51192         * modules/unictype/decimal-digit: New file.
51193         * modules/unictype/digit: New file.
51194         * modules/unictype/numeric: New file.
51195         * modules/unictype/mirror: New file.
51196         * modules/unictype/property-white-space: New file.
51197         * modules/unictype/property-alphabetic: New file.
51198         * modules/unictype/property-other-alphabetic: New file.
51199         * modules/unictype/property-not-a-character: New file.
51200         * modules/unictype/property-default-ignorable-code-point: New file.
51201         * modules/unictype/property-other-default-ignorable-code-point: New
51202         file.
51203         * modules/unictype/property-deprecated: New file.
51204         * modules/unictype/property-logical-order-exception: New file.
51205         * modules/unictype/property-variation-selector: New file.
51206         * modules/unictype/property-private-use: New file.
51207         * modules/unictype/property-unassigned-code-value: New file.
51208         * modules/unictype/property-uppercase: New file.
51209         * modules/unictype/property-other-uppercase: New file.
51210         * modules/unictype/property-lowercase: New file.
51211         * modules/unictype/property-other-lowercase: New file.
51212         * modules/unictype/property-titlecase: New file.
51213         * modules/unictype/property-soft-dotted: New file.
51214         * modules/unictype/property-id-start: New file.
51215         * modules/unictype/property-other-id-start: New file.
51216         * modules/unictype/property-id-continue: New file.
51217         * modules/unictype/property-other-id-continue: New file.
51218         * modules/unictype/property-xid-start: New file.
51219         * modules/unictype/property-xid-continue: New file.
51220         * modules/unictype/property-pattern-white-space: New file.
51221         * modules/unictype/property-pattern-syntax: New file.
51222         * modules/unictype/property-join-control: New file.
51223         * modules/unictype/property-grapheme-base: New file.
51224         * modules/unictype/property-grapheme-extend: New file.
51225         * modules/unictype/property-other-grapheme-extend: New file.
51226         * modules/unictype/property-grapheme-link: New file.
51227         * modules/unictype/property-bidi-control: New file.
51228         * modules/unictype/property-bidi-left-to-right: New file.
51229         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
51230         * modules/unictype/property-bidi-arabic-right-to-left: New file.
51231         * modules/unictype/property-bidi-european-digit: New file.
51232         * modules/unictype/property-bidi-eur-num-separator: New file.
51233         * modules/unictype/property-bidi-eur-num-terminator: New file.
51234         * modules/unictype/property-bidi-arabic-digit: New file.
51235         * modules/unictype/property-bidi-common-separator: New file.
51236         * modules/unictype/property-bidi-block-separator: New file.
51237         * modules/unictype/property-bidi-segment-separator: New file.
51238         * modules/unictype/property-bidi-whitespace: New file.
51239         * modules/unictype/property-bidi-non-spacing-mark: New file.
51240         * modules/unictype/property-bidi-boundary-neutral: New file.
51241         * modules/unictype/property-bidi-pdf: New file.
51242         * modules/unictype/property-bidi-embedding-or-override: New file.
51243         * modules/unictype/property-bidi-other-neutral: New file.
51244         * modules/unictype/property-hex-digit: New file.
51245         * modules/unictype/property-ascii-hex-digit: New file.
51246         * modules/unictype/property-ideographic: New file.
51247         * modules/unictype/property-unified-ideograph: New file.
51248         * modules/unictype/property-radical: New file.
51249         * modules/unictype/property-ids-binary-operator: New file.
51250         * modules/unictype/property-ids-trinary-operator: New file.
51251         * modules/unictype/property-zero-width: New file.
51252         * modules/unictype/property-space: New file.
51253         * modules/unictype/property-non-break: New file.
51254         * modules/unictype/property-iso-control: New file.
51255         * modules/unictype/property-format-control: New file.
51256         * modules/unictype/property-dash: New file.
51257         * modules/unictype/property-hyphen: New file.
51258         * modules/unictype/property-punctuation: New file.
51259         * modules/unictype/property-line-separator: New file.
51260         * modules/unictype/property-paragraph-separator: New file.
51261         * modules/unictype/property-quotation-mark: New file.
51262         * modules/unictype/property-sentence-terminal: New file.
51263         * modules/unictype/property-terminal-punctuation: New file.
51264         * modules/unictype/property-currency-symbol: New file.
51265         * modules/unictype/property-math: New file.
51266         * modules/unictype/property-other-math: New file.
51267         * modules/unictype/property-paired-punctuation: New file.
51268         * modules/unictype/property-left-of-pair: New file.
51269         * modules/unictype/property-combining: New file.
51270         * modules/unictype/property-composite: New file.
51271         * modules/unictype/property-decimal-digit: New file.
51272         * modules/unictype/property-numeric: New file.
51273         * modules/unictype/property-diacritic: New file.
51274         * modules/unictype/property-extender: New file.
51275         * modules/unictype/property-ignorable-control: New file.
51276         * modules/unictype/property-test: New file.
51277         * modules/unictype/property-byname: New file.
51278         * modules/unictype/property-all: New file.
51279         * modules/unictype/scripts: New file.
51280         * modules/unictype/scripts-all: New file.
51281         * modules/unictype/block-of: New file.
51282         * modules/unictype/block-test: New file.
51283         * modules/unictype/block-list: New file.
51284         * modules/unictype/block-all: New file.
51285         * modules/unictype/syntax-c-whitespace: New file.
51286         * modules/unictype/syntax-java-whitespace: New file.
51287         * modules/unictype/syntax-c-ident: New file.
51288         * modules/unictype/syntax-java-ident: New file.
51289         * modules/unictype/ctype-alnum: New file.
51290         * modules/unictype/ctype-alpha: New file.
51291         * modules/unictype/ctype-cntrl: New file.
51292         * modules/unictype/ctype-digit: New file.
51293         * modules/unictype/ctype-graph: New file.
51294         * modules/unictype/ctype-lower: New file.
51295         * modules/unictype/ctype-print: New file.
51296         * modules/unictype/ctype-punct: New file.
51297         * modules/unictype/ctype-space: New file.
51298         * modules/unictype/ctype-upper: New file.
51299         * modules/unictype/ctype-xdigit: New file.
51300         * modules/unictype/ctype-blank: New file.
51301         * lib/unictype/bidi_byname.c: New file.
51302         * lib/unictype/bidi_name.c: New file.
51303         * lib/unictype/bidi_of.c: New file.
51304         * lib/unictype/bidi_test.c: New file.
51305         * lib/unictype/bitmap.h: New file.
51306         * lib/unictype/block_test.c: New file.
51307         * lib/unictype/blocks.c: New file.
51308         * lib/unictype/categ_C.c: New file.
51309         * lib/unictype/categ_Cc.c: New file.
51310         * lib/unictype/categ_Cf.c: New file.
51311         * lib/unictype/categ_Cn.c: New file.
51312         * lib/unictype/categ_Co.c: New file.
51313         * lib/unictype/categ_Cs.c: New file.
51314         * lib/unictype/categ_L.c: New file.
51315         * lib/unictype/categ_Ll.c: New file.
51316         * lib/unictype/categ_Lm.c: New file.
51317         * lib/unictype/categ_Lo.c: New file.
51318         * lib/unictype/categ_Lt.c: New file.
51319         * lib/unictype/categ_Lu.c: New file.
51320         * lib/unictype/categ_M.c: New file.
51321         * lib/unictype/categ_Mc.c: New file.
51322         * lib/unictype/categ_Me.c: New file.
51323         * lib/unictype/categ_Mn.c: New file.
51324         * lib/unictype/categ_N.c: New file.
51325         * lib/unictype/categ_Nd.c: New file.
51326         * lib/unictype/categ_Nl.c: New file.
51327         * lib/unictype/categ_No.c: New file.
51328         * lib/unictype/categ_P.c: New file.
51329         * lib/unictype/categ_Pc.c: New file.
51330         * lib/unictype/categ_Pd.c: New file.
51331         * lib/unictype/categ_Pe.c: New file.
51332         * lib/unictype/categ_Pf.c: New file.
51333         * lib/unictype/categ_Pi.c: New file.
51334         * lib/unictype/categ_Po.c: New file.
51335         * lib/unictype/categ_Ps.c: New file.
51336         * lib/unictype/categ_S.c: New file.
51337         * lib/unictype/categ_Sc.c: New file.
51338         * lib/unictype/categ_Sk.c: New file.
51339         * lib/unictype/categ_Sm.c: New file.
51340         * lib/unictype/categ_So.c: New file.
51341         * lib/unictype/categ_Z.c: New file.
51342         * lib/unictype/categ_Zl.c: New file.
51343         * lib/unictype/categ_Zp.c: New file.
51344         * lib/unictype/categ_Zs.c: New file.
51345         * lib/unictype/categ_and.c: New file.
51346         * lib/unictype/categ_and_not.c: New file.
51347         * lib/unictype/categ_byname.c: New file.
51348         * lib/unictype/categ_name.c: New file.
51349         * lib/unictype/categ_none.c: New file.
51350         * lib/unictype/categ_of.c: New file.
51351         * lib/unictype/categ_or.c: New file.
51352         * lib/unictype/categ_test.c: New file.
51353         * lib/unictype/combining.c: New file.
51354         * lib/unictype/ctype_alnum.c: New file.
51355         * lib/unictype/ctype_alpha.c: New file.
51356         * lib/unictype/ctype_blank.c: New file.
51357         * lib/unictype/ctype_cntrl.c: New file.
51358         * lib/unictype/ctype_digit.c: New file.
51359         * lib/unictype/ctype_graph.c: New file.
51360         * lib/unictype/ctype_lower.c: New file.
51361         * lib/unictype/ctype_print.c: New file.
51362         * lib/unictype/ctype_punct.c: New file.
51363         * lib/unictype/ctype_space.c: New file.
51364         * lib/unictype/ctype_upper.c: New file.
51365         * lib/unictype/ctype_xdigit.c: New file.
51366         * lib/unictype/decdigit.c: New file.
51367         * lib/unictype/digit.c: New file.
51368         * lib/unictype/identsyntaxmap.h: New file.
51369         * lib/unictype/mirror.c: New file.
51370         * lib/unictype/numeric.c: New file.
51371         * lib/unictype/pr_alphabetic.c: New file.
51372         * lib/unictype/pr_ascii_hex_digit.c: New file.
51373         * lib/unictype/pr_bidi_arabic_digit.c: New file.
51374         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
51375         * lib/unictype/pr_bidi_block_separator.c: New file.
51376         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
51377         * lib/unictype/pr_bidi_common_separator.c: New file.
51378         * lib/unictype/pr_bidi_control.c: New file.
51379         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
51380         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
51381         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
51382         * lib/unictype/pr_bidi_european_digit.c: New file.
51383         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
51384         * lib/unictype/pr_bidi_left_to_right.c: New file.
51385         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
51386         * lib/unictype/pr_bidi_other_neutral.c: New file.
51387         * lib/unictype/pr_bidi_pdf.c: New file.
51388         * lib/unictype/pr_bidi_segment_separator.c: New file.
51389         * lib/unictype/pr_bidi_whitespace.c: New file.
51390         * lib/unictype/pr_byname.c: New file.
51391         * lib/unictype/pr_byname.gperf: New file.
51392         * lib/unictype/pr_combining.c: New file.
51393         * lib/unictype/pr_composite.c: New file.
51394         * lib/unictype/pr_currency_symbol.c: New file.
51395         * lib/unictype/pr_dash.c: New file.
51396         * lib/unictype/pr_decimal_digit.c: New file.
51397         * lib/unictype/pr_default_ignorable_code_point.c: New file.
51398         * lib/unictype/pr_deprecated.c: New file.
51399         * lib/unictype/pr_diacritic.c: New file.
51400         * lib/unictype/pr_extender.c: New file.
51401         * lib/unictype/pr_format_control.c: New file.
51402         * lib/unictype/pr_grapheme_base.c: New file.
51403         * lib/unictype/pr_grapheme_extend.c: New file.
51404         * lib/unictype/pr_grapheme_link.c: New file.
51405         * lib/unictype/pr_hex_digit.c: New file.
51406         * lib/unictype/pr_hyphen.c: New file.
51407         * lib/unictype/pr_id_continue.c: New file.
51408         * lib/unictype/pr_id_start.c: New file.
51409         * lib/unictype/pr_ideographic.c: New file.
51410         * lib/unictype/pr_ids_binary_operator.c: New file.
51411         * lib/unictype/pr_ids_trinary_operator.c: New file.
51412         * lib/unictype/pr_ignorable_control.c: New file.
51413         * lib/unictype/pr_iso_control.c: New file.
51414         * lib/unictype/pr_join_control.c: New file.
51415         * lib/unictype/pr_left_of_pair.c: New file.
51416         * lib/unictype/pr_line_separator.c: New file.
51417         * lib/unictype/pr_logical_order_exception.c: New file.
51418         * lib/unictype/pr_lowercase.c: New file.
51419         * lib/unictype/pr_math.c: New file.
51420         * lib/unictype/pr_non_break.c: New file.
51421         * lib/unictype/pr_not_a_character.c: New file.
51422         * lib/unictype/pr_numeric.c: New file.
51423         * lib/unictype/pr_other_alphabetic.c: New file.
51424         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
51425         * lib/unictype/pr_other_grapheme_extend.c: New file.
51426         * lib/unictype/pr_other_id_continue.c: New file.
51427         * lib/unictype/pr_other_id_start.c: New file.
51428         * lib/unictype/pr_other_lowercase.c: New file.
51429         * lib/unictype/pr_other_math.c: New file.
51430         * lib/unictype/pr_other_uppercase.c: New file.
51431         * lib/unictype/pr_paired_punctuation.c: New file.
51432         * lib/unictype/pr_paragraph_separator.c: New file.
51433         * lib/unictype/pr_pattern_syntax.c: New file.
51434         * lib/unictype/pr_pattern_white_space.c: New file.
51435         * lib/unictype/pr_private_use.c: New file.
51436         * lib/unictype/pr_punctuation.c: New file.
51437         * lib/unictype/pr_quotation_mark.c: New file.
51438         * lib/unictype/pr_radical.c: New file.
51439         * lib/unictype/pr_sentence_terminal.c: New file.
51440         * lib/unictype/pr_soft_dotted.c: New file.
51441         * lib/unictype/pr_space.c: New file.
51442         * lib/unictype/pr_terminal_punctuation.c: New file.
51443         * lib/unictype/pr_test.c: New file.
51444         * lib/unictype/pr_titlecase.c: New file.
51445         * lib/unictype/pr_unassigned_code_value.c: New file.
51446         * lib/unictype/pr_unified_ideograph.c: New file.
51447         * lib/unictype/pr_uppercase.c: New file.
51448         * lib/unictype/pr_variation_selector.c: New file.
51449         * lib/unictype/pr_white_space.c: New file.
51450         * lib/unictype/pr_xid_continue.c: New file.
51451         * lib/unictype/pr_xid_start.c: New file.
51452         * lib/unictype/pr_zero_width.c: New file.
51453         * lib/unictype/scripts.c: New file.
51454         * lib/unictype/sy_c_ident.c: New file.
51455         * lib/unictype/sy_c_whitespace.c: New file.
51456         * lib/unictype/sy_java_ident.c: New file.
51457         * lib/unictype/sy_java_whitespace.c: New file.
51458
51459         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
51460         Unicode 5.0.0.
51461         * lib/unictype/blocks.h: Likewise.
51462         * lib/unictype/categ_C.h: Likewise.
51463         * lib/unictype/categ_Cc.h: Likewise.
51464         * lib/unictype/categ_Cf.h: Likewise.
51465         * lib/unictype/categ_Cn.h: Likewise.
51466         * lib/unictype/categ_Co.h: Likewise.
51467         * lib/unictype/categ_Cs.h: Likewise.
51468         * lib/unictype/categ_L.h: Likewise.
51469         * lib/unictype/categ_Ll.h: Likewise.
51470         * lib/unictype/categ_Lm.h: Likewise.
51471         * lib/unictype/categ_Lo.h: Likewise.
51472         * lib/unictype/categ_Lt.h: Likewise.
51473         * lib/unictype/categ_Lu.h: Likewise.
51474         * lib/unictype/categ_M.h: Likewise.
51475         * lib/unictype/categ_Mc.h: Likewise.
51476         * lib/unictype/categ_Me.h: Likewise.
51477         * lib/unictype/categ_Mn.h: Likewise.
51478         * lib/unictype/categ_N.h: Likewise.
51479         * lib/unictype/categ_Nd.h: Likewise.
51480         * lib/unictype/categ_Nl.h: Likewise.
51481         * lib/unictype/categ_No.h: Likewise.
51482         * lib/unictype/categ_P.h: Likewise.
51483         * lib/unictype/categ_Pc.h: Likewise.
51484         * lib/unictype/categ_Pd.h: Likewise.
51485         * lib/unictype/categ_Pe.h: Likewise.
51486         * lib/unictype/categ_Pf.h: Likewise.
51487         * lib/unictype/categ_Pi.h: Likewise.
51488         * lib/unictype/categ_Po.h: Likewise.
51489         * lib/unictype/categ_Ps.h: Likewise.
51490         * lib/unictype/categ_S.h: Likewise.
51491         * lib/unictype/categ_Sc.h: Likewise.
51492         * lib/unictype/categ_Sk.h: Likewise.
51493         * lib/unictype/categ_Sm.h: Likewise.
51494         * lib/unictype/categ_So.h: Likewise.
51495         * lib/unictype/categ_Z.h: Likewise.
51496         * lib/unictype/categ_Zl.h: Likewise.
51497         * lib/unictype/categ_Zp.h: Likewise.
51498         * lib/unictype/categ_Zs.h: Likewise.
51499         * lib/unictype/categ_of.h: Likewise.
51500         * lib/unictype/combining.h: Likewise.
51501         * lib/unictype/ctype_alnum.h: Likewise.
51502         * lib/unictype/ctype_alpha.h: Likewise.
51503         * lib/unictype/ctype_blank.h: Likewise.
51504         * lib/unictype/ctype_cntrl.h: Likewise.
51505         * lib/unictype/ctype_digit.h: Likewise.
51506         * lib/unictype/ctype_graph.h: Likewise.
51507         * lib/unictype/ctype_lower.h: Likewise.
51508         * lib/unictype/ctype_print.h: Likewise.
51509         * lib/unictype/ctype_punct.h: Likewise.
51510         * lib/unictype/ctype_space.h: Likewise.
51511         * lib/unictype/ctype_upper.h: Likewise.
51512         * lib/unictype/ctype_xdigit.h: Likewise.
51513         * lib/unictype/decdigit.h: Likewise.
51514         * lib/unictype/digit.h: Likewise.
51515         * lib/unictype/mirror.h: Likewise.
51516         * lib/unictype/numeric.h: Likewise.
51517         * lib/unictype/pr_alphabetic.h: Likewise.
51518         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
51519         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
51520         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
51521         * lib/unictype/pr_bidi_block_separator.h: Likewise.
51522         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
51523         * lib/unictype/pr_bidi_common_separator.h: Likewise.
51524         * lib/unictype/pr_bidi_control.h: Likewise.
51525         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
51526         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
51527         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
51528         * lib/unictype/pr_bidi_european_digit.h: Likewise.
51529         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
51530         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
51531         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
51532         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
51533         * lib/unictype/pr_bidi_pdf.h: Likewise.
51534         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
51535         * lib/unictype/pr_bidi_whitespace.h: Likewise.
51536         * lib/unictype/pr_combining.h: Likewise.
51537         * lib/unictype/pr_composite.h: Likewise.
51538         * lib/unictype/pr_currency_symbol.h: Likewise.
51539         * lib/unictype/pr_dash.h: Likewise.
51540         * lib/unictype/pr_decimal_digit.h: Likewise.
51541         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
51542         * lib/unictype/pr_deprecated.h: Likewise.
51543         * lib/unictype/pr_diacritic.h: Likewise.
51544         * lib/unictype/pr_extender.h: Likewise.
51545         * lib/unictype/pr_format_control.h: Likewise.
51546         * lib/unictype/pr_grapheme_base.h: Likewise.
51547         * lib/unictype/pr_grapheme_extend.h: Likewise.
51548         * lib/unictype/pr_grapheme_link.h: Likewise.
51549         * lib/unictype/pr_hex_digit.h: Likewise.
51550         * lib/unictype/pr_hyphen.h: Likewise.
51551         * lib/unictype/pr_id_continue.h: Likewise.
51552         * lib/unictype/pr_id_start.h: Likewise.
51553         * lib/unictype/pr_ideographic.h: Likewise.
51554         * lib/unictype/pr_ids_binary_operator.h: Likewise.
51555         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
51556         * lib/unictype/pr_ignorable_control.h: Likewise.
51557         * lib/unictype/pr_iso_control.h: Likewise.
51558         * lib/unictype/pr_join_control.h: Likewise.
51559         * lib/unictype/pr_left_of_pair.h: Likewise.
51560         * lib/unictype/pr_line_separator.h: Likewise.
51561         * lib/unictype/pr_logical_order_exception.h: Likewise.
51562         * lib/unictype/pr_lowercase.h: Likewise.
51563         * lib/unictype/pr_math.h: Likewise.
51564         * lib/unictype/pr_non_break.h: Likewise.
51565         * lib/unictype/pr_not_a_character.h: Likewise.
51566         * lib/unictype/pr_numeric.h: Likewise.
51567         * lib/unictype/pr_other_alphabetic.h: Likewise.
51568         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
51569         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
51570         * lib/unictype/pr_other_id_continue.h: Likewise.
51571         * lib/unictype/pr_other_id_start.h: Likewise.
51572         * lib/unictype/pr_other_lowercase.h: Likewise.
51573         * lib/unictype/pr_other_math.h: Likewise.
51574         * lib/unictype/pr_other_uppercase.h: Likewise.
51575         * lib/unictype/pr_paired_punctuation.h: Likewise.
51576         * lib/unictype/pr_paragraph_separator.h: Likewise.
51577         * lib/unictype/pr_pattern_syntax.h: Likewise.
51578         * lib/unictype/pr_pattern_white_space.h: Likewise.
51579         * lib/unictype/pr_private_use.h: Likewise.
51580         * lib/unictype/pr_punctuation.h: Likewise.
51581         * lib/unictype/pr_quotation_mark.h: Likewise.
51582         * lib/unictype/pr_radical.h: Likewise.
51583         * lib/unictype/pr_sentence_terminal.h: Likewise.
51584         * lib/unictype/pr_soft_dotted.h: Likewise.
51585         * lib/unictype/pr_space.h: Likewise.
51586         * lib/unictype/pr_terminal_punctuation.h: Likewise.
51587         * lib/unictype/pr_titlecase.h: Likewise.
51588         * lib/unictype/pr_unassigned_code_value.h: Likewise.
51589         * lib/unictype/pr_unified_ideograph.h: Likewise.
51590         * lib/unictype/pr_uppercase.h: Likewise.
51591         * lib/unictype/pr_variation_selector.h: Likewise.
51592         * lib/unictype/pr_white_space.h: Likewise.
51593         * lib/unictype/pr_xid_continue.h: Likewise.
51594         * lib/unictype/pr_xid_start.h: Likewise.
51595         * lib/unictype/pr_zero_width.h: Likewise.
51596         * lib/unictype/scripts.h: Likewise.
51597         * lib/unictype/scripts_byname.gperf: Likewise.
51598         * lib/unictype/sy_c_ident.h: Likewise.
51599         * lib/unictype/sy_c_whitespace.h: Likewise.
51600         * lib/unictype/sy_java_ident.h: Likewise.
51601         * lib/unictype/sy_java_whitespace.h: Likewise.
51602
51603         * lib/unictype/Makefile: New file.
51604         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
51605         glibc.
51606         * lib/unictype/3level.h: New file, copied from glibc.
51607         * lib/unictype/3levelbit.h: New file.
51608
51609 2007-11-11  Bruno Haible  <bruno@clisp.org>
51610
51611         * modules/gperf: New file.
51612         * modules/iconv_open (Depends-on): Add it.
51613         (Makefile.am): Remove the GPERF definition.
51614
51615 2007-11-11  Bruno Haible  <bruno@clisp.org>
51616
51617         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
51618         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
51619
51620 2007-11-11  Bruno Haible  <bruno@clisp.org>
51621
51622         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
51623         (usage): Remove function.
51624
51625 2007-11-11  Bruno Haible  <bruno@clisp.org>
51626
51627         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
51628         gl_FUNC_CEILF_LIBS.
51629         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
51630         gl_FUNC_CEIL_LIBS.
51631         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
51632         gl_FUNC_CEILL_LIBS.
51633         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
51634         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
51635         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
51636
51637 2007-11-11  Bruno Haible  <bruno@clisp.org>
51638
51639         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
51640         roundf were declared but do not exist on functions.
51641         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
51642         roundl were declared but do not exist on functions.
51643         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
51644         HAVE_FLOORL_AND_CEILL, respectively.
51645         Needed for Sun C on Solaris 10.
51646
51647 2007-11-11  Bruno Haible  <bruno@clisp.org>
51648
51649         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
51650         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
51651         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
51652         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
51653         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
51654         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
51655         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
51656         HAVE_DECL_ROUNDF.
51657         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
51658         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
51659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
51660         of HAVE_DECL_ROUND*.
51661         * modules/math (Makefile.am): Update.
51662
51663 2007-11-10  Bruno Haible  <bruno@clisp.org>
51664
51665         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
51666         ptrdiff_t as m4/intl.m4.
51667
51668 2007-11-10  Jim Meyering  <meyering@redhat.com>
51669
51670         Avoid link failure for the argmatch test.
51671         * tests/test-argmatch.c (usage): Define function to avoid a link
51672         failure: argmatch_die requires a usage function.
51673
51674 2007-11-09  Bruno Haible  <bruno@clisp.org>
51675
51676         * doc/functions/snprintf.texi: Mention BeOS deficiency.
51677         * doc/functions/vsnprintf.texi: Likewise.
51678         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
51679         with a size argument < 2.
51680
51681 2007-11-09  Bruno Haible  <bruno@clisp.org>
51682
51683         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
51684         buffer. Fixes an inefficiency introduced on 2007-11-03.
51685
51686 2007-11-09  Bruno Haible  <bruno@clisp.org>
51687
51688         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
51689         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
51690
51691 2007-11-08  Jim Meyering  <meyering@redhat.com>
51692
51693         Change cache variable name prefix "jm_" to "gl_" everywhere.
51694         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
51695         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
51696         * m4/uptime.m4: s/gl_/jm_/
51697
51698 2007-11-07  Bruno Haible  <bruno@clisp.org>
51699
51700         Update to GNU gettext 0.17.
51701         * m4/intl.m4: Update to GNU gettext 0.17.
51702         * m4/po.m4: Likewise.
51703         * modules/gettext (Files): Remove m4/ulonglong.m4.
51704         (configure.ac): Require gettext infrastructure from version 0.17.
51705
51706 2007-11-06  Bruno Haible  <bruno@clisp.org>
51707
51708         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
51709         symbolic values are not defined in a public header.
51710         * lib/freadable.c (freadable) [QNX]: Likewise.
51711         * lib/freadahead.c (freadahead) [QNX]: Likewise.
51712         * lib/freading.c (freading) [QNX]: Likewise.
51713         * lib/fseterr.c (fseterr) [QNX]: Likewise.
51714         * lib/fwritable.c (fwritable) [QNX]: Likewise.
51715         * lib/fwriting.c (fwriting) [QNX]: Likewise.
51716         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
51717         Reported by Alain Magloire.
51718
51719         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
51720
51721 2007-11-05  Bruno Haible  <bruno@clisp.org>
51722
51723         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
51724         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
51725         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
51726         Reported by Eric Blake.
51727
51728 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51729             Bruno Haible  <bruno@clisp.org>
51730
51731         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
51732         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
51733         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
51734         (malloc): Undefine also before including <stdlib.h>.
51735         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
51736         Needed on OSF/1 4.0.
51737
51738 2007-11-05  Jim Meyering  <meyering@redhat.com>
51739
51740         git-version-gen: sync from coreutils.
51741         * build-aux/git-version-gen: Add comments.
51742         Change the first '-' to '.' in the snapshot version string,
51743         e.g., 6.9-377-08144 -> 6.9.377-08144
51744         Remove first parameter.
51745         Don't declare a version "-dirty" merely because a time
51746         stamp has changed.
51747
51748 2007-11-04  Bruno Haible  <bruno@clisp.org>
51749
51750         * lib/lock.h: Protect all macro definitions containing an 'if'
51751         statement through a "do { ... } while (0)".
51752         * lib/tls.h: Likewise.
51753
51754 2007-11-04  Bruno Haible  <bruno@clisp.org>
51755
51756         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
51757
51758 2007-11-04  Bruno Haible  <bruno@clisp.org>
51759
51760         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
51761         * modules/fprintf-posix (Depends-on): Add nocrash.
51762         * modules/snprintf-posix (Depends-on): Likewise.
51763         * modules/sprintf-posix (Depends-on): Likewise.
51764         * modules/vasnprintf-posix (Depends-on): Likewise.
51765         * modules/vasprintf-posix (Depends-on): Likewise.
51766         * modules/vfprintf-posix (Depends-on): Likewise.
51767         * modules/vsnprintf-posix (Depends-on): Likewise.
51768         * modules/vsprintf-posix (Depends-on): Likewise.
51769         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51770         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51771         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51772         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51773         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51774         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51775         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51776
51777 2007-11-04  Bruno Haible  <bruno@clisp.org>
51778
51779         * modules/nocrash: New file.
51780         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
51781         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
51782
51783 2007-11-04  Bruno Haible  <bruno@clisp.org>
51784
51785         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
51786         precision handling.
51787         * tests/test-vasprintf-posix.c (test_function): Likewise.
51788         * tests/test-snprintf-posix.h (test_function): Likewise.
51789         * tests/test-sprintf-posix.h (test_function): Likewise.
51790
51791         Fix *printf behaviour for large precisions on mingw and BeOS.
51792         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
51793         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
51794         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
51795         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51797         gl_PRINTF_PRECISION and test its result. Invoke
51798         gl_PREREQ_VASNPRINTF_PRECISION.
51799         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51800         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51801         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51802         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51803         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51804         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51805         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51806         * doc/functions/fprintf.texi: Update.
51807         * doc/functions/printf.texi: Update.
51808         * doc/functions/snprintf.texi: Update.
51809         * doc/functions/sprintf.texi: Update.
51810         * doc/functions/vfprintf.texi: Update.
51811         * doc/functions/vprintf.texi: Update.
51812         * doc/functions/vsnprintf.texi: Update.
51813         * doc/functions/vsprintf.texi: Update.
51814
51815 2007-11-04  Bruno Haible  <bruno@clisp.org>
51816
51817         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
51818
51819 2007-11-04  Bruno Haible  <bruno@clisp.org>
51820
51821         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
51822         Reported by Sylvain Beucler <beuc@gnu.org>.
51823
51824 2007-11-03  Bruno Haible  <bruno@clisp.org>
51825
51826         * tests/test-fprintf-posix2.sh: New file.
51827         * tests/test-fprintf-posix2.c: New file.
51828         * modules/fprintf-posix-tests (Files): Add them.
51829         (TESTS): Add test-fprintf-posix2.sh.
51830         (configure.ac): Check for getrlimit and setrlimit.
51831         (check_PROGRAMS): Add test-fprintf-posix2.
51832
51833         * tests/test-printf-posix2.sh: New file.
51834         * tests/test-printf-posix2.c: New file.
51835         * modules/printf-posix-tests (Files): Add them.
51836         (TESTS): Add test-printf-posix2.sh.
51837         (configure.ac): Check for getrlimit and setrlimit.
51838         (check_PROGRAMS): Add test-printf-posix2.
51839
51840         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
51841         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
51842         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
51843         (decode_double): New function, copied from decode_long_double.
51844         (scale10_round_decimal_decoded): New function, extracted from
51845         scale10_round_decimal_long_double.
51846         (scale10_round_decimal_long_double): Use it.
51847         (scale10_round_decimal_double): New function.
51848         (floorlog10): New function.
51849         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
51850         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
51851         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51852         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51853         gl_PRINTF_ENOMEM and test its result. Invoke
51854         gl_PREREQ_VASNPRINTF_ENOMEM.
51855         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51856         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51857         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51858         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51859         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51860         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51861         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51862         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
51863         * modules/snprintf-posix (Depends-on): Likewise.
51864         * modules/sprintf-posix (Depends-on): Likewise.
51865         * modules/vasnprintf-posix (Depends-on): Likewise.
51866         * modules/vasprintf-posix (Depends-on): Likewise.
51867         * modules/vfprintf-posix (Depends-on): Likewise.
51868         * modules/vsnprintf-posix (Depends-on): Likewise.
51869         * modules/vsprintf-posix (Depends-on): Likewise.
51870         * doc/functions/fprintf.texi: Update.
51871         * doc/functions/printf.texi: Update.
51872         * doc/functions/snprintf.texi: Update.
51873         * doc/functions/sprintf.texi: Update.
51874         * doc/functions/vfprintf.texi: Update.
51875         * doc/functions/vprintf.texi: Update.
51876         * doc/functions/vsnprintf.texi: Update.
51877         * doc/functions/vsprintf.texi: Update.
51878
51879 2007-11-03  Bruno Haible  <bruno@clisp.org>
51880
51881         * modules/frexp-nolibm-tests: New file.
51882
51883         * modules/frexp-nolibm: New file.
51884         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
51885
51886 2007-11-03  Bruno Haible  <bruno@clisp.org>
51887
51888         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
51889         value is C99 compliant.
51890         Needed for OSF/1 5.1.
51891
51892 2007-11-03  Bruno Haible  <bruno@clisp.org>
51893
51894         Fix out-of-memory handling of vasnprintf.
51895         * lib/printf-parse.c: Include <errno.h>.
51896         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
51897         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
51898         is already set.
51899
51900 2007-11-02  Eric Blake  <ebb9@byu.net>
51901
51902         Fix tests on cygwin.
51903         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
51904
51905 2007-11-01  Bruno Haible  <bruno@clisp.org>
51906
51907         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
51908         warning.
51909         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
51910         needed for POSIX compatibility.
51911
51912 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51913
51914         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
51915         for compatibility with GNU.
51916
51917 2007-11-01  Bruno Haible  <bruno@clisp.org>
51918
51919         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
51920         (putenv): Renamed from rpl_putenv. Change argument type from
51921         'const char *' to 'char *'.
51922         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
51923         of defining putenv in config.h, just set REPLACE_PUTENV.
51924         * modules/putenv (Depends-on): Add stdlib.
51925         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51926         (Include): Use <stdlib.h>.
51927         * lib/stdlib.in.h (putenv): New declaration.
51928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
51929         REPLACE_PUTENV.
51930         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
51931         REPLACE_PUTENV.
51932         Needed for MacOS X 10.5.0.
51933         Reported by Peter O'Gorman <peter@pogma.com>.
51934
51935 2007-11-01  Jim Meyering  <meyering@redhat.com>
51936
51937         Treat an empty date string exactly like "0".
51938         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
51939         if the remaining date string (to be parsed) is empty, use "0".
51940         Reported by Mischa Molhoek and discussed in this thread:
51941         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
51942
51943 2007-10-31  Bruno Haible  <bruno@clisp.org>
51944
51945         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
51946         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
51947         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
51948         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
51949         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
51950         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
51951
51952 2007-10-31  Bruno Haible  <bruno@clisp.org>
51953
51954         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
51955         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
51956         (AC_TYPE_LONG_LONG_INT): Use it.
51957         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
51958         it as well.
51959         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
51960         to m4/longlong.m4.
51961         * modules/stdint (Files): Remove m4/ulonglong.m4.
51962         * modules/strtoull (Files): Use m4/longlong.m4 instead of
51963         m4/ulonglong.m4.
51964         * modules/strtoumax (Files): Likewise.
51965
51966 2007-10-30  Bruno Haible  <bruno@clisp.org>
51967
51968         * modules/xvasprintf-posix: New file.
51969         Suggested by Eric Blake.
51970
51971 2007-10-30  Bruno Haible  <bruno@clisp.org>
51972
51973         * modules/xprintf-posix-tests: New file.
51974         * tests/test-xprintf-posix.sh: New file.
51975         * tests/test-xprintf-posix.c: New file.
51976         * tests/test-xfprintf-posix.c: New file.
51977
51978         * modules/xprintf-posix: New file.
51979
51980 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51981
51982         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
51983         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
51984         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
51985
51986 2007-10-29  Bruno Haible  <bruno@clisp.org>
51987
51988         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
51989         contain the special marker '_cv_'.
51990         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
51991         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
51992         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
51993         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
51994         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
51995         Reported by Ralf Wildenhues.
51996
51997 2007-10-29  Bruno Haible  <bruno@clisp.org>
51998
51999         * gnulib-tool (func_import): When --lgpl is not specified, set
52000         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
52001         GPLv3.
52002         Reported by Simon Josefsson.
52003
52004 2007-10-28  Bruno Haible  <bruno@clisp.org>
52005
52006         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
52007         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
52008         HAVE_DECL_ISFINITE.
52009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
52010         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
52011         HAVE_DECL_ISFINITE.
52012
52013 2007-10-28  Bruno Haible  <bruno@clisp.org>
52014
52015         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
52016         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
52017
52018 2007-10-28  Bruno Haible  <bruno@clisp.org>
52019
52020         Fix link errors with Sun C 5.0 on Solaris 10.
52021         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
52022         function is declared but not present in the compiler's libm.
52023         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52024         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52025         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
52026         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
52027         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
52028         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
52029         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
52030         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
52031         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
52032         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
52033         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
52034         HAVE_DECL_FLOORL.
52035
52036 2007-10-28  Bruno Haible  <bruno@clisp.org>
52037
52038         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
52039         gl_FUNC_FLOORL. Cache the result.
52040         (gl_FUNC_FLOORL): Use it.
52041         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
52042         gl_FUNC_CEILL. Cache the result.
52043         (gl_FUNC_CEILL): Use it.
52044
52045         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
52046         gl_FUNC_FLOOR. Cache the result.
52047         (gl_FUNC_FLOOR): Use it.
52048         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
52049         gl_FUNC_CEIL. Cache the result.
52050         (gl_FUNC_CEIL): Use it.
52051
52052         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
52053         gl_FUNC_FLOORF. Cache the result.
52054         (gl_FUNC_FLOORF): Use it.
52055         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
52056         gl_FUNC_CEILF. Cache the result.
52057         (gl_FUNC_CEILF): Use it.
52058
52059 2007-10-28  Bruno Haible  <bruno@clisp.org>
52060
52061         * gnulib-tool: Allow specifying the LGPL version number through
52062         --lgpl=2 or --lgpl=3.
52063         (func_usage): Document --lgpl with argument.
52064         Handle --lgpl=... arguments.
52065         (func_import): Recognize also gl_LGPL calls with an argument. When
52066         --lgpl=2 is used and the module's license is just LGPL, report an
52067         error. Set sed_transform_lib_file according to the lgpl variable. In
52068         the generated files, use --lgpl or gl_LGPL invocations with argument,
52069         if necessary.
52070         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
52071         an LGPv2+ license.
52072         * doc/gnulib-tool.texi (Modified imports): Update explanation of
52073         gl_LGPL macro.
52074
52075 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52076             Bruno Haible  <bruno@clisp.org>
52077
52078         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
52079         (u16_uctomb_aux): Likewise.
52080         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
52081         !HAVE_INLINE.
52082         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
52083
52084 2007-10-28  Bruno Haible  <bruno@clisp.org>
52085
52086         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
52087         Invoke AM_GETTEXT_OPTION if it exists.
52088         * modules/vasprintf: Likewise.
52089         * modules/verror: Likewise.
52090         * modules/xprintf: Likewise.
52091         * modules/xvasprintf: Likewise.
52092
52093 2007-10-27  Ben Pfaff  <blp@gnu.org>
52094
52095         * lib/math.in.h: Define isfinite macro and prototypes for
52096         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
52097         implementations.
52098         * m4/math_h.m4: New substitutions for isfinite module.
52099         * lib/isfinite.c: New file.
52100         * m4/isfinite.m4: New file.
52101         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
52102         * modules/isfinite: New file.
52103         * modules/isfinite-tests: New file.
52104         * tests/tests-isfinite.c: New file.
52105         * doc/functions/isfinite.texi: Mention isfinite module.
52106         * MODULES.html.sh: Mention new module.
52107
52108 2007-10-27  Ben Pfaff  <blp@gnu.org>
52109
52110         Ralf Wildenhues reported that Tru64 4.0D declares the round
52111         functions but does not have definitions.
52112         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
52113         cannot be found in any library, set the output variable to
52114         "missing" instead of "".
52115         * m4/round.m4: Also use our substitute if we cannot find round in
52116         any library, even if it is declared.
52117         * m4/roundf.m4: Likewise for roundf.
52118         * m4/roundl.m4: Likewise for roundl.
52119         * lib/math.in.h: Undefine roundf, round, roundl before defining
52120         their replacements, to allow for hypothetical systems where these
52121         may be defined as macros but not available in libraries.
52122
52123 2007-10-27  Bruno Haible  <bruno@clisp.org>
52124
52125         * doc/gnulib.texi: Invoke @firstparagraphindent.
52126         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
52127         changes in gnulib.
52128         (Source changes): New section.
52129
52130 2007-10-26  Bruno Haible  <bruno@clisp.org>
52131
52132         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
52133         borrowed from autoconf.
52134
52135 2007-10-26  Bruno Haible  <bruno@clisp.org>
52136
52137         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
52138         strerror returned the empty string. Needed on HP-UX 11.00.
52139
52140 2007-10-24  Micah Cowan  <micah@cowan.name>
52141
52142         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
52143         * build-aux/bootstrap: Remove support for now-unnecessary option,
52144         --cvs-user, and envvars CVS_USER, CVS_RSH.
52145
52146 2007-10-24  Jim Meyering  <meyering@redhat.com>
52147
52148         Avoid diagnostics from sha1sum when there is no cached checksum.
52149         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
52150         if the po.s1 file hasn't been created yet.
52151
52152         * build-aux/bootstrap: Sync from coreutils:
52153         2007-10-24  Jim Meyering  <meyering@redhat.com>
52154         Get gnulib from the git repository, not from an obsolete cvs one.
52155         * build-aux/bootstrap: Suggestion from Micah Cowan.
52156         2007-10-04  Jim Meyering  <jim@meyering.net>
52157         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
52158         (update_po_files): Work also when there are no .po files in po/.
52159
52160 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52161
52162         * README: Append ".git" to git and cg examples.
52163         Problem reported by Benoit Sigoure.
52164
52165 2007-10-23  Micah Cowan  <micah@cowan.name>
52166
52167         * users.txt: Add wget.
52168
52169 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52170
52171         Fix linking of some unistdio tests on FreeBSD.
52172         * modules/unistdio/u16-vsnprintf-tests
52173         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
52174         * modules/unistdio/u16-vsprintf-tests
52175         (test_u16_vsnprintf1_LDADD): Likewise.
52176         * modules/unistdio/u32-vsnprintf-tests
52177         (test_u32_vsnprintf1_LDADD): Likewise.
52178         * modules/unistdio/u32-vsprintf-tests
52179         (test_u32_vsprintf1_LDADD): Likewise.
52180         * modules/unistdio/u8-vsnprintf-tests
52181         (test_u8_vsnprintf1_LDADD): Likewise.
52182         * modules/unistdio/u8-vsprintf-tests
52183         (test_u8_vsprintf1_LDADD): Likewise.
52184         * modules/unistdio/ulc-vsnprintf-tests
52185         (test_ulc_vsnprintf1_LDADD): Likewise.
52186         * modules/unistdio/ulc-vsprintf-tests
52187         (test_ulc_vsprintf1_LDADD): Likewise.
52188
52189         Fix linking of some uniconv tests on FreeBSD.
52190         * modules/uniconv/u16-conv-from-enc-tests
52191         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
52192         * modules/uniconv/u16-conv-to-enc-tests
52193         (test_u16_conv_to_enc_LDADD): Likewise.
52194         * modules/uniconv/u16-strconv-from-enc-tests
52195         (test_u16_strconv_from_enc_LDADD): Likewise.
52196         * modules/uniconv/u16-strconv-to-enc-tests
52197         (test_u16_strconv_to_enc_LDADD): Likewise.
52198         * modules/uniconv/u32-conv-from-enc-tests
52199         (test_u32_conv_from_enc_LDADD): Likewise.
52200         * modules/uniconv/u32-conv-to-enc-tests
52201         (test_u32_conv_to_enc_LDADD): Likewise.
52202         * modules/uniconv/u32-strconv-from-enc-tests
52203         (test_u32_strconv_from_enc_LDADD): Likewise.
52204         * modules/uniconv/u32-strconv-to-enc-tests
52205         (test_u32_strconv_to_enc_LDADD): Likewise.
52206         * modules/uniconv/u8-conv-from-enc-tests
52207         (test_u8_conv_from_enc_LDADD): Likewise.
52208         * modules/uniconv/u8-conv-to-enc-tests
52209         (test_u8_conv_to_enc_LDADD): Likewise.
52210         * modules/uniconv/u8-strconv-from-enc-tests
52211         (test_u8_strconv_from_enc_LDADD): Likewise.
52212         * modules/uniconv/u8-strconv-to-enc-tests
52213         (test_u8_strconv_to_enc_LDADD): Likewise.
52214
52215 2007-10-22  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
52218         size.
52219
52220 2007-10-22  Eric Blake  <ebb9@byu.net>
52221
52222         Tweak x*printf documentation.
52223         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
52224         variable name and comments.
52225         Suggested by Bruno Haible.
52226
52227 2007-10-22  Bruno Haible  <bruno@clisp.org>
52228
52229         * lib/acl.c (copy_acl): Fix file name in comment.
52230
52231 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52232
52233         Fix Tru64 problem with stdbool.h.
52234         * lib/stdbool.in.h (false, true):
52235         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
52236         Don't declare as an enum in this situation; it runs afoul of Tru64.
52237         Problem reported by Steven M. Schweda in
52238         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
52239
52240 2007-10-22  Eric Blake  <ebb9@byu.net>
52241
52242         Also wrap vf?printf.
52243         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
52244         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
52245         (xvprintf, xvfprintf): New functions.
52246
52247 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52248
52249         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
52250         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
52251
52252         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
52253         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
52254
52255 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52256
52257         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
52258         by Bruno Haible.
52259
52260 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52261
52262         * lib/getloadavg.c
52263         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
52264         Undef `sys' after including sys/table.h, for Tru64 4.0D.
52265
52266         * tests/test-i-ring.c: Work for C89.
52267
52268 2007-10-22  Bruno Haible  <bruno@clisp.org>
52269
52270         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
52271         -1u, in preprocessor expression, so that we don't test for the bug
52272         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
52273         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
52274
52275 2007-10-22  Eric Blake  <ebb9@byu.net>
52276
52277         * tests/test-yesno.sh: Silence stderr during test.
52278
52279 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52280
52281         * modules/crypto/gc-camellia: New file.
52282
52283         * m4/gc-camellia.m4: New file.
52284
52285         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
52286
52287         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
52288
52289 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52290
52291         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
52292         --help to stdout.  Reported by sms@antinode.org (Steven
52293         M. Schweda).
52294
52295 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52296
52297         * users.txt: Fix link to libksba.
52298
52299 2007-10-21  Ben Pfaff  <blp@gnu.org>
52300
52301         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
52302         round.c roundf implementation that depends on floorf and ceilf to
52303         be tested unconditionally.
52304
52305 2007-10-21  Ben Pfaff  <blp@gnu.org>
52306
52307         * m4/check-libm-func.m4: Removed.
52308         * m4/check-math-lib.m4: New file.
52309         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
52310         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
52311         definition and lack of AC_LIBOBJ([roundf]).
52312         * m4/roundl.m4: Ditto, and similarly for roundl.
52313         * modules/round: Reference new m4 file.
52314         * modules/roundf: Ditto.
52315         * modules/roundl: Ditto.
52316         * tests/test-round2.c (main): Use ROUND instead of round.
52317         Bug report from Bruno Haible.
52318
52319 2007-10-21  Bruno Haible  <bruno@clisp.org>
52320
52321         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
52322         context.
52323
52324 2007-10-21  Bruno Haible  <bruno@clisp.org>
52325
52326         * tests/test-wcwidth.c (main): Allow negative result for some control
52327         characters.
52328
52329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
52330         Needed on OSF/1 5.1.
52331
52332 2007-10-21  Bruno Haible  <bruno@clisp.org>
52333
52334         * tests/test-floorf1.c: Include isnanf.h.
52335         (main): Use isnanf() instead of isnan().
52336         * tests/test-ceilf1.c: Include isnanf.h.
52337         (main): Use isnanf() instead of isnan().
52338         * tests/test-truncf1.c: Include isnanf.h.
52339         (main): Use isnanf() instead of isnan().
52340         * tests/test-roundf1.c: Include isnanf.h.
52341         (main): Use isnanf() instead of isnan().
52342
52343 2007-10-21  Eric Blake  <ebb9@byu.net>
52344
52345         * users.txt: Update URL for m4.
52346
52347 2007-10-21  Bruno Haible  <bruno@clisp.org>
52348
52349         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
52350
52351 2007-10-21  Bruno Haible  <bruno@clisp.org>
52352
52353         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
52354         Git's management files if the CVS files are not present.
52355
52356 2007-10-20  Bruno Haible  <bruno@clisp.org>
52357
52358         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
52359         gcc-3.4.x.
52360
52361 2007-10-20  Ben Pfaff  <blp@gnu.org>
52362
52363         * lib/math.in.h: Declare round, roundf, roundl if we are providing
52364         implementations.
52365         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
52366         * lib/round.c: New file.
52367         * lib/roundf.c: New file.
52368         * lib/roundl.c: New file.
52369         * m4/round.m4: New file.
52370         * m4/roundf.m4: New file.
52371         * m4/roundl.m4: New file.
52372         * m4/check-libm-func-m4: New file.
52373         * modules/math: Replace round, roundf, roundl related @VARS@ in
52374         math.in.h.
52375         * modules/round: New file.
52376         * modules/round-tests: New file.
52377         * modules/roundf: New file.
52378         * modules/roundf-tests: New file.
52379         * modules/roundl: New file.
52380         * modules/roundl-tests: New file.
52381         * tests/test-round1.c: New file.
52382         * tests/test-round2.c: New file.
52383         * tests/test-roundf1.c: New file.
52384         * tests/test-roundf2.c: New file.
52385         * tests/test-roundl.c: New file.
52386         * doc/functions/round.texi: Mention round module.
52387         * doc/functions/roundf.texi: Mention roundf module.
52388         * doc/functions/roundl.texi: Mention roundl module.
52389         * MODULES.html.sh: Mention new modules.
52390         Thanks to Bruno Haible for suggestions.
52391
52392 2007-10-20  Jim Meyering  <meyering@redhat.com>
52393
52394         * lib/xprintf.c: Include <config.h> unconditionally.
52395
52396         Change xprintf's license to GPL.
52397         * modules/xprintf (License): s/LGPL/GPL/, since this module
52398         depends on modules (exit and exitfail) which are GPL.
52399         Suggestion from Bruno Haible.
52400
52401         xprintf fixes.
52402         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
52403         Use a clearer diagnostic.
52404         Patch from Bruno Haible.
52405
52406 2007-10-20  Bruno Haible  <bruno@clisp.org>
52407
52408         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
52409         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
52410         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52411
52412 2007-10-20  Bruno Haible  <bruno@clisp.org>
52413
52414         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
52415         precision in the comparison result > x - 1 or similar.
52416         * tests/test-ceilf2.c (correct_result_p): Likewise.
52417         * tests/test-truncf2.c (correct_result_p): Likewise.
52418         * tests/test-trunc2.c (correct_result_p): Likewise.
52419         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52420
52421 2007-10-20  Bruno Haible  <bruno@clisp.org>
52422
52423         * modules/ceil: New file.
52424         * m4/ceil.m4: New file.
52425         * doc/functions/ceil.texi: Mention the 'ceil' module.
52426
52427 2007-10-20  Bruno Haible  <bruno@clisp.org>
52428
52429         * modules/floor: New file.
52430         * m4/floor.m4: New file.
52431         * doc/functions/floor.texi: Mention the 'floor' module.
52432
52433 2007-10-20  Bruno Haible  <bruno@clisp.org>
52434
52435         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
52436         of %a.
52437         * modules/floorf-tests (Depends-on): Likewise.
52438         * modules/truncf-tests (Depends-on): Likewise.
52439         * modules/trunc-tests (Depends-on): Likewise.
52440         Reported by Ben Pfaff.
52441
52442 2007-10-19  Jim Meyering  <meyering@redhat.com>
52443
52444         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
52445         Don't bother testing specific errno values.  Just test ferror.
52446
52447         New module: xprintf
52448         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
52449
52450 2007-10-19  Bruno Haible  <bruno@clisp.org>
52451
52452         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
52453         syntax.
52454         * modules/javaexec (Makefile.am): Likewise.
52455         * modules/relocatable-prog (Makefile.am): Likewise.
52456         Suggested by Jim Meyering.
52457
52458 2007-10-18  Bruno Haible  <bruno@clisp.org>
52459
52460         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
52461         Reported by Jim Meyering.
52462
52463 2007-10-18  Eric Blake  <ebb9@byu.net>
52464
52465         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
52466
52467 2007-10-18  Bruno Haible  <bruno@clisp.org>
52468
52469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
52470         the format string into writable memory. Needed in Fortify conditions.
52471
52472 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
52473             Bruno Haible  <bruno@clisp.org>
52474
52475         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
52476         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
52477         * modules/trim (Depends-on): Add mbchar.
52478         (configure.ac): Add gl_FUNC_MBRTOWC.
52479         (Makefile.am): Augment lib_SOURCES.
52480
52481 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52482
52483         Modify glob.c to use fstatat and dirfd, to simplify it.
52484         Suggested by Eric Blake.
52485         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
52486         Don't include <stdbool.h>; not used.
52487         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
52488         (link_exists_p): Simplify implementation, since we can now assume
52489         dirfd and fstatat.
52490         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
52491
52492 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52493
52494         * gnulib-tool (func_get_dependencies): Fix sed script to
52495         match only tests.
52496
52497 2007-10-17  Bruno Haible  <bruno@clisp.org>
52498
52499         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
52500         allow locale names without encoding suffix.
52501         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52502         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52503
52504 2007-10-16  Bruno Haible  <bruno@clisp.org>
52505
52506         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
52507         * lib/getgroups.c (getgroups): Likewise.
52508         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
52509
52510 2007-10-16  Bruno Haible  <bruno@clisp.org>
52511
52512         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
52513         * modules/malloc-posix (License): Likewise.
52514         * modules/realloc-posix (License): Likewise.
52515         * modules/calloc-posix (License): Likewise.
52516         * modules/intprops (License): Change from GPL to LGPL, with
52517         Paul Eggert's approval.
52518
52519 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52520
52521         Merge glibc changes into lib/glob.c.
52522
52523         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
52524         2007-10-15 04:59:03 UTC.  Here are the changes:
52525
52526         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
52527
52528         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
52529
52530         * lib/glob.c: Add some branch prediction throughout.
52531
52532         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
52533
52534         [BZ #5103]
52535         * lib/glob.c (glob): Recognize patterns starting \/.
52536
52537         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
52538
52539         [BZ #3996]
52540         * lib/glob.c (attribute_hidden): Define if not defined.
52541         (glob): Unescape dirname, filename or username when needed and not
52542         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
52543         is NULL.  Handle unescaped [ in pattern without closing ].
52544         Don't pass GLOB_CHECK down to recursive glob for directories.
52545         (__glob_pattern_type): New function.
52546         (__glob_pattern_p): Implement using __glob_pattern_type.
52547         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
52548         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
52549         Remove unreachable code.
52550
52551         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
52552
52553         * lib/glob.c (glob_in_dir): Add some comments and asserts to
52554         explain why there are no leaks.
52555
52556         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
52557
52558         [BZ #3253]
52559         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
52560         time, rather allocate increasingly bigger arrays of pointers, if
52561         possible with alloca, if too large with malloc.
52562
52563 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52564
52565         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
52566         Problem reported by H.Merijn Brand in
52567         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
52568         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
52569         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52570
52571 2007-10-15  Bruno Haible  <bruno@clisp.org>
52572
52573         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
52574         with explicit rpl_ prefix.
52575         * lib/fopen.c (fopen): Likewise.
52576         * lib/freopen.c (freopen): Likewise.
52577         * lib/iconv.c (iconv): Likewise.
52578         * lib/iconv_close.c (iconv_close): Likewise.
52579
52580 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52581
52582         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
52583
52584 2007-10-15  Bruno Haible  <bruno@clisp.org>
52585
52586         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
52587         <stddef.h> instead of <stdlib.h> since we only need NULL.
52588         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52589
52590 2007-10-15  Bruno Haible  <bruno@clisp.org>
52591
52592         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
52593         Replace paragraph talking about LIBOBJS.
52594         Reported by Colin Watson <cjwatson@debian.org>.
52595
52596 2007-10-15  Bruno Haible  <bruno@clisp.org>
52597
52598         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
52599         <stdlib.h> before using NULL.
52600
52601 2007-10-15  Simon Josefsson  <simon@josefsson.org>
52602
52603         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
52604         Reported by Albert Chin <china@thewrittenword.com>.
52605
52606 2007-10-14  Bruno Haible  <bruno@clisp.org>
52607
52608         * modules/iconv_open-utf-tests: New file.
52609         * tests/test-iconv-utf.c: New file.
52610
52611         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
52612         * modules/iconv_open-utf: New file.
52613         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
52614         (iconv, iconv_close): New declarations.
52615         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
52616         be defined.
52617         (iconv_open): Add special handling of conversion between UTF-8 and
52618         UTF-{16,32}{BE,LE}.
52619         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
52620         * lib/iconv_close.c: New file.
52621         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
52622         gl_FUNC_ICONV_OPEN.
52623         (gl_FUNC_ICONV_OPEN): Use it.
52624         (gl_FUNC_ICONV_OPEN_UTF): New macro.
52625         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
52626         and REPLACE_ICONV_UTF.
52627         * modules/iconv_open (Depends-on): Add c-strcase.
52628         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
52629         ICONV_CONST.
52630         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
52631
52632 2007-10-13  Albert Chin  <china@thewrittenword.com>
52633             Bruno Haible  <bruno@clisp.org>
52634
52635         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
52636         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
52637
52638 2007-10-13  Bruno Haible  <bruno@clisp.org>
52639
52640         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
52641         defined, use the ISO C99 inline semantics.
52642         * lib/argp.h (ARGP_EI): Likewise.
52643
52644 2007-10-13  Bruno Haible  <bruno@clisp.org>
52645
52646         Handle 'inline' change in gcc 4.3.0.
52647         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
52648         argp_fmtstream_write, argp_fmtstream_set_lmargin,
52649         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
52650         argp_fmtstream_point): Disable 'extern' declaration if the function
52651         definition is going to be provided inline.
52652         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
52653         semantics, not the ISO C99 inline semantics.
52654         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
52655         'extern' declaration if the function definition is going to be provided
52656         inline.
52657         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
52658         the GNU C inline semantics, not the ISO C99 inline semantics. With
52659         GCC 4.2, avoid a warning.
52660
52661 2007-10-13  Bruno Haible  <bruno@clisp.org>
52662
52663         * lib/freading.h (freading): Enable the use of __freading for
52664         glibc >= 2.7.
52665         * lib/freading.c (freading): Likewise.
52666
52667 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
52668
52669         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
52670         "warning: C99 inline functions are not supported; using GNU89".
52671
52672 2007-10-12  Bruno Haible  <bruno@clisp.org>
52673
52674         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
52675         of 2.
52676         * tests/test-ceilf2.c: New file.
52677         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
52678
52679         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
52680         * modules/ceilf-tests: Update.
52681
52682 2007-10-12  Bruno Haible  <bruno@clisp.org>
52683
52684         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
52685         of 2.
52686         * tests/test-floorf2.c: New file.
52687         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
52688
52689         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
52690         * modules/floorf-tests: Update.
52691
52692 2007-10-12  Bruno Haible  <bruno@clisp.org>
52693
52694         * tests/test-trunc2.c: New file.
52695         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
52696
52697         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
52698         * modules/trunc-tests: Update.
52699
52700 2007-10-12  Bruno Haible  <bruno@clisp.org>
52701
52702         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
52703         of 2.
52704         * tests/test-truncf2.c: New file.
52705         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
52706
52707         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
52708         * modules/truncf-tests: Update.
52709
52710 2007-10-11  Eric Blake  <ebb9@byu.net>
52711
52712         Don't claim strerror is broken on Interix.
52713         * doc/functions/strerror.texi (strerror): Known broken systems are
52714         now Solaris 8, and not Interix.
52715         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
52716         Interix on cross-compile.
52717         Reported by Martin Koeppe in
52718         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
52719
52720 2007-10-11  Bruno Haible  <bruno@clisp.org>
52721
52722         * modules/i-ring-tests: New file.
52723         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
52724         instead of assert.
52725
52726 2007-10-11  Bruno Haible  <bruno@clisp.org>
52727
52728         * modules/filenamecat-tests: New file.
52729         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
52730         * lib/filenamecat.c: Remove test code.
52731
52732 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
52733
52734         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
52735
52736         * lib/strerror.c: Include <string.h> always, to test interface,
52737         and to remove the need for the dummy.
52738         Include intprops.h to compute width instead of doing it ourselves
52739         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
52740         (strerror): Define it to return NULL if there's no system strerror.
52741         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
52742         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
52743         ancient pre-strerror Unix systems well any more.  Saying "unknown
52744         system error" is enough.
52745         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
52746         simpler strerror.c implementation.
52747         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
52748         Simplify the tests to reflect the simpler strerror implementation.
52749         * modules/strerror (Depends-on): Add intprops.
52750
52751 2007-10-09  Eric Blake  <ebb9@byu.net>
52752
52753         Silence test-fpending.
52754         * modules/fpending-tests (Files): Add wrapper script.
52755         * tests/test-fpending.sh: New file.
52756
52757 2007-10-09  Bruno Haible  <bruno@clisp.org>
52758
52759         * MODULES.html.sh (func_module): Don't create a hyperlink for
52760         function names like 'printf_frexp'.
52761         (Misc): Add crc, memxor.
52762         (Characteristics of floating types): New section.
52763         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
52764         isnanf-nolibm, signbit, trunc, truncf, truncl.
52765         (Enhancements for ISO C 99 functions): New subsection Input/output.
52766         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
52767         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
52768         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
52769         (Compatibility checks for POSIX:2001 functions): Add clock-time.
52770         (Enhancements for POSIX:2001 functions): Add chdir-long.
52771         (File system functions): Add areadlink, chdir-safer, read-file.
52772         Remove cycle-check.
52773         (File system as inode set): New section.
52774         (Date and time): Add gethrxtime.
52775         (Multithreading): Add openmp.
52776         (Internationalization functions): Add localename.
52777         (Unicode string functions): Add unistr/u*-mbsnlen.
52778         (Support for maintaining and releasing projects): Add git-version-gen.
52779         (Lone files): Remove directories.
52780
52781 2007-10-08  Ben Pfaff  <blp@gnu.org>
52782
52783         * lib/xmalloca.h: Fix typo in comment.
52784
52785 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52786
52787         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
52788         when avoiding problems with integer overflow.  Use a portable test
52789         instead.
52790
52791 2007-10-08  Simon Josefsson  <simon@josefsson.org>
52792
52793         * modules/dummy (License): Change to LGPLv2+.
52794         * modules/float (License): Likewise
52795         * modules/realloc (License): Likewise
52796         * modules/stdlib (License): Likewise
52797
52798 2007-10-07  Bruno Haible  <bruno@clisp.org>
52799
52800         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
52801         * floor.c (TWO_MANT_DIG): Likewise.
52802         * ceil.c (TWO_MANT_DIG): Likewise.
52803         Reported by Ben Pfaff.
52804
52805 2007-10-07  Bruno Haible  <bruno@clisp.org>
52806
52807         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
52808         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
52809         * lib/frexp.c (FUNC): Likewise.
52810         * lib/printf-frexp.h (printf_frexp): Likewise.
52811         * lib/printf-frexpl.h (printf_frexpl): Likewise.
52812         * lib/printf-frexp.c (FUNC): Likewise.
52813         Suggested by Jim Meyering.
52814
52815 2007-10-07  Jim Meyering  <meyering@redhat.com>
52816
52817         Make xnanosleep's integer overflow test more robust.
52818         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
52819         so that gcc-4.3.0 doesn't optimize away this test for overflow.
52820
52821 2007-10-07  Bruno Haible  <bruno@clisp.org>
52822
52823         * NEWS: Mention the license change.
52824
52825         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
52826         abbreviations in the modules files.
52827
52828         Change copyright notice from GPLv2+ to GPLv3+.
52829         * README: Change copyright notice.
52830         * MODULES.html.sh: Likewise.
52831         * build-aux/bootstrap.conf: Likewise.
52832         * build-aux/config.libpath: Likewise.
52833         * build-aux/csharpcomp.sh.in: Likewise.
52834         * build-aux/csharpexec.sh.in: Likewise.
52835         * build-aux/install-reloc: Likewise.
52836         * build-aux/javacomp.sh.in: Likewise.
52837         * build-aux/javaexec.sh.in: Likewise.
52838         * build-aux/ldd.sh.in: Likewise.
52839         * build-aux/reloc-ldflags: Likewise.
52840         * build-aux/relocatable.sh.in: Likewise.
52841         * build-aux/x-to-1.in: Likewise.
52842         * check-module: Likewise.
52843         * config/srclistvars.sh: Likewise.
52844         * gnulib-tool: Likewise.
52845         * lib/acl-internal.h: Likewise.
52846         * lib/acl.c: Likewise.
52847         * lib/acl.h: Likewise.
52848         * lib/acl_entries.c: Likewise.
52849         * lib/areadlink-with-size.c: Likewise.
52850         * lib/areadlink.c: Likewise.
52851         * lib/areadlink.h: Likewise.
52852         * lib/argmatch.c: Likewise.
52853         * lib/argmatch.h: Likewise.
52854         * lib/argp-ba.c: Likewise.
52855         * lib/argp-eexst.c: Likewise.
52856         * lib/argp-fmtstream.c: Likewise.
52857         * lib/argp-fmtstream.h: Likewise.
52858         * lib/argp-fs-xinl.c: Likewise.
52859         * lib/argp-help.c: Likewise.
52860         * lib/argp-namefrob.h: Likewise.
52861         * lib/argp-parse.c: Likewise.
52862         * lib/argp-pin.c: Likewise.
52863         * lib/argp-pv.c: Likewise.
52864         * lib/argp-pvh.c: Likewise.
52865         * lib/argp-xinl.c: Likewise.
52866         * lib/argp.h: Likewise.
52867         * lib/at-func.c: Likewise.
52868         * lib/atanl.c: Likewise.
52869         * lib/backupfile.c: Likewise.
52870         * lib/backupfile.h: Likewise.
52871         * lib/basename.c: Likewise.
52872         * lib/binary-io.h: Likewise.
52873         * lib/byteswap.in.h: Likewise.
52874         * lib/c-stack.c: Likewise.
52875         * lib/c-stack.h: Likewise.
52876         * lib/c-strcasestr.c: Likewise.
52877         * lib/c-strcasestr.h: Likewise.
52878         * lib/c-strstr.c: Likewise.
52879         * lib/c-strstr.h: Likewise.
52880         * lib/c-strtod.c: Likewise.
52881         * lib/calloc.c: Likewise.
52882         * lib/canon-host.c: Likewise.
52883         * lib/canon-host.h: Likewise.
52884         * lib/canonicalize-lgpl.c: Likewise.
52885         * lib/canonicalize.c: Likewise.
52886         * lib/canonicalize.h: Likewise.
52887         * lib/ceil.c: Likewise.
52888         * lib/ceilf.c: Likewise.
52889         * lib/ceill.c: Likewise.
52890         * lib/chdir-long.c: Likewise.
52891         * lib/chdir-long.h: Likewise.
52892         * lib/chdir-safer.c: Likewise.
52893         * lib/chdir-safer.h: Likewise.
52894         * lib/chown.c: Likewise.
52895         * lib/classpath.c: Likewise.
52896         * lib/classpath.h: Likewise.
52897         * lib/clean-temp.c: Likewise.
52898         * lib/clean-temp.h: Likewise.
52899         * lib/cloexec.c: Likewise.
52900         * lib/close-stream.c: Likewise.
52901         * lib/closein.c: Likewise.
52902         * lib/closein.h: Likewise.
52903         * lib/closeout.c: Likewise.
52904         * lib/closeout.h: Likewise.
52905         * lib/concat-filename.c: Likewise.
52906         * lib/copy-file.c: Likewise.
52907         * lib/copy-file.h: Likewise.
52908         * lib/count-one-bits.h: Likewise.
52909         * lib/crc.c: Likewise.
52910         * lib/crc.h: Likewise.
52911         * lib/creat-safer.c: Likewise.
52912         * lib/csharpcomp.c: Likewise.
52913         * lib/csharpcomp.h: Likewise.
52914         * lib/csharpexec.c: Likewise.
52915         * lib/csharpexec.h: Likewise.
52916         * lib/cycle-check.c: Likewise.
52917         * lib/cycle-check.h: Likewise.
52918         * lib/diacrit.c: Likewise.
52919         * lib/diacrit.h: Likewise.
52920         * lib/diffseq.h: Likewise.
52921         * lib/dirchownmod.c: Likewise.
52922         * lib/dirent.in.h: Likewise.
52923         * lib/dirfd.c: Likewise.
52924         * lib/dirfd.h: Likewise.
52925         * lib/dirname.c: Likewise.
52926         * lib/dirname.h: Likewise.
52927         * lib/dummy.c: Likewise.
52928         * lib/dup-safer.c: Likewise.
52929         * lib/dup2.c: Likewise.
52930         * lib/eealloc.h: Likewise.
52931         * lib/error.c: Likewise.
52932         * lib/error.h: Likewise.
52933         * lib/euidaccess.c: Likewise.
52934         * lib/exclude.c: Likewise.
52935         * lib/exclude.h: Likewise.
52936         * lib/execute.c: Likewise.
52937         * lib/execute.h: Likewise.
52938         * lib/exitfail.c: Likewise.
52939         * lib/exitfail.h: Likewise.
52940         * lib/expl.c: Likewise.
52941         * lib/fatal-signal.c: Likewise.
52942         * lib/fatal-signal.h: Likewise.
52943         * lib/fbufmode.c: Likewise.
52944         * lib/fbufmode.h: Likewise.
52945         * lib/fchdir.c: Likewise.
52946         * lib/fchmodat.c: Likewise.
52947         * lib/fchownat.c: Likewise.
52948         * lib/fcntl--.h: Likewise.
52949         * lib/fcntl-safer.h: Likewise.
52950         * lib/fcntl.in.h: Likewise.
52951         * lib/fd-safer.c: Likewise.
52952         * lib/fflush.c: Likewise.
52953         * lib/file-has-acl.c: Likewise.
52954         * lib/file-set.c: Likewise.
52955         * lib/file-type.c: Likewise.
52956         * lib/file-type.h: Likewise.
52957         * lib/fileblocks.c: Likewise.
52958         * lib/filemode.c: Likewise.
52959         * lib/filemode.h: Likewise.
52960         * lib/filename.h: Likewise.
52961         * lib/filenamecat.c: Likewise.
52962         * lib/filenamecat.h: Likewise.
52963         * lib/findprog.c: Likewise.
52964         * lib/findprog.h: Likewise.
52965         * lib/float.in.h: Likewise.
52966         * lib/floor.c: Likewise.
52967         * lib/floorf.c: Likewise.
52968         * lib/floorl.c: Likewise.
52969         * lib/fopen-safer.c: Likewise.
52970         * lib/fopen.c: Likewise.
52971         * lib/fpending.c: Likewise.
52972         * lib/fpending.h: Likewise.
52973         * lib/fprintf.c: Likewise.
52974         * lib/fprintftime.h: Likewise.
52975         * lib/fpucw.h: Likewise.
52976         * lib/fpurge.c: Likewise.
52977         * lib/fpurge.h: Likewise.
52978         * lib/freadable.c: Likewise.
52979         * lib/freadable.h: Likewise.
52980         * lib/freadahead.c: Likewise.
52981         * lib/freadahead.h: Likewise.
52982         * lib/freading.c: Likewise.
52983         * lib/freading.h: Likewise.
52984         * lib/free.c: Likewise.
52985         * lib/freopen.c: Likewise.
52986         * lib/frexp.c: Likewise.
52987         * lib/frexpl.c: Likewise.
52988         * lib/fseek.c: Likewise.
52989         * lib/fseterr.c: Likewise.
52990         * lib/fseterr.h: Likewise.
52991         * lib/fstatat.c: Likewise.
52992         * lib/fstrcmp.c: Likewise.
52993         * lib/fstrcmp.h: Likewise.
52994         * lib/fsusage.c: Likewise.
52995         * lib/fsusage.h: Likewise.
52996         * lib/ftell.c: Likewise.
52997         * lib/ftello.c: Likewise.
52998         * lib/fts-cycle.c: Likewise.
52999         * lib/fts.c: Likewise.
53000         * lib/fts_.h: Likewise.
53001         * lib/full-read.c: Likewise.
53002         * lib/full-read.h: Likewise.
53003         * lib/full-write.c: Likewise.
53004         * lib/full-write.h: Likewise.
53005         * lib/fwritable.c: Likewise.
53006         * lib/fwritable.h: Likewise.
53007         * lib/fwriteerror.c: Likewise.
53008         * lib/fwriteerror.h: Likewise.
53009         * lib/fwriting.c: Likewise.
53010         * lib/fwriting.h: Likewise.
53011         * lib/gcd.c: Likewise.
53012         * lib/gcd.h: Likewise.
53013         * lib/getcwd.c: Likewise.
53014         * lib/getdate.h: Likewise.
53015         * lib/getdate.y: Likewise.
53016         * lib/getdomainname.c: Likewise.
53017         * lib/getdomainname.h: Likewise.
53018         * lib/getgroups.c: Likewise.
53019         * lib/gethostname.c: Likewise.
53020         * lib/gethrxtime.c: Likewise.
53021         * lib/gethrxtime.h: Likewise.
53022         * lib/getloadavg.c: Likewise.
53023         * lib/getndelim2.c: Likewise.
53024         * lib/getndelim2.h: Likewise.
53025         * lib/getnline.c: Likewise.
53026         * lib/getnline.h: Likewise.
53027         * lib/getopt.c: Likewise.
53028         * lib/getopt.in.h: Likewise.
53029         * lib/getopt1.c: Likewise.
53030         * lib/getopt_int.h: Likewise.
53031         * lib/getpagesize.h: Likewise.
53032         * lib/getsubopt.c: Likewise.
53033         * lib/gettime.c: Likewise.
53034         * lib/getugroups.c: Likewise.
53035         * lib/getugroups.h: Likewise.
53036         * lib/getusershell.c: Likewise.
53037         * lib/gl_anyavltree_list1.h: Likewise.
53038         * lib/gl_anyavltree_list2.h: Likewise.
53039         * lib/gl_anyhash_list1.h: Likewise.
53040         * lib/gl_anyhash_list2.h: Likewise.
53041         * lib/gl_anylinked_list1.h: Likewise.
53042         * lib/gl_anylinked_list2.h: Likewise.
53043         * lib/gl_anyrbtree_list1.h: Likewise.
53044         * lib/gl_anyrbtree_list2.h: Likewise.
53045         * lib/gl_anytree_list1.h: Likewise.
53046         * lib/gl_anytree_list2.h: Likewise.
53047         * lib/gl_anytree_oset.h: Likewise.
53048         * lib/gl_anytreehash_list1.h: Likewise.
53049         * lib/gl_anytreehash_list2.h: Likewise.
53050         * lib/gl_array_list.c: Likewise.
53051         * lib/gl_array_list.h: Likewise.
53052         * lib/gl_array_oset.c: Likewise.
53053         * lib/gl_array_oset.h: Likewise.
53054         * lib/gl_avltree_list.c: Likewise.
53055         * lib/gl_avltree_list.h: Likewise.
53056         * lib/gl_avltree_oset.c: Likewise.
53057         * lib/gl_avltree_oset.h: Likewise.
53058         * lib/gl_avltreehash_list.c: Likewise.
53059         * lib/gl_avltreehash_list.h: Likewise.
53060         * lib/gl_carray_list.c: Likewise.
53061         * lib/gl_carray_list.h: Likewise.
53062         * lib/gl_linked_list.c: Likewise.
53063         * lib/gl_linked_list.h: Likewise.
53064         * lib/gl_linkedhash_list.c: Likewise.
53065         * lib/gl_linkedhash_list.h: Likewise.
53066         * lib/gl_list.c: Likewise.
53067         * lib/gl_list.h: Likewise.
53068         * lib/gl_oset.c: Likewise.
53069         * lib/gl_oset.h: Likewise.
53070         * lib/gl_rbtree_list.c: Likewise.
53071         * lib/gl_rbtree_list.h: Likewise.
53072         * lib/gl_rbtree_oset.c: Likewise.
53073         * lib/gl_rbtree_oset.h: Likewise.
53074         * lib/gl_rbtreehash_list.c: Likewise.
53075         * lib/gl_rbtreehash_list.h: Likewise.
53076         * lib/gl_sublist.c: Likewise.
53077         * lib/gl_sublist.h: Likewise.
53078         * lib/group-member.c: Likewise.
53079         * lib/group-member.h: Likewise.
53080         * lib/hard-locale.c: Likewise.
53081         * lib/hard-locale.h: Likewise.
53082         * lib/hash-pjw.c: Likewise.
53083         * lib/hash-pjw.h: Likewise.
53084         * lib/hash-triple.c: Likewise.
53085         * lib/hash.c: Likewise.
53086         * lib/hash.h: Likewise.
53087         * lib/human.c: Likewise.
53088         * lib/human.h: Likewise.
53089         * lib/i-ring.c: Likewise.
53090         * lib/i-ring.h: Likewise.
53091         * lib/idcache.c: Likewise.
53092         * lib/imaxabs.c: Likewise.
53093         * lib/imaxdiv.c: Likewise.
53094         * lib/inet_pton.c: Likewise.
53095         * lib/inet_pton.h: Likewise.
53096         * lib/intprops.h: Likewise.
53097         * lib/inttostr.c: Likewise.
53098         * lib/inttostr.h: Likewise.
53099         * lib/inttypes.in.h: Likewise.
53100         * lib/isapipe.c: Likewise.
53101         * lib/isdir.c: Likewise.
53102         * lib/isnan.c: Likewise.
53103         * lib/isnan.h: Likewise.
53104         * lib/isnanf.c: Likewise.
53105         * lib/isnanf.h: Likewise.
53106         * lib/isnanl-nolibm.h: Likewise.
53107         * lib/isnanl.c: Likewise.
53108         * lib/isnanl.h: Likewise.
53109         * lib/javacomp.c: Likewise.
53110         * lib/javacomp.h: Likewise.
53111         * lib/javaexec.c: Likewise.
53112         * lib/javaexec.h: Likewise.
53113         * lib/javaversion.c: Likewise.
53114         * lib/javaversion.h: Likewise.
53115         * lib/javaversion.java: Likewise.
53116         * lib/lbrkprop.h: Likewise.
53117         * lib/lchmod.h: Likewise.
53118         * lib/lchown.c: Likewise.
53119         * lib/ldexpl.c: Likewise.
53120         * lib/linebreak.c: Likewise.
53121         * lib/linebreak.h: Likewise.
53122         * lib/linebuffer.c: Likewise.
53123         * lib/linebuffer.h: Likewise.
53124         * lib/locale.in.h: Likewise.
53125         * lib/logl.c: Likewise.
53126         * lib/long-options.c: Likewise.
53127         * lib/long-options.h: Likewise.
53128         * lib/lstat.c: Likewise.
53129         * lib/lstat.h: Likewise.
53130         * lib/math.in.h: Likewise.
53131         * lib/mbchar.c: Likewise.
53132         * lib/mbchar.h: Likewise.
53133         * lib/mbfile.h: Likewise.
53134         * lib/mbiter.h: Likewise.
53135         * lib/mbscasecmp.c: Likewise.
53136         * lib/mbscasestr.c: Likewise.
53137         * lib/mbschr.c: Likewise.
53138         * lib/mbscspn.c: Likewise.
53139         * lib/mbslen.c: Likewise.
53140         * lib/mbsncasecmp.c: Likewise.
53141         * lib/mbsnlen.c: Likewise.
53142         * lib/mbspbrk.c: Likewise.
53143         * lib/mbspcasecmp.c: Likewise.
53144         * lib/mbsrchr.c: Likewise.
53145         * lib/mbssep.c: Likewise.
53146         * lib/mbsspn.c: Likewise.
53147         * lib/mbsstr.c: Likewise.
53148         * lib/mbstok_r.c: Likewise.
53149         * lib/mbswidth.c: Likewise.
53150         * lib/mbswidth.h: Likewise.
53151         * lib/mbuiter.h: Likewise.
53152         * lib/memcasecmp.c: Likewise.
53153         * lib/memcasecmp.h: Likewise.
53154         * lib/memchr.c: Likewise.
53155         * lib/memcmp.c: Likewise.
53156         * lib/memcoll.c: Likewise.
53157         * lib/memcoll.h: Likewise.
53158         * lib/memcpy.c: Likewise.
53159         * lib/memrchr.c: Likewise.
53160         * lib/mkancesdirs.c: Likewise.
53161         * lib/mkdir-p.c: Likewise.
53162         * lib/mkdir-p.h: Likewise.
53163         * lib/mkdir.c: Likewise.
53164         * lib/mkdirat.c: Likewise.
53165         * lib/mkdtemp.c: Likewise.
53166         * lib/mkstemp-safer.c: Likewise.
53167         * lib/mkstemp.c: Likewise.
53168         * lib/modechange.c: Likewise.
53169         * lib/modechange.h: Likewise.
53170         * lib/mountlist.c: Likewise.
53171         * lib/mountlist.h: Likewise.
53172         * lib/mpsort.c: Likewise.
53173         * lib/nanosleep.c: Likewise.
53174         * lib/obstack.c: Likewise.
53175         * lib/obstack.h: Likewise.
53176         * lib/open-safer.c: Likewise.
53177         * lib/open.c: Likewise.
53178         * lib/openat-die.c: Likewise.
53179         * lib/openat-priv.h: Likewise.
53180         * lib/openat-proc.c: Likewise.
53181         * lib/openat.c: Likewise.
53182         * lib/openat.h: Likewise.
53183         * lib/pagealign_alloc.c: Likewise.
53184         * lib/pagealign_alloc.h: Likewise.
53185         * lib/physmem.c: Likewise.
53186         * lib/physmem.h: Likewise.
53187         * lib/pipe-safer.c: Likewise.
53188         * lib/pipe.c: Likewise.
53189         * lib/pipe.h: Likewise.
53190         * lib/posixtm.c: Likewise.
53191         * lib/posixtm.h: Likewise.
53192         * lib/posixver.c: Likewise.
53193         * lib/printf-frexp.c: Likewise.
53194         * lib/printf-frexp.h: Likewise.
53195         * lib/printf-frexpl.c: Likewise.
53196         * lib/printf-frexpl.h: Likewise.
53197         * lib/printf.c: Likewise.
53198         * lib/progname.c: Likewise.
53199         * lib/progname.h: Likewise.
53200         * lib/progreloc.c: Likewise.
53201         * lib/putenv.c: Likewise.
53202         * lib/quote.c: Likewise.
53203         * lib/quote.h: Likewise.
53204         * lib/quotearg.c: Likewise.
53205         * lib/quotearg.h: Likewise.
53206         * lib/raise.c: Likewise.
53207         * lib/readline.c: Likewise.
53208         * lib/readline.h: Likewise.
53209         * lib/readlink.c: Likewise.
53210         * lib/readtokens.c: Likewise.
53211         * lib/readtokens.h: Likewise.
53212         * lib/readtokens0.c: Likewise.
53213         * lib/readtokens0.h: Likewise.
53214         * lib/readutmp.c: Likewise.
53215         * lib/readutmp.h: Likewise.
53216         * lib/realloc.c: Likewise.
53217         * lib/relocwrapper.c: Likewise.
53218         * lib/rename-dest-slash.c: Likewise.
53219         * lib/rename.c: Likewise.
53220         * lib/rmdir.c: Likewise.
53221         * lib/rpmatch.c: Likewise.
53222         * lib/safe-read.c: Likewise.
53223         * lib/safe-read.h: Likewise.
53224         * lib/safe-write.c: Likewise.
53225         * lib/safe-write.h: Likewise.
53226         * lib/same-inode.h: Likewise.
53227         * lib/same.c: Likewise.
53228         * lib/same.h: Likewise.
53229         * lib/save-cwd.c: Likewise.
53230         * lib/save-cwd.h: Likewise.
53231         * lib/savedir.c: Likewise.
53232         * lib/savedir.h: Likewise.
53233         * lib/savewd.c: Likewise.
53234         * lib/savewd.h: Likewise.
53235         * lib/search.in.h: Likewise.
53236         * lib/setenv.c: Likewise.
53237         * lib/setenv.h: Likewise.
53238         * lib/settime.c: Likewise.
53239         * lib/sh-quote.c: Likewise.
53240         * lib/sh-quote.h: Likewise.
53241         * lib/sig2str.c: Likewise.
53242         * lib/sig2str.h: Likewise.
53243         * lib/signal.in.h: Likewise.
53244         * lib/signbitd.c: Likewise.
53245         * lib/signbitf.c: Likewise.
53246         * lib/signbitl.c: Likewise.
53247         * lib/sigprocmask.c: Likewise.
53248         * lib/sincosl.c: Likewise.
53249         * lib/sleep.c: Likewise.
53250         * lib/sprintf.c: Likewise.
53251         * lib/sqrtl.c: Likewise.
53252         * lib/stat-time.h: Likewise.
53253         * lib/stdio--.h: Likewise.
53254         * lib/stdio-safer.h: Likewise.
53255         * lib/stdlib--.h: Likewise.
53256         * lib/stdlib-safer.h: Likewise.
53257         * lib/stdlib.in.h: Likewise.
53258         * lib/stpcpy.c: Likewise.
53259         * lib/stpncpy.c: Likewise.
53260         * lib/strchrnul.c: Likewise.
53261         * lib/strcspn.c: Likewise.
53262         * lib/strerror.c: Likewise.
53263         * lib/strftime.c: Likewise.
53264         * lib/strftime.h: Likewise.
53265         * lib/striconveh.c: Likewise.
53266         * lib/striconveh.h: Likewise.
53267         * lib/striconveha.c: Likewise.
53268         * lib/striconveha.h: Likewise.
53269         * lib/stripslash.c: Likewise.
53270         * lib/strnlen1.c: Likewise.
53271         * lib/strnlen1.h: Likewise.
53272         * lib/strtod.c: Likewise.
53273         * lib/strtoimax.c: Likewise.
53274         * lib/strtok_r.c: Likewise.
53275         * lib/strtol.c: Likewise.
53276         * lib/strtoll.c: Likewise.
53277         * lib/strtoul.c: Likewise.
53278         * lib/strtoull.c: Likewise.
53279         * lib/sysexits.in.h: Likewise.
53280         * lib/tempname.c: Likewise.
53281         * lib/tempname.h: Likewise.
53282         * lib/timespec.h: Likewise.
53283         * lib/tls.c: Likewise.
53284         * lib/tls.h: Likewise.
53285         * lib/tmpdir.c: Likewise.
53286         * lib/tmpdir.h: Likewise.
53287         * lib/tmpfile-safer.c: Likewise.
53288         * lib/tmpfile.c: Likewise.
53289         * lib/trigl.c: Likewise.
53290         * lib/trigl.h: Likewise.
53291         * lib/trim.c: Likewise.
53292         * lib/trim.h: Likewise.
53293         * lib/trunc.c: Likewise.
53294         * lib/truncf.c: Likewise.
53295         * lib/truncl.c: Likewise.
53296         * lib/tsearch.c: Likewise.
53297         * lib/unicodeio.c: Likewise.
53298         * lib/unicodeio.h: Likewise.
53299         * lib/unistd--.h: Likewise.
53300         * lib/unistd-safer.h: Likewise.
53301         * lib/unistdio/ulc-fprintf.c: Likewise.
53302         * lib/unistdio/ulc-vfprintf.c: Likewise.
53303         * lib/unlinkdir.c: Likewise.
53304         * lib/unlinkdir.h: Likewise.
53305         * lib/unlocked-io.h: Likewise.
53306         * lib/unsetenv.c: Likewise.
53307         * lib/userspec.c: Likewise.
53308         * lib/utime.c: Likewise.
53309         * lib/utimecmp.c: Likewise.
53310         * lib/utimecmp.h: Likewise.
53311         * lib/utimens.c: Likewise.
53312         * lib/verify.h: Likewise.
53313         * lib/verror.c: Likewise.
53314         * lib/verror.h: Likewise.
53315         * lib/version-etc-fsf.c: Likewise.
53316         * lib/version-etc.c: Likewise.
53317         * lib/version-etc.h: Likewise.
53318         * lib/vfprintf.c: Likewise.
53319         * lib/vprintf.c: Likewise.
53320         * lib/vsprintf.c: Likewise.
53321         * lib/w32spawn.h: Likewise.
53322         * lib/wait-process.c: Likewise.
53323         * lib/wait-process.h: Likewise.
53324         * lib/wcwidth.c: Likewise.
53325         * lib/write-any-file.c: Likewise.
53326         * lib/xalloc-die.c: Likewise.
53327         * lib/xalloc.h: Likewise.
53328         * lib/xasprintf.c: Likewise.
53329         * lib/xgetcwd.c: Likewise.
53330         * lib/xgetcwd.h: Likewise.
53331         * lib/xgetdomainname.c: Likewise.
53332         * lib/xgetdomainname.h: Likewise.
53333         * lib/xgethostname.c: Likewise.
53334         * lib/xmalloc.c: Likewise.
53335         * lib/xmalloca.c: Likewise.
53336         * lib/xmalloca.h: Likewise.
53337         * lib/xmemcoll.c: Likewise.
53338         * lib/xnanosleep.c: Likewise.
53339         * lib/xreadlink.c: Likewise.
53340         * lib/xreadlink.h: Likewise.
53341         * lib/xsetenv.c: Likewise.
53342         * lib/xsetenv.h: Likewise.
53343         * lib/xstriconv.c: Likewise.
53344         * lib/xstriconv.h: Likewise.
53345         * lib/xstrndup.c: Likewise.
53346         * lib/xstrndup.h: Likewise.
53347         * lib/xstrtod.c: Likewise.
53348         * lib/xstrtod.h: Likewise.
53349         * lib/xstrtol-error.c: Likewise.
53350         * lib/xstrtol.c: Likewise.
53351         * lib/xstrtol.h: Likewise.
53352         * lib/xtime.h: Likewise.
53353         * lib/xvasprintf.c: Likewise.
53354         * lib/xvasprintf.h: Likewise.
53355         * lib/yesno.c: Likewise.
53356         * lib/yesno.h: Likewise.
53357         * posix-modules: Likewise.
53358         * tests/test-alloca-opt.c: Likewise.
53359         * tests/test-arcfour.c: Likewise.
53360         * tests/test-arctwo.c: Likewise.
53361         * tests/test-argmatch.c: Likewise.
53362         * tests/test-argp-2.sh: Likewise.
53363         * tests/test-argp.c: Likewise.
53364         * tests/test-arpa_inet.c: Likewise.
53365         * tests/test-array_list.c: Likewise.
53366         * tests/test-array_oset.c: Likewise.
53367         * tests/test-atexit.c: Likewise.
53368         * tests/test-avltree_list.c: Likewise.
53369         * tests/test-avltree_oset.c: Likewise.
53370         * tests/test-avltreehash_list.c: Likewise.
53371         * tests/test-base64.c: Likewise.
53372         * tests/test-binary-io.c: Likewise.
53373         * tests/test-byteswap.c: Likewise.
53374         * tests/test-c-ctype.c: Likewise.
53375         * tests/test-c-strcasecmp.c: Likewise.
53376         * tests/test-c-strcasestr.c: Likewise.
53377         * tests/test-c-strncasecmp.c: Likewise.
53378         * tests/test-c-strstr.c: Likewise.
53379         * tests/test-canonicalize-lgpl.c: Likewise.
53380         * tests/test-canonicalize.c: Likewise.
53381         * tests/test-carray_list.c: Likewise.
53382         * tests/test-ceilf.c: Likewise.
53383         * tests/test-ceill.c: Likewise.
53384         * tests/test-count-one-bits.c: Likewise.
53385         * tests/test-crc.c: Likewise.
53386         * tests/test-dirname.c: Likewise.
53387         * tests/test-fbufmode.c: Likewise.
53388         * tests/test-fcntl.c: Likewise.
53389         * tests/test-fflush.c: Likewise.
53390         * tests/test-floorf.c: Likewise.
53391         * tests/test-floorl.c: Likewise.
53392         * tests/test-fopen.c: Likewise.
53393         * tests/test-fprintf-posix.c: Likewise.
53394         * tests/test-fprintf-posix.h: Likewise.
53395         * tests/test-fpurge.c: Likewise.
53396         * tests/test-freadable.c: Likewise.
53397         * tests/test-freadahead.c: Likewise.
53398         * tests/test-freading.c: Likewise.
53399         * tests/test-freopen.c: Likewise.
53400         * tests/test-frexp.c: Likewise.
53401         * tests/test-frexpl.c: Likewise.
53402         * tests/test-fseek.c: Likewise.
53403         * tests/test-fseeko.c: Likewise.
53404         * tests/test-fseterr.c: Likewise.
53405         * tests/test-fstrcmp.c: Likewise.
53406         * tests/test-ftell.c: Likewise.
53407         * tests/test-ftello.c: Likewise.
53408         * tests/test-fwritable.c: Likewise.
53409         * tests/test-fwriting.c: Likewise.
53410         * tests/test-getaddrinfo.c: Likewise.
53411         * tests/test-getpass.c: Likewise.
53412         * tests/test-gettimeofday.c: Likewise.
53413         * tests/test-hmac-md5.c: Likewise.
53414         * tests/test-hmac-sha1.c: Likewise.
53415         * tests/test-iconv.c: Likewise.
53416         * tests/test-iconvme.c: Likewise.
53417         * tests/test-inttypes.c: Likewise.
53418         * tests/test-isnan.c: Likewise.
53419         * tests/test-isnanf.c: Likewise.
53420         * tests/test-isnanl-nolibm.c: Likewise.
53421         * tests/test-isnanl.c: Likewise.
53422         * tests/test-isnanl.h: Likewise.
53423         * tests/test-ldexpl.c: Likewise.
53424         * tests/test-linked_list.c: Likewise.
53425         * tests/test-linkedhash_list.c: Likewise.
53426         * tests/test-locale.c: Likewise.
53427         * tests/test-localename.c: Likewise.
53428         * tests/test-lock.c: Likewise.
53429         * tests/test-lseek.c: Likewise.
53430         * tests/test-malloca.c: Likewise.
53431         * tests/test-math.c: Likewise.
53432         * tests/test-mbscasecmp.c: Likewise.
53433         * tests/test-mbscasestr1.c: Likewise.
53434         * tests/test-mbscasestr2.c: Likewise.
53435         * tests/test-mbscasestr3.c: Likewise.
53436         * tests/test-mbscasestr4.c: Likewise.
53437         * tests/test-mbschr.c: Likewise.
53438         * tests/test-mbscspn.c: Likewise.
53439         * tests/test-mbsncasecmp.c: Likewise.
53440         * tests/test-mbspbrk.c: Likewise.
53441         * tests/test-mbspcasecmp.c: Likewise.
53442         * tests/test-mbsrchr.c: Likewise.
53443         * tests/test-mbsspn.c: Likewise.
53444         * tests/test-mbsstr1.c: Likewise.
53445         * tests/test-mbsstr2.c: Likewise.
53446         * tests/test-mbsstr3.c: Likewise.
53447         * tests/test-md5.c: Likewise.
53448         * tests/test-memmem.c: Likewise.
53449         * tests/test-netinet_in.c: Likewise.
53450         * tests/test-open.c: Likewise.
53451         * tests/test-printf-frexp.c: Likewise.
53452         * tests/test-printf-frexpl.c: Likewise.
53453         * tests/test-printf-posix.c: Likewise.
53454         * tests/test-printf-posix.h: Likewise.
53455         * tests/test-rbtree_list.c: Likewise.
53456         * tests/test-rbtree_oset.c: Likewise.
53457         * tests/test-rbtreehash_list.c: Likewise.
53458         * tests/test-read-file.c: Likewise.
53459         * tests/test-rijndael.c: Likewise.
53460         * tests/test-search.c: Likewise.
53461         * tests/test-signbit.c: Likewise.
53462         * tests/test-sleep.c: Likewise.
53463         * tests/test-snprintf-posix.c: Likewise.
53464         * tests/test-snprintf-posix.h: Likewise.
53465         * tests/test-snprintf.c: Likewise.
53466         * tests/test-sprintf-posix.c: Likewise.
53467         * tests/test-sprintf-posix.h: Likewise.
53468         * tests/test-stat-time.c: Likewise.
53469         * tests/test-stdbool.c: Likewise.
53470         * tests/test-stdint.c: Likewise.
53471         * tests/test-stdio.c: Likewise.
53472         * tests/test-stdlib.c: Likewise.
53473         * tests/test-stpncpy.c: Likewise.
53474         * tests/test-strcasestr.c: Likewise.
53475         * tests/test-striconv.c: Likewise.
53476         * tests/test-striconveh.c: Likewise.
53477         * tests/test-striconveha.c: Likewise.
53478         * tests/test-string.c: Likewise.
53479         * tests/test-sys_select.c: Likewise.
53480         * tests/test-sys_socket.c: Likewise.
53481         * tests/test-sys_stat.c: Likewise.
53482         * tests/test-sys_time.c: Likewise.
53483         * tests/test-sysexits.c: Likewise.
53484         * tests/test-time.c: Likewise.
53485         * tests/test-tls.c: Likewise.
53486         * tests/test-trunc.c: Likewise.
53487         * tests/test-truncf.c: Likewise.
53488         * tests/test-truncl.c: Likewise.
53489         * tests/test-unistd.c: Likewise.
53490         * tests/test-vasnprintf-posix.c: Likewise.
53491         * tests/test-vasnprintf-posix2.c: Likewise.
53492         * tests/test-vasnprintf.c: Likewise.
53493         * tests/test-vasprintf-posix.c: Likewise.
53494         * tests/test-vasprintf.c: Likewise.
53495         * tests/test-verify.c: Likewise.
53496         * tests/test-vfprintf-posix.c: Likewise.
53497         * tests/test-vprintf-posix.c: Likewise.
53498         * tests/test-vsnprintf-posix.c: Likewise.
53499         * tests/test-vsnprintf.c: Likewise.
53500         * tests/test-vsprintf-posix.c: Likewise.
53501         * tests/test-wchar.c: Likewise.
53502         * tests/test-wctype.c: Likewise.
53503         * tests/test-wcwidth.c: Likewise.
53504         * tests/test-xstrtol.c: Likewise.
53505         * tests/test-xvasprintf.c: Likewise.
53506         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
53507         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
53508         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
53509         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
53510         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
53511         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
53512         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
53513         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
53514         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
53515         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
53516         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
53517         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
53518         * tests/uniname/test-uninames.c: Likewise.
53519         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
53520         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
53521         * tests/unistdio/test-u16-printf1.h: Likewise.
53522         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
53523         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
53524         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
53525         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
53526         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
53527         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
53528         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
53529         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
53530         * tests/unistdio/test-u32-printf1.h: Likewise.
53531         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
53532         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
53533         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
53534         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
53535         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
53536         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
53537         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
53538         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
53539         * tests/unistdio/test-u8-printf1.h: Likewise.
53540         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
53541         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
53542         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
53543         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
53544         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
53545         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
53546         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
53547         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
53548         * tests/unistdio/test-ulc-printf1.h: Likewise.
53549         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
53550         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
53551         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
53552         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
53553         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
53554         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
53555         * tests/uniwidth/test-u16-strwidth.c: Likewise.
53556         * tests/uniwidth/test-u16-width.c: Likewise.
53557         * tests/uniwidth/test-u32-strwidth.c: Likewise.
53558         * tests/uniwidth/test-u32-width.c: Likewise.
53559         * tests/uniwidth/test-u8-strwidth.c: Likewise.
53560         * tests/uniwidth/test-u8-width.c: Likewise.
53561         * tests/uniwidth/test-uc_width.c: Likewise.
53562         * config/srclist-update: Likewise.
53563         (fixlicense): Update to GPLv3+.
53564
53565         Change copyright notice from LGPLv2.1+ to LGPLv3+.
53566         * tests/test-tsearch.c: Change copyright notice.
53567
53568         Change copyright notice from LGPLv2.0+ to LGPLv3+.
53569         * lib/c-strcaseeq.h: Change copyright notice.
53570         * lib/streq.h: Likewise.
53571         * lib/uniconv.h: Likewise.
53572         * lib/uniconv/u-conv-from-enc.h: Likewise.
53573         * lib/uniconv/u-conv-to-enc.h: Likewise.
53574         * lib/uniconv/u-strconv-from-enc.h: Likewise.
53575         * lib/uniconv/u-strconv-to-enc.h: Likewise.
53576         * lib/uniconv/u16-conv-from-enc.c: Likewise.
53577         * lib/uniconv/u16-conv-to-enc.c: Likewise.
53578         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
53579         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
53580         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
53581         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
53582         * lib/uniconv/u32-conv-from-enc.c: Likewise.
53583         * lib/uniconv/u32-conv-to-enc.c: Likewise.
53584         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
53585         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
53586         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
53587         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
53588         * lib/uniconv/u8-conv-from-enc.c: Likewise.
53589         * lib/uniconv/u8-conv-to-enc.c: Likewise.
53590         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
53591         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
53592         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
53593         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
53594         * lib/uniname.h: Likewise.
53595         * lib/uniname/uniname.c: Likewise.
53596         * lib/unistdio.h: Likewise.
53597         * lib/unistdio/u-asnprintf.h: Likewise.
53598         * lib/unistdio/u-asprintf.h: Likewise.
53599         * lib/unistdio/u-printf-args.c: Likewise.
53600         * lib/unistdio/u-printf-args.h: Likewise.
53601         * lib/unistdio/u-printf-parse.h: Likewise.
53602         * lib/unistdio/u-snprintf.h: Likewise.
53603         * lib/unistdio/u-sprintf.h: Likewise.
53604         * lib/unistdio/u-vasprintf.h: Likewise.
53605         * lib/unistdio/u-vsnprintf.h: Likewise.
53606         * lib/unistdio/u-vsprintf.h: Likewise.
53607         * lib/unistdio/u16-asnprintf.c: Likewise.
53608         * lib/unistdio/u16-asprintf.c: Likewise.
53609         * lib/unistdio/u16-printf-parse.c: Likewise.
53610         * lib/unistdio/u16-snprintf.c: Likewise.
53611         * lib/unistdio/u16-sprintf.c: Likewise.
53612         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
53613         * lib/unistdio/u16-u16-asprintf.c: Likewise.
53614         * lib/unistdio/u16-u16-snprintf.c: Likewise.
53615         * lib/unistdio/u16-u16-sprintf.c: Likewise.
53616         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
53617         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
53618         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
53619         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
53620         * lib/unistdio/u16-vasnprintf.c: Likewise.
53621         * lib/unistdio/u16-vasprintf.c: Likewise.
53622         * lib/unistdio/u16-vsnprintf.c: Likewise.
53623         * lib/unistdio/u16-vsprintf.c: Likewise.
53624         * lib/unistdio/u32-asnprintf.c: Likewise.
53625         * lib/unistdio/u32-asprintf.c: Likewise.
53626         * lib/unistdio/u32-printf-parse.c: Likewise.
53627         * lib/unistdio/u32-snprintf.c: Likewise.
53628         * lib/unistdio/u32-sprintf.c: Likewise.
53629         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
53630         * lib/unistdio/u32-u32-asprintf.c: Likewise.
53631         * lib/unistdio/u32-u32-snprintf.c: Likewise.
53632         * lib/unistdio/u32-u32-sprintf.c: Likewise.
53633         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
53634         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
53635         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
53636         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
53637         * lib/unistdio/u32-vasnprintf.c: Likewise.
53638         * lib/unistdio/u32-vasprintf.c: Likewise.
53639         * lib/unistdio/u32-vsnprintf.c: Likewise.
53640         * lib/unistdio/u32-vsprintf.c: Likewise.
53641         * lib/unistdio/u8-asnprintf.c: Likewise.
53642         * lib/unistdio/u8-asprintf.c: Likewise.
53643         * lib/unistdio/u8-printf-parse.c: Likewise.
53644         * lib/unistdio/u8-snprintf.c: Likewise.
53645         * lib/unistdio/u8-sprintf.c: Likewise.
53646         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
53647         * lib/unistdio/u8-u8-asprintf.c: Likewise.
53648         * lib/unistdio/u8-u8-snprintf.c: Likewise.
53649         * lib/unistdio/u8-u8-sprintf.c: Likewise.
53650         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
53651         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
53652         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
53653         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
53654         * lib/unistdio/u8-vasnprintf.c: Likewise.
53655         * lib/unistdio/u8-vasprintf.c: Likewise.
53656         * lib/unistdio/u8-vsnprintf.c: Likewise.
53657         * lib/unistdio/u8-vsprintf.c: Likewise.
53658         * lib/unistdio/ulc-asnprintf.c: Likewise.
53659         * lib/unistdio/ulc-asprintf.c: Likewise.
53660         * lib/unistdio/ulc-printf-parse.c: Likewise.
53661         * lib/unistdio/ulc-snprintf.c: Likewise.
53662         * lib/unistdio/ulc-sprintf.c: Likewise.
53663         * lib/unistdio/ulc-vasnprintf.c: Likewise.
53664         * lib/unistdio/ulc-vasprintf.c: Likewise.
53665         * lib/unistdio/ulc-vsnprintf.c: Likewise.
53666         * lib/unistdio/ulc-vsprintf.c: Likewise.
53667         * lib/unistr.h: Likewise.
53668         * lib/unistr/u-cpy-alloc.h: Likewise.
53669         * lib/unistr/u-cpy.h: Likewise.
53670         * lib/unistr/u-endswith.h: Likewise.
53671         * lib/unistr/u-move.h: Likewise.
53672         * lib/unistr/u-set.h: Likewise.
53673         * lib/unistr/u-startswith.h: Likewise.
53674         * lib/unistr/u-stpcpy.h: Likewise.
53675         * lib/unistr/u-stpncpy.h: Likewise.
53676         * lib/unistr/u-strcat.h: Likewise.
53677         * lib/unistr/u-strcpy.h: Likewise.
53678         * lib/unistr/u-strcspn.h: Likewise.
53679         * lib/unistr/u-strdup.h: Likewise.
53680         * lib/unistr/u-strlen.h: Likewise.
53681         * lib/unistr/u-strncat.h: Likewise.
53682         * lib/unistr/u-strncpy.h: Likewise.
53683         * lib/unistr/u-strnlen.h: Likewise.
53684         * lib/unistr/u-strpbrk.h: Likewise.
53685         * lib/unistr/u-strspn.h: Likewise.
53686         * lib/unistr/u-strstr.h: Likewise.
53687         * lib/unistr/u-strtok.h: Likewise.
53688         * lib/unistr/u16-check.c: Likewise.
53689         * lib/unistr/u16-chr.c: Likewise.
53690         * lib/unistr/u16-cmp.c: Likewise.
53691         * lib/unistr/u16-cpy-alloc.c: Likewise.
53692         * lib/unistr/u16-cpy.c: Likewise.
53693         * lib/unistr/u16-endswith.c: Likewise.
53694         * lib/unistr/u16-mblen.c: Likewise.
53695         * lib/unistr/u16-mbsnlen.c: Likewise.
53696         * lib/unistr/u16-mbtouc-aux.c: Likewise.
53697         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
53698         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
53699         * lib/unistr/u16-mbtouc.c: Likewise.
53700         * lib/unistr/u16-mbtoucr.c: Likewise.
53701         * lib/unistr/u16-move.c: Likewise.
53702         * lib/unistr/u16-next.c: Likewise.
53703         * lib/unistr/u16-prev.c: Likewise.
53704         * lib/unistr/u16-set.c: Likewise.
53705         * lib/unistr/u16-startswith.c: Likewise.
53706         * lib/unistr/u16-stpcpy.c: Likewise.
53707         * lib/unistr/u16-stpncpy.c: Likewise.
53708         * lib/unistr/u16-strcat.c: Likewise.
53709         * lib/unistr/u16-strchr.c: Likewise.
53710         * lib/unistr/u16-strcmp.c: Likewise.
53711         * lib/unistr/u16-strcpy.c: Likewise.
53712         * lib/unistr/u16-strcspn.c: Likewise.
53713         * lib/unistr/u16-strdup.c: Likewise.
53714         * lib/unistr/u16-strlen.c: Likewise.
53715         * lib/unistr/u16-strmblen.c: Likewise.
53716         * lib/unistr/u16-strmbtouc.c: Likewise.
53717         * lib/unistr/u16-strncat.c: Likewise.
53718         * lib/unistr/u16-strncmp.c: Likewise.
53719         * lib/unistr/u16-strncpy.c: Likewise.
53720         * lib/unistr/u16-strnlen.c: Likewise.
53721         * lib/unistr/u16-strpbrk.c: Likewise.
53722         * lib/unistr/u16-strrchr.c: Likewise.
53723         * lib/unistr/u16-strspn.c: Likewise.
53724         * lib/unistr/u16-strstr.c: Likewise.
53725         * lib/unistr/u16-strtok.c: Likewise.
53726         * lib/unistr/u16-to-u32.c: Likewise.
53727         * lib/unistr/u16-to-u8.c: Likewise.
53728         * lib/unistr/u16-uctomb-aux.c: Likewise.
53729         * lib/unistr/u16-uctomb.c: Likewise.
53730         * lib/unistr/u32-check.c: Likewise.
53731         * lib/unistr/u32-chr.c: Likewise.
53732         * lib/unistr/u32-cmp.c: Likewise.
53733         * lib/unistr/u32-cpy-alloc.c: Likewise.
53734         * lib/unistr/u32-cpy.c: Likewise.
53735         * lib/unistr/u32-endswith.c: Likewise.
53736         * lib/unistr/u32-mblen.c: Likewise.
53737         * lib/unistr/u32-mbsnlen.c: Likewise.
53738         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
53739         * lib/unistr/u32-mbtouc.c: Likewise.
53740         * lib/unistr/u32-mbtoucr.c: Likewise.
53741         * lib/unistr/u32-move.c: Likewise.
53742         * lib/unistr/u32-next.c: Likewise.
53743         * lib/unistr/u32-prev.c: Likewise.
53744         * lib/unistr/u32-set.c: Likewise.
53745         * lib/unistr/u32-startswith.c: Likewise.
53746         * lib/unistr/u32-stpcpy.c: Likewise.
53747         * lib/unistr/u32-stpncpy.c: Likewise.
53748         * lib/unistr/u32-strcat.c: Likewise.
53749         * lib/unistr/u32-strchr.c: Likewise.
53750         * lib/unistr/u32-strcmp.c: Likewise.
53751         * lib/unistr/u32-strcpy.c: Likewise.
53752         * lib/unistr/u32-strcspn.c: Likewise.
53753         * lib/unistr/u32-strdup.c: Likewise.
53754         * lib/unistr/u32-strlen.c: Likewise.
53755         * lib/unistr/u32-strmblen.c: Likewise.
53756         * lib/unistr/u32-strmbtouc.c: Likewise.
53757         * lib/unistr/u32-strncat.c: Likewise.
53758         * lib/unistr/u32-strncmp.c: Likewise.
53759         * lib/unistr/u32-strncpy.c: Likewise.
53760         * lib/unistr/u32-strnlen.c: Likewise.
53761         * lib/unistr/u32-strpbrk.c: Likewise.
53762         * lib/unistr/u32-strrchr.c: Likewise.
53763         * lib/unistr/u32-strspn.c: Likewise.
53764         * lib/unistr/u32-strstr.c: Likewise.
53765         * lib/unistr/u32-strtok.c: Likewise.
53766         * lib/unistr/u32-to-u16.c: Likewise.
53767         * lib/unistr/u32-to-u8.c: Likewise.
53768         * lib/unistr/u32-uctomb.c: Likewise.
53769         * lib/unistr/u8-check.c: Likewise.
53770         * lib/unistr/u8-chr.c: Likewise.
53771         * lib/unistr/u8-cmp.c: Likewise.
53772         * lib/unistr/u8-cpy-alloc.c: Likewise.
53773         * lib/unistr/u8-cpy.c: Likewise.
53774         * lib/unistr/u8-endswith.c: Likewise.
53775         * lib/unistr/u8-mblen.c: Likewise.
53776         * lib/unistr/u8-mbsnlen.c: Likewise.
53777         * lib/unistr/u8-mbtouc-aux.c: Likewise.
53778         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
53779         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
53780         * lib/unistr/u8-mbtouc.c: Likewise.
53781         * lib/unistr/u8-mbtoucr.c: Likewise.
53782         * lib/unistr/u8-move.c: Likewise.
53783         * lib/unistr/u8-next.c: Likewise.
53784         * lib/unistr/u8-prev.c: Likewise.
53785         * lib/unistr/u8-set.c: Likewise.
53786         * lib/unistr/u8-startswith.c: Likewise.
53787         * lib/unistr/u8-stpcpy.c: Likewise.
53788         * lib/unistr/u8-stpncpy.c: Likewise.
53789         * lib/unistr/u8-strcat.c: Likewise.
53790         * lib/unistr/u8-strchr.c: Likewise.
53791         * lib/unistr/u8-strcmp.c: Likewise.
53792         * lib/unistr/u8-strcpy.c: Likewise.
53793         * lib/unistr/u8-strcspn.c: Likewise.
53794         * lib/unistr/u8-strdup.c: Likewise.
53795         * lib/unistr/u8-strlen.c: Likewise.
53796         * lib/unistr/u8-strmblen.c: Likewise.
53797         * lib/unistr/u8-strmbtouc.c: Likewise.
53798         * lib/unistr/u8-strncat.c: Likewise.
53799         * lib/unistr/u8-strncmp.c: Likewise.
53800         * lib/unistr/u8-strncpy.c: Likewise.
53801         * lib/unistr/u8-strnlen.c: Likewise.
53802         * lib/unistr/u8-strpbrk.c: Likewise.
53803         * lib/unistr/u8-strrchr.c: Likewise.
53804         * lib/unistr/u8-strspn.c: Likewise.
53805         * lib/unistr/u8-strstr.c: Likewise.
53806         * lib/unistr/u8-strtok.c: Likewise.
53807         * lib/unistr/u8-to-u16.c: Likewise.
53808         * lib/unistr/u8-to-u32.c: Likewise.
53809         * lib/unistr/u8-uctomb-aux.c: Likewise.
53810         * lib/unistr/u8-uctomb.c: Likewise.
53811         * lib/unitypes.h: Likewise.
53812         * lib/uniwidth.h: Likewise.
53813         * lib/uniwidth/cjk.h: Likewise.
53814         * lib/uniwidth/u16-strwidth.c: Likewise.
53815         * lib/uniwidth/u16-width.c: Likewise.
53816         * lib/uniwidth/u32-strwidth.c: Likewise.
53817         * lib/uniwidth/u32-width.c: Likewise.
53818         * lib/uniwidth/u8-strwidth.c: Likewise.
53819         * lib/uniwidth/u8-width.c: Likewise.
53820         * lib/uniwidth/width.c: Likewise.
53821
53822 2007-10-07  Bruno Haible  <bruno@clisp.org>
53823
53824         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
53825         The file is still under LGPL (see modules/inttypes).
53826
53827 2007-10-06  Bruno Haible  <bruno@clisp.org>
53828
53829         * modules/trunc (Dependencies): Add 'extensions'.
53830         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
53831         Reported by Ben Pfaff <blp@gnu.org>.
53832
53833 2007-10-06  Bruno Haible  <bruno@clisp.org>
53834
53835         * modules/freopen-tests: New file.
53836         * tests/test-freopen.c: New file.
53837
53838         * modules/fopen-tests: New file.
53839         * tests/test-fopen.c: New file.
53840
53841         * modules/fopen: New file.
53842         * lib/fopen.c: New file.
53843         * m4/fopen.m4: New file.
53844         * modules/freopen: New file.
53845         * lib/freopen.c: New file.
53846         * m4/freopen.m4: New file.
53847         * lib/stdio.in.h (fopen, freopen): New declarations.
53848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
53849         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
53850         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
53851         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
53852         * doc/functions/fopen.texi: Mention the 'fopen' module.
53853         * doc/functions/freopen.texi: Mention the 'freopen' module.
53854
53855 2007-10-06  Bruno Haible  <bruno@clisp.org>
53856
53857         * modules/open-tests: New file.
53858         * tests/test-open.c: New file.
53859
53860         * modules/open: New file.
53861         * lib/open.c: New file.
53862         * m4/open.m4: New file.
53863         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
53864         lib/open.c does.
53865         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
53866         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
53867         macros.
53868         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
53869         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
53870         REPLACE_OPEN.
53871         * doc/functions/open.texi: Mention the 'open' module.
53872
53873 2007-10-04  Bruno Haible  <bruno@clisp.org>
53874
53875         * modules/ceill-tests: New file.
53876         * tests/test-ceill.c: New file.
53877
53878         * modules/ceill: New file.
53879         * lib/ceill.c: Replace entire file.
53880         * m4/ceill.m4: New file.
53881         * lib/math.in.h (ceill): Replace declaration.
53882         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
53883         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
53884         * doc/functions/ceill.texi: Mention the 'ceill' module.
53885         * modules/mathl (Files): Remove lib/ceill.c.
53886         (Depends-on): Add ceill.
53887
53888 2007-10-04  Bruno Haible  <bruno@clisp.org>
53889
53890         * modules/ceilf-tests: New file.
53891         * tests/test-ceilf.c: New file.
53892
53893         * modules/ceilf: New file.
53894         * lib/ceil.c: New file.
53895         * lib/ceilf.c: New file.
53896         * m4/ceilf.m4: New file.
53897         * lib/math.in.h (ceilf): New declaration.
53898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
53899         HAVE_DECL_CEILF.
53900         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
53901         HAVE_DECL_CEILF.
53902         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
53903
53904 2007-10-04  Bruno Haible  <bruno@clisp.org>
53905
53906         * modules/floorl-tests: New file.
53907         * tests/test-floorl.c: New file.
53908
53909         * modules/floorl: New file.
53910         * lib/floorl.c: Replace entire file.
53911         * m4/floorl.m4: New file.
53912         * lib/math.in.h (floorl): Replace declaration.
53913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
53914         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
53915         * doc/functions/floorl.texi: Mention the 'floorl' module.
53916         * modules/mathl (Files): Remove lib/floorl.c.
53917         (Depends-on): Add floorl.
53918
53919 2007-10-04  Bruno Haible  <bruno@clisp.org>
53920
53921         * modules/floorf-tests: New file.
53922         * tests/test-floorf.c: New file.
53923
53924         * modules/floorf: New file.
53925         * lib/floor.c: New file.
53926         * lib/floorf.c: New file.
53927         * m4/floorf.m4: New file.
53928         * lib/math.in.h (floorf): New declaration.
53929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
53930         HAVE_DECL_FLOORF.
53931         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
53932         HAVE_DECL_FLOORF.
53933         * doc/functions/floorf.texi: Mention the 'floorf' module.
53934
53935 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
53936             Bruno Haible  <bruno@clisp.org>
53937
53938         Advertise for the Git server instead of the CVS server.
53939         * doc/gnulib-intro.texi (Steady Development): Mention the Git
53940         repository instead of the CVS one.
53941         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
53942         about all VCS systems generically.
53943         * doc/gnulib.texi (Introduction): Capitalize `Git'.
53944
53945 2007-10-04  Bruno Haible  <bruno@clisp.org>
53946
53947         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
53948         means.
53949         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
53950
53951 2007-10-04  Bruno Haible  <bruno@clisp.org>
53952
53953         * modules/truncl-tests: New file.
53954         * tests/test-truncl.c: New file.
53955
53956         * modules/truncl: New file.
53957         * lib/truncl.c: New file.
53958         * m4/truncl.m4: New file.
53959         * lib/math.in.h (truncl): New declaration.
53960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
53961         HAVE_DECL_TRUNCL.
53962         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
53963         HAVE_DECL_TRUNCL.
53964         * doc/functions/truncl.texi: Mention the 'truncl' module.
53965
53966 2007-10-04  Bruno Haible  <bruno@clisp.org>
53967
53968         * modules/truncf-tests: New file.
53969         * tests/test-truncf.c: New file.
53970
53971         * modules/truncf: New file.
53972         * lib/trunc.c: Make paramerizable through USE_* macros.
53973         * lib/truncf.c: New file.
53974         * m4/truncf.m4: New file.
53975         * lib/math.in.h (truncf): New declaration.
53976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
53977         HAVE_DECL_TRUNCF.
53978         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
53979         HAVE_DECL_TRUNCF.
53980         * doc/functions/truncf.texi: Mention the 'truncf' module.
53981
53982 2007-10-03  Bruno Haible  <bruno@clisp.org>
53983
53984         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53985         augmentation also for tests modules.
53986         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
53987         * modules/atexit-tests (Makefile.am): Likewise.
53988         * modules/binary-io-tests (Makefile.am): Likewise.
53989         * modules/c-strcase-tests (Makefile.am): Likewise.
53990         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
53991         * modules/canonicalize-tests (Makefile.am): Likewise.
53992         * modules/closein-tests (Makefile.am): Likewise.
53993         * modules/fprintf-posix-tests (Makefile.am): Likewise.
53994         * modules/freadahead-tests (Makefile.am): Likewise.
53995         * modules/fseek-tests (Makefile.am): Likewise.
53996         * modules/fseeko-tests (Makefile.am): Likewise.
53997         * modules/ftell-tests (Makefile.am): Likewise.
53998         * modules/ftello-tests (Makefile.am): Likewise.
53999         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
54000         * modules/isnanl-tests (Makefile.am): Likewise.
54001         * modules/lseek-tests (Makefile.am): Likewise.
54002         * modules/mbscasecmp-tests (Makefile.am): Likewise.
54003         * modules/mbscasestr-tests (Makefile.am): Likewise.
54004         * modules/mbschr-tests (Makefile.am): Likewise.
54005         * modules/mbscspn-tests (Makefile.am): Likewise.
54006         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
54007         * modules/mbspbrk-tests (Makefile.am): Likewise.
54008         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
54009         * modules/mbsrchr-tests (Makefile.am): Likewise.
54010         * modules/mbsspn-tests (Makefile.am): Likewise.
54011         * modules/mbsstr-tests (Makefile.am): Likewise.
54012         * modules/printf-posix-tests (Makefile.am): Likewise.
54013         * modules/snprintf-posix-tests (Makefile.am): Likewise.
54014         * modules/sprintf-posix-tests (Makefile.am): Likewise.
54015         * modules/tsearch-tests (Makefile.am): Likewise.
54016         * modules/uniname/uniname-tests (Makefile.am): Likewise.
54017         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
54018         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
54019         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
54020         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
54021         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
54022         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
54023         * modules/vprintf-posix-tests (Makefile.am): Likewise.
54024         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
54025         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
54026         * modules/xstrtoimax-tests (Makefile.am): Likewise.
54027         * modules/xstrtol-tests (Makefile.am): Likewise.
54028         * modules/xstrtoumax-tests (Makefile.am): Likewise.
54029         * modules/yesno-tests (Makefile.am): Likewise.
54030
54031 2007-10-03  Bruno Haible  <bruno@clisp.org>
54032
54033         * modules/trunc-tests: New file.
54034         * tests/test-trunc.c: New file.
54035
54036         * modules/trunc: New file.
54037         * lib/trunc.c: New file.
54038         * m4/trunc.m4: New file.
54039         * lib/math.in.h (trunc): New declaration.
54040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
54041         HAVE_DECL_TRUNC.
54042         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
54043         HAVE_DECL_TRUNC.
54044         * doc/functions/trunc.texi: Mention the 'trunc' module.
54045
54046 2007-10-03  Bruno Haible  <bruno@clisp.org>
54047
54048         * tests/test-fpending.c: New file, mostly copied
54049         from coreutils/lib/t-fpending.c.
54050         * modules/fpending-tests: New file.
54051
54052 2007-10-03  Bruno Haible  <bruno@clisp.org>
54053
54054         Port the stdio extensions to QNX (untested).
54055         * lib/fseterr.c (fseterr): Add support for QNX.
54056         * lib/fbufmode.c (fbufmode): Likewise.
54057         * lib/freadable.c (freadable): Likewise.
54058         * lib/fwritable.c (fwritable): Likewise.
54059         * lib/freading.c (freading): Likewise.
54060         * lib/fwriting.c (fwriting): Likewise.
54061         * lib/freadahead.c (freadahed): Likewise.
54062         * lib/fpurge.c (fpurge): Likewise.
54063         * lib/fseeko.c (rpl_fseeko): Likewise.
54064
54065 2007-10-03  Bruno Haible  <bruno@clisp.org>
54066             Jim Meyering  <jim@meyering.net>
54067             Eric Blake  <ebb9@byu.net>
54068
54069         * doc/relocatable.texi: Use @command instead of @program.
54070
54071 2007-10-02  Jim Meyering  <jim@meyering.net>
54072
54073         Perform one more "_.h" -> ".in.h" substitution.
54074         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
54075         instead of unistd_.h here, too.
54076
54077 2007-10-01  Bruno Haible  <bruno@clisp.org>
54078
54079         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
54080         Needed for the alloca-opt module.
54081
54082 2007-09-30  Bruno Haible  <bruno@clisp.org>
54083
54084         * lib/alloca.in.h: Renamed from lib/alloca_.h.
54085         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
54086         alloca_.h.
54087         * lib/argz.in.h: Renamed from lib/argz_.h.
54088         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
54089         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
54090         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
54091         byteswap_.h.
54092         * lib/dirent.in.h: Renamed from lib/dirent_.h.
54093         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
54094         dirent_.h.
54095         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
54096         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
54097         fcntl_.h.
54098         * lib/float.in.h: Renamed from lib/float_.h.
54099         * modules/float (Files, Makefile.am): Use float.in.h instead of
54100         float_.h.
54101         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
54102         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
54103         fnmatch_.h.
54104         * lib/getopt.in.h: Renamed from lib/getopt_.h.
54105         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
54106         getopt_.h.
54107         * lib/glob.in.h: Renamed from lib/glob_.h.
54108         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
54109         * lib/iconv.in.h: Renamed from lib/iconv_.h.
54110         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
54111         iconv_.h.
54112         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
54113         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
54114         inttypes_.h.
54115         * lib/locale.in.h: Renamed from lib/locale_.h.
54116         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
54117         locale_.h.
54118         * lib/math.in.h: Renamed from lib/math_.h.
54119         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
54120         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
54121         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
54122         of netinet_in_.h. Add dependency.
54123         * lib/poll.in.h: Renamed from lib/poll_.h.
54124         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
54125         * lib/search.in.h: Renamed from lib/search_.h.
54126         * modules/search (Files, Makefile.am): Use search.in.h instead of
54127         search_.h.
54128         * lib/signal.in.h: Renamed from lib/signal_.h.
54129         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
54130         _signal.h.
54131         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
54132         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
54133         stdbool_.h.
54134         * lib/stdint.in.h: Renamed from lib/stdint_.h.
54135         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
54136         stdint_.h.
54137         * lib/stdio.in.h: Renamed from lib/stdio_.h.
54138         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
54139         stdio_.h.
54140         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
54141         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
54142         stdlib_.h.
54143         * lib/string.in.h: Renamed from lib/string_.h.
54144         * modules/string (Files, Makefile.am): Use string.in.h instead of
54145         string_.h.
54146         * doc/gnulib-tool.texi (Initial import): Update.
54147         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
54148         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
54149         of sys_select_.h. Add dependency.
54150         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
54151         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
54152         of sys_socket_.h.
54153         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
54154         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
54155         sys_stat_.h.
54156         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
54157         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
54158         sys_time_.h.
54159         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
54160         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
54161         sysexits_.h.
54162         * lib/time.in.h: Renamed from lib/time_.h.
54163         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
54164         * lib/unistd.in.h: Renamed from lib/unistd_.h.
54165         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
54166         unistd_.h.
54167         * lib/wchar.in.h: Renamed from lib/wchar_.h.
54168         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
54169         wchar_.h.
54170         * lib/wctype.in.h: Renamed from lib/wctype_.h.
54171         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
54172         wctype_.h.
54173         * build-aux/bootstrap (slurp): Update.
54174         * lib/.cppi-disable: Update.
54175
54176 2007-09-30  Bruno Haible  <bruno@clisp.org>
54177
54178         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
54179         Needed on BeOS.
54180
54181 2007-09-30  Bruno Haible  <bruno@clisp.org>
54182
54183         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
54184
54185 2007-09-29  Bruno Haible  <bruno@clisp.org>
54186
54187         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
54188
54189 2007-09-29  Bruno Haible  <bruno@clisp.org>
54190
54191         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
54192         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
54193         * build-aux/install-reloc: Compile also areadlink.c.
54194         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
54195
54196 2007-09-29  Bruno Haible  <bruno@clisp.org>
54197
54198         * gnulib-tool (func_emit_initmacro_done): Indentation.
54199
54200 2007-09-29  Bruno Haible  <bruno@clisp.org>
54201
54202         * README: Add CVS checkout update instructions.
54203         Info from Bob Proulx <bob@proulx.com>.
54204
54205 2007-09-28  Eric Blake  <ebb9@byu.net>
54206
54207         Provide move-if-change.
54208         * build-aux/move-if-change: New file, based on best practice
54209         rather than any canonical upstream location.
54210
54211 2007-09-28  Jim Meyering  <jim@meyering.net>
54212
54213         Fix canonicalize loop-detection corner case.
54214         Do not attempt to stat the symlink values stored via seen_triple.
54215         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
54216         on linux-2.6.18, (but not 2.6.22).
54217         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
54218         triple_compare.  The former compares dev,ino,filename, while the latter
54219         would actually stat dirname(filename) when dev and ino were equal.
54220         * lib/hash-triple.c: Install <string.h>.
54221         (STREQ): Define.
54222         (triple_compare_ino_str): New function.
54223         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
54224
54225 2007-09-28  Eric Blake  <ebb9@byu.net>
54226
54227         Enforce that AC_REPLACE_FUNCS files exist.
54228         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
54229         override check for typos.
54230
54231         Fix test-closein on Solaris 10.
54232         * tests/test-closein.c (main): Don't assume stdin can be inherited
54233         closed on all systems.
54234         * tests/test-closein.sh: Likewise.
54235         Reported by Piotr Tarnowski.
54236
54237 2007-09-28  Jim Meyering  <jim@meyering.net>
54238
54239         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
54240
54241 2007-09-27  Jim Meyering  <jim@meyering.net>
54242
54243         canonicalize: Avoid a false-positive cycle failure.
54244         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
54245         Sort.  Remove cycle-check.
54246         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
54247         not cycle-check.h.
54248         (seen_triple): New function.
54249         (canonicalize_filename_mode): Use it instead of cycle-check.
54250         * tests/test-canonicalize.c: Add a test for this bug.
54251         * tests/test-canonicalize.sh: Set up and run the test.
54252
54253         New module, file-set, from coreutils.
54254         * modules/file-set: Define it.
54255         * lib/file-set.c, lib/file-set.h: Implement.
54256
54257         New module, hash-triple, from coreutils.
54258         * modules/hash-triple: Define it.
54259         * lib/hash-triple.c, lib/hash-triple.h: Implement.
54260
54261 2007-09-25  Eric Blake  <ebb9@byu.net>
54262
54263         Fix strerror on Interix.
54264         * lib/string_.h (strerror): Declare replacement.
54265         * doc/functions/strerror.texi (strerror): Document the Interix
54266         shortcoming.
54267         * modules/string (Makefile.am): Support new hooks.
54268         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
54269         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
54270         gl_FUNC_STRERROR_SEPARATE.
54271         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
54272         * lib/strerror.c (rpl_strerror): Provide replacement.
54273         * modules/strerror (Depends-on): Add string.
54274         (configure.ac): Detect use of module.
54275         * tests/test-strerror.c: New file.
54276         * modules/strerror-tests: New test module.
54277         * modules/argp (Depends-on): Add strerror.
54278         * modules/error (Depends-on): Likewise.
54279         Reported by Martin Koeppe.
54280
54281 2007-09-24  Bruno Haible  <bruno@clisp.org>
54282
54283         * README: Update git instructions.
54284
54285 2007-09-24  Eric Blake  <ebb9@byu.net>
54286
54287         Revert fpending breakage from 2007-09-08.
54288         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
54289         __fpending.c.
54290
54291 2007-09-24  Jim Meyering  <jim@meyering.net>
54292
54293         filenamecat.c: Add a test.
54294         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
54295         showing how the function works when DIR is the empty string.
54296
54297 2007-09-21  Simon Josefsson  <simon@josefsson.org>
54298
54299         * tests/test-canonicalize.sh: Turn on executable bit.
54300
54301 2007-09-19  Eric Blake  <ebb9@byu.net>
54302
54303         * README: Update CVS instructions.
54304
54305 2007-09-18  Bruno Haible  <bruno@clisp.org>
54306
54307         * modules/areadlink: New file.
54308         * lib/areadlink.h (areadlink): New declaration.
54309         * lib/areadlink.c: New file, based on lib/xreadlink.c.
54310
54311 2007-09-17  Jim Meyering  <jim@meyering.net>
54312
54313         * lib/savewd.c (ESTALE) [!defined]: Define.
54314         Reported to be required on Interix by Martin Koeppe.
54315
54316 2007-09-17  Bruno Haible  <bruno@clisp.org>
54317
54318         * gnulib-tool (func_version): Use $version.
54319
54320 2007-09-16  Bruno Haible  <bruno@clisp.org>
54321
54322         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
54323         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
54324         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
54325         Reported by Greg Schafer <gschafer@zip.com.au>.
54326
54327 2007-09-15  Bruno Haible  <bruno@clisp.org>
54328
54329         * gnulib-tool (sed): Try a little harder to make bash understand the
54330         alias.
54331         Reported by Bruce Korb <bruce.korb@gmail.com>.
54332
54333 2007-09-13  Eric Blake  <ebb9@byu.net>
54334
54335         * ChangeLog: Remove conflict markers.
54336
54337 2007-09-13  Simon Josefsson  <simon@josefsson.org>
54338
54339         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
54340         Reported by Bruno Haible <bruno@clisp.org>.
54341
54342 2007-09-12  Bruno Haible  <bruno@clisp.org>
54343
54344         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
54345         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
54346         is not defined.
54347
54348 2007-09-12  Eric Blake  <ebb9@byu.net>
54349
54350         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
54351         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
54352         Autoconf definition.
54353         * modules/euidaccess (Depends-on): Add extensions, for
54354         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
54355         * modules/fnmatch (Depends-on): Likewise.
54356         * modules/getaddrinfo (Depends-on): Likewise.
54357         * modules/getdelim (Depends-on): Likewise.
54358         * modules/getline (Depends-on): Likewise.
54359         * modules/getsubopt (Depends-on): Likewise.
54360         * modules/gettext (Depends-on): Likewise.
54361         * modules/group-member (Depends-on): Likewise.
54362         * modules/mbchar (Depends-on): Likewise.
54363         * modules/memmem (Depends-on): Likewise.
54364         * modules/mempcpy (Depends-on): Likewise.
54365         * modules/memrchr (Depends-on): Likewise.
54366         * modules/pagealign_alloc (Depends-on): Likewise.
54367         * modules/readutmp (Depends-on): Likewise.
54368         * modules/stpcpy (Depends-on): Likewise.
54369         * modules/stpncpy (Depends-on): Likewise.
54370         * modules/strchrnul (Depends-on): Likewise.
54371         * modules/strndup (Depends-on): Likewise.
54372         * modules/strsep (Depends-on): Likewise.
54373         * modules/strverscmp (Depends-on): Likewise.
54374         * modules/vasprintf (Depends-on): Likewise.
54375         * modules/wcwidth (Depends-on): Likewise.
54376         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
54377         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
54378         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
54379         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
54380         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
54381         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
54382         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
54383         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
54384         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
54385         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
54386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54387         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54388         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54389         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
54390         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
54391         * m4/readutmp.m4 (gl_READUTMP): Likewise.
54392         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54393         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54394         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54395         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54396         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54397         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54398         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54399         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
54400         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
54401         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54402         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
54403         so that lock.m4 can be used in gettext without extensions module.
54404
54405 2007-09-11  Bruno Haible  <bruno@clisp.org>
54406
54407         * m4/isc-posix.m4: Remove file.
54408         Suggested by Eric Blake.
54409
54410 2007-09-11  Eric Blake  <ebb9@byu.net>
54411
54412         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
54413
54414 2007-09-10  Bruno Haible  <bruno@clisp.org>
54415
54416         * posix-modules: Fix typo in error message.
54417         Reported by Matt <mkraai@beckman.com>.
54418
54419 2007-09-09  Bruno Haible  <bruno@clisp.org>
54420
54421         * doc/functions/getdelim.texi: Update list of platforms lacking the
54422         function.
54423         * doc/functions/getline.texi: Likewise.
54424
54425 2007-09-09  Jim Meyering  <jim@meyering.net>
54426
54427         * lib/hash.c (hash_initialize): Detect calloc failure.
54428         Reported by Bruno Haible.
54429
54430 2007-09-09  Bruno Haible  <bruno@clisp.org>
54431
54432         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
54433         malloc or realloc fails.
54434
54435 2007-09-09  Bruno Haible  <bruno@clisp.org>
54436
54437         * modules/getcwd (Depends-on): Add malloc-posix.
54438         * modules/glob (Depends-on): Likewise.
54439         * modules/putenv (Depends-on): Likewise.
54440         * modules/strdup (Depends-on): Likewise.
54441         * modules/getdelim (Depends-on): Add realloc-posix.
54442         * modules/read-file (Depends-on): Likewise.
54443
54444 2007-09-09  Bruno Haible  <bruno@clisp.org>
54445
54446         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
54447         (gl_FUNC_MALLOC_POSIX): Require it.
54448         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
54449         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
54450         * modules/realloc (Files): Add m4/malloc.m4.
54451         * modules/calloc (Files): Likewise.
54452
54453 2007-09-09  Bruno Haible  <bruno@clisp.org>
54454
54455         * modules/malloc-posix: New file.
54456         * modules/malloc (Depends-on): Add malloc-posix.
54457         * lib/malloc.c: Include errno.h.
54458         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
54459         and a POSIX-compatible malloc into a single function. Set ENOMEM
54460         when returning NULL.
54461         * m4/malloc.m4: New file.
54462         * doc/functions/malloc.texi: Mention the malloc-posix module.
54463         * lib/stdlib_.h (malloc): New declaration.
54464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54465         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
54466         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
54467         and HAVE_MALLOC_POSIX.
54468
54469 2007-09-09  Bruno Haible  <bruno@clisp.org>
54470
54471         * modules/realloc-posix: New file.
54472         * modules/realloc (Depends-on): Add realloc-posix.
54473         * lib/realloc.c: Include errno.h.
54474         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
54475         and a POSIX-compatible realloc into a single function. Set ENOMEM
54476         when returning NULL.
54477         * m4/realloc.m4: New file.
54478         * doc/functions/realloc.texi: Mention the realloc-posix module.
54479         * lib/stdlib_.h (realloc): New declaration.
54480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54481         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
54482         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
54483         and HAVE_REALLOC_POSIX.
54484
54485 2007-09-09  Bruno Haible  <bruno@clisp.org>
54486
54487         * modules/calloc-posix: New file.
54488         * modules/calloc (Depends-on): Add calloc-posix.
54489         * lib/calloc.c: Include errno.h.
54490         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
54491         and a POSIX-compatible calloc into a single function. Set ENOMEM
54492         when returning NULL.
54493         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
54494         * doc/functions/calloc.texi: Mention the calloc-posix module.
54495         * lib/stdlib_.h (calloc): New declaration.
54496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54497         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
54498         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
54499         and HAVE_CALLOC_POSIX.
54500
54501 2007-09-09  Bruno Haible  <bruno@clisp.org>
54502
54503         Allow for modules to show an arbitrary notice.
54504         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
54505         * gnulib-tool: New option --extract-notice.
54506         (func_usage): Document it.
54507         (sed_extract_prog): Update.
54508         (func_get_notice): New function.
54509         (func_modules_notice): New function.
54510         (func_import, func_create_testdir): Invoke it.
54511         Suggested by Jim Meyering.
54512
54513 2007-09-09  Bruno Haible  <bruno@clisp.org>
54514
54515         * gnulib-tool: New options --verbose, --quiet.
54516         (func_usage): Document them.
54517         (verbose): New variable.
54518         (func_execute_command): New function.
54519         (func_import): Don't show the module list and the file list if
54520         $verbose < 0.
54521         (func_create_testdir): Likewise. Use func_execute_command.
54522         (func_create_megatestdir): Use func_execute_command.
54523
54524 2007-09-08  Bruno Haible  <bruno@clisp.org>
54525
54526         * gnulib-tool (func_import): Prefer rsync over wget when available,
54527         for fetching the PO files.
54528
54529 2007-09-08  Bruno Haible  <bruno@clisp.org>
54530
54531         * posix-modules: New file. Portions copied from gnulib-tool.
54532         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
54533
54534 2007-09-08  Jim Meyering  <jim@meyering.net>
54535
54536         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
54537         * lib/fpending.h: Rename from __fpending.h.
54538         * lib/fpending.c: Rename from __fpending.c.
54539         Include "fpending.h", not "__fpending.h".
54540         * lib/__fpending.h, lib/__fpending.c: Remove files.
54541         * modules/fpending (Files): Reflect new file names.
54542         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
54543
54544 2007-09-08  Bruno Haible  <bruno@clisp.org>
54545
54546         * m4/inttypes-h.m4: Remove stub file.
54547
54548 2007-09-07  Simon Josefsson  <simon@josefsson.org>
54549
54550         * doc/headers/stdint.texi: Discuss #include_next issue.
54551
54552 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54553
54554         * build-aux/bootstrap: Remove obsolete comment about wget --help.
54555
54556 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54557
54558         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
54559         in variable name.
54560
54561 2007-09-03  Jim Meyering  <jim@meyering.net>
54562
54563         New module: git-version-gen.
54564         * modules/git-version-gen: New file.
54565
54566         Import changes from coreutils for bootstrap script.
54567
54568         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
54569
54570         bootstrap: uses rsync to download the .po files
54571         * build-aux/bootstrap (po_download_command_format): New global.
54572         (download_po_files): Use rsync.
54573         (update_po_files): Don't remove .po files after download,
54574         so future rsync runs can take advantage of the copies.
54575
54576         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
54577
54578         Solve the unnecessary-.po-file-regeneration problem once and for all.
54579         * build-aux/bootstrap (download_po_files): New function, renamed from
54580         get_translations.  Now, downloads, but doesn't update LINGUAS.
54581         (update_po_files): New function.
54582
54583         bootstrap: Ignore more.
54584         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
54585         uniwidth to e.g., lib/.gitignore.
54586         (slurp): Handle the sys_stat_.h -> sys mapping, too.
54587
54588         * build-aux/bootstrap: New setting: vc_ignore.
54589         (insert_sorted_if_absent): Create $file if absent.
54590         Adapt to new, possibly empty, list: $vc_ignore.
54591
54592         bootstrap: generate more ignorable names
54593         * build-aux/bootstrap (slurp): When generating ignorable names,
54594         also map .sin to .sed, .gperf to .c, and .y to .c.
54595
54596 2007-09-03  Jim Meyering  <jim@meyering.net>
54597
54598         * build-aux/git-version-gen: New file, from coreutils.  For details, see
54599         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
54600
54601 2007-09-02  Bruno Haible  <bruno@clisp.org>
54602
54603         Fix mis-recognition of 'mcs' on QNX 6.
54604         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
54605         output contains the string "Mono".
54606         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
54607         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
54608
54609 2007-09-01  Bruno Haible  <bruno@clisp.org>
54610
54611         Fix collision between uniwidth/* and linebreak modules.
54612         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
54613         u32_width): Remove declarations.
54614         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
54615         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
54616         streq3, streq2, streq1, streq0): Remove functions.
54617         (STREQ): Remove macro.
54618         (is_cjk_encoding): Remove function.
54619         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
54620         (uc_width, u8_width, u16_width, u32_width): Remove functions.
54621         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
54622         * NEWS: Document the change.
54623
54624 2007-09-01  Bruno Haible  <bruno@clisp.org>
54625
54626         * lib/streq.h: Add double-inclusion guard.
54627
54628 2007-09-01  Karl Berry  <karl@gnu.org>
54629
54630         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
54631
54632 2007-08-28  Jim Meyering  <jim@meyering.net>
54633
54634         Rename mreadlink_with_size to areadlink_with_size.
54635         * NEWS: Document the change.
54636         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
54637         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
54638         * lib/mreadlink.h: Rename this to...
54639         * lib/areadlink.h: ...this.
54640         * modules/mreadlink-with-size: Rename this to...
54641         * modules/areadlink-with-size: ...this.
54642         * lib/canonicalize.c: Reflect the renaming.
54643         * modules/canonicalize: Likewise.
54644
54645 2007-08-26  Bruno Haible  <bruno@clisp.org>
54646
54647         * gnulib-tool (func_import): When deciding which files to remove,
54648         consider also dangling symbolic links.
54649         Reported by Eric Blake.
54650
54651 2007-08-26  Bruno Haible  <bruno@clisp.org>
54652
54653         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
54654
54655 2007-08-23  Simon Josefsson  <simon@josefsson.org>
54656
54657         * lib/readline.c: Don't include getline.h, the prototype is now
54658         found in stdio.h.
54659
54660 2007-08-23  Jim Meyering  <jim@meyering.net>
54661
54662         Getdelim touchup.
54663         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
54664         around the funlockfile call, since funlockfile never sets errno.
54665         Don't set errno upon failed realloc.
54666
54667 2007-08-22  Eric Blake  <ebb9@byu.net>
54668
54669         Getline touchups.
54670         * lib/getdelim.c (getdelim): Revert regression that required *n to
54671         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
54672         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
54673         getdelim, rather than whether implementation is missing.
54674         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
54675         * lib/stdio_.h (getline): Also declare if replacement is
54676         required.
54677         * doc/functions/getdelim.texi: New file.
54678         * doc/functions/getline.texi: Likewise.
54679         * doc/gnulib.texi (Function Substitutes): Add new files.
54680         Reported by Bruno Haible.
54681
54682 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
54683
54684         * users.txt: Add Guile.
54685
54686 2007-08-22  Eric Blake  <ebb9@byu.net>
54687
54688         * tests/test-getdelim.c (main): Use remove, not unlink.
54689         * tests/test-getline.c (main): Likewise.
54690
54691         Move getline and getdelim into stdio.h, per POSIX 200x.
54692         * modules/getline (Files): Remove getline.h.
54693         (Depends-on): Add stdio.
54694         (configure.ac): Add module indicator.
54695         * modules/getdelim (Files): Remove getdelim.h.
54696         (Depends-on): Add stdio.
54697         (configure.ac): Add module indicator.
54698         * modules/stdio (Makefile.am): Work with new indicators.
54699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
54700         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
54701         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
54702         * lib/getdelim.h: Delete.
54703         * lib/getline.h: Delete.
54704         * lib/stdio_.h (getdelim, getline): Declare.
54705         * modules/getdelim-tests: New module.
54706         * modules/getline-tests: Likewise.
54707         * tests/test-getdelim.c: New file.
54708         * tests/test-getline.c: Likewise.
54709         * NEWS: Document the change.
54710         * lib/getline.c: Update choice of header.
54711         * lib/csharpcomp.c: Likewise.
54712         * lib/getpass.c: Likewise.
54713         * lib/javacomp.c: Likewise.
54714         * lib/javaversion.c: Likewise.
54715         * lib/yesno.c: Likewise.
54716         * lib/getdelim.c: Likewise.
54717         (getdelim): Set errno on failure, and avoid memory leak.
54718
54719 2007-08-19  Bruno Haible  <bruno@clisp.org>
54720
54721         * modules/closein (Depends-on): Add freadahead.
54722         * lib/closein.c: Include freadahead.h.
54723         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
54724         is zero.
54725
54726 2007-08-19  Bruno Haible  <bruno@clisp.org>
54727
54728         * modules/freadahead-tests: New file.
54729         * tests/test-freadahead.sh: New file.
54730         * tests/test-freadahead.c: New file.
54731
54732         * modules/freadahead: New file.
54733         * lib/freadahead.h: New file.
54734         * lib/freadahead.c: New file.
54735         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
54736         fbufmode, fpurge, freadable, fwritable.
54737
54738 2007-08-19  Eric Blake  <ebb9@byu.net>
54739
54740         Test yesno in combination with closein.
54741         * lib/yesno.c (yesno): Document use of stdin.
54742         * modules/yesno-tests (Files): New module.
54743         * tests/test-yesno.c (main): New file.
54744         * tests/test-yesno.sh: Likewise.
54745
54746 2007-08-19  Bruno Haible  <bruno@clisp.org>
54747
54748         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
54749         * lib/fseeko.c (rpl_fseeko): Likewise.
54750         * lib/fseterr.c (fseterr): Likewise.
54751
54752 2007-08-19  Bruno Haible  <bruno@clisp.org>
54753
54754         * tests/test-lseek.c (main): Disable a test for BeOS.
54755         * doc/functions/lseek.texi: Document the BeOS bug.
54756
54757 2007-08-19  Bruno Haible  <bruno@clisp.org>
54758             Eric Blake  <ebb9@byu.net>
54759
54760         * lib/lseek.c: Include <sys/stat.h>.
54761         (rpl_lseek): Add workaround code also for Unix platforms.
54762         Needed for BeOS.
54763         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
54764         * doc/functions/lseek.texi: Document BeOS definiency.
54765
54766 2007-08-18  Bruno Haible  <bruno@clisp.org>
54767
54768         * modules/fstrcmp-tests: New file.
54769         * tests/test-fstrcmp.c: New file.
54770
54771 2007-08-18  Bruno Haible  <bruno@clisp.org>
54772
54773         * modules/fstrcmp: New file, from GNU gettext with modifications.
54774         * lib/fstrcmp.h: New file, from GNU gettext.
54775         * lib/fstrcmp.c: New file, from GNU gettext.
54776         * MODULES.html.sh (String handling): Add fstrcmp.
54777
54778 2007-08-18  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
54781         'bool'.
54782         (diag, compareseq): Remove const from the ctxt argument.
54783         (USE_HEURISTIC): Undefine at the end.
54784
54785 2007-08-18  Jim Meyering  <jim@meyering.net>
54786
54787         New file: lib/idcache.h
54788         * NEWS: Mention the addition.
54789         * modules/idcache (Files): Add lib/idcache.h
54790         * lib/idcache.c: Include "idcache.h".
54791         Don't include <sys/types.h>.
54792         Add a FIXME comment.
54793         Move file-scoped "static" declarations to the top.
54794         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
54795
54796 2007-08-17  Bruno Haible  <bruno@clisp.org>
54797         and Paul Eggert  <eggert@cs.ucla.edu>
54798
54799         * MODULES.html.sh: Add diffseq.
54800         * modules/diffseq: New file.
54801         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
54802         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
54803
54804 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54805
54806         Import changes from coreutils for bootstrap script.
54807
54808         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
54809
54810         * build-aux/bootstrap (slurp): Work even in environments where
54811         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
54812         current code does not slurp files whose names start with ".", and
54813         this looks like it might be a troublesome area.
54814
54815         2007-07-11  Jim Meyering  <jim@meyering.net>
54816
54817         If there's a GPL vN copyright comment, require that N == 3.
54818
54819         2007-07-08  Jim Meyering  <jim@meyering.net>
54820
54821         Run the coreutils-specific code only if tests/Makefile.am.in exists.
54822         * build-aux/bootstrap (mam_template): Move definition out of loop.
54823
54824         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
54825
54826         * build-aux/bootstrap (symlink_to_dir): Rename function from
54827         symlink_to_gnulib.  Add a directory parameter.  Update all
54828         callers.
54829         (cp_mark_as_generated): Also check for -- and link to -- files in
54830         gl/.
54831
54832         2007-07-08  Jim Meyering  <jim@meyering.net>
54833
54834         Adapt to deeper hierarchy in gnulib.
54835         * build-aux/bootstrap (symlink_to_dir): If the destination
54836         directory doesn't exist, create it. This is required at least for
54837         "lib/uniwidth/cjk.h".
54838
54839         2007-05-15  Jim Meyering  <jim@meyering.net>
54840
54841         * build-aux/bootstrap: Now that generated Makefile.am files
54842         are no longer under version control, they must be created at
54843         bootstrap time.
54844
54845 2007-08-14  Ben Pfaff  <blp@gnu.org>
54846
54847         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
54848
54849 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54850
54851         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
54852         given the changes below.
54853         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
54854         even on hosts that have padding bits beyond the supported 64.
54855
54856 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
54857
54858         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
54859         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
54860         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
54861         depends on it.
54862         (xstrtol_error): Remove.
54863         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
54864         but with a different signature.
54865         (ATTRIBUTE_NORETURN, __attribute__): New macros.
54866         * lib/xstrtol-error.c: Include exitfail.h.
54867         (xstrtol_fatal): New function, with a different signature from the
54868         old xstrtol_error, so that the caller need not worry about passing
54869         in an exit status, or about storage management of the option argument.
54870         (xstrtol_error): Now a static function.  Redo signature to
54871         implement xstrtol_fatal.  Output the correct number of hyphens in
54872         front of the option so that the caller need not worry about
54873         storage management.
54874         (N_): New macro.
54875         (_): Remove; not used now.
54876         * modules/xstrtol: Depend on getopt.
54877         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
54878         of old STRTOL_FATAL_ERROR macro.
54879         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
54880         of test program.
54881         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
54882         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
54883
54884 2007-08-08  Eric Blake  <ebb9@byu.net>
54885
54886         * lib/xstrtol-error.c: Add missing include.
54887
54888         Move xstrtol messages into gnulib domain, when --pobase is used.
54889         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
54890         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
54891         * modules/xstrtol (Files): Distribute new file.
54892         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
54893         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
54894         * tests/test-xstrtol.c: ...into new file.
54895         * tests/test-xstrtoul.c: Also test xstrtoul.
54896         * tests/test-xstrtoimax.c: Also test xstrtoimax.
54897         * tests/test-xstrtoumax.c: Also test xstrtoumax.
54898         * tests/test-xstrtol.sh: Drive the tests.
54899         * tests/test-xstrtoimax.sh: Likewise.
54900         * tests/test-xstrtoumax.sh: Likewise.
54901         * modules/xstrtol-tests: New module.
54902         * modules/xstrtoimax-tests: Likewise.
54903         * modules/xstrtoumax-tests: Likewise.
54904
54905 2007-08-08  Jim Meyering  <jim@meyering.net>
54906
54907         New function: mfile_name_concat.
54908         * lib/filenamecat.c (mfile_name_concat): New function, just like
54909         file_name_concat, but return NULL upon failure rather than exiting
54910         with a diagnostic.
54911         * lib/filenamecat.h: Declare it.
54912
54913 2007-08-07  Bruno Haible  <bruno@clisp.org>
54914
54915         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
54916         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
54917         warning from gcc.
54918         Reported by Eric Blake.
54919
54920 2007-08-07  Simon Josefsson  <simon@josefsson.org>
54921
54922         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
54923         * modules/crypto/arcfour (License): Likewise.
54924         * modules/crypto/des-tests (License): Likewise.
54925         * modules/crypto/gc-arctwo-tests (License): Likewise.
54926         * modules/crypto/gc-des-tests (License): Likewise.
54927         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
54928         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
54929         * modules/crypto/gc-md2-tests (License): Likewise.
54930         * modules/crypto/gc-md4-tests (License): Likewise.
54931         * modules/crypto/gc-md5-tests (License): Likewise.
54932         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
54933         * modules/crypto/gc-rijndael-tests (License): Likewise.
54934         * modules/crypto/gc-sha1-tests (License): Likewise.
54935         * modules/crypto/gc-tests (License): Likewise.
54936         * modules/crypto/hmac-md5 (License): Likewise.
54937         * modules/crypto/hmac-sha1 (License): Likewise.
54938         * modules/crypto/md2-tests (License): Likewise.
54939         * modules/crypto/md4-tests (License): Likewise.
54940         * modules/crypto/md5 (License): Likewise.
54941         * modules/crypto/rijndael (License): Likewise.
54942         * modules/crypto/sha1 (License): Likewise.
54943         * modules/memxor (License): Likewise.
54944
54945 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
54946         and Bruno Haible  <bruno@clisp.org>
54947
54948         * NEWS: Describe interface changes to human, xstrtol.
54949         * lib/human.h: Include <xstrtol.h>.
54950         (human_options): Return enum strtol_error, not int.  Remove
54951         bool arg; take int * instead.
54952         * lib/human.c: Don't include "gettext.h".
54953         (_): Remove; no longer used.
54954         Don't include <xstrtol.h>, since human.h does it.
54955         (human_options): Adjust to abovementioned interface changes.
54956         Do not report error to stderr; that's now the caller's
54957         responsibility.
54958         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
54959         interface change.
54960         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
54961         Str, Argument_type_string.  All uses changed.  Put " argument"
54962         in diagnostics to make them clearer.  Change wording of suffix
54963         message for clarity.
54964         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
54965         Argument_type_string.
54966         (STRTOL_FATAL_WARN): Remove; no longer used.
54967         * modules/human (Depends-on): Remove gettext-h.
54968
54969 2007-08-06  Simon Josefsson  <simon@josefsson.org>
54970
54971         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
54972
54973 2007-07-31  Bruno Haible  <bruno@clisp.org>
54974
54975         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
54976         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
54977         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
54978
54979 2007-07-31  Bruno Haible  <bruno@clisp.org>
54980
54981         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
54982         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
54983
54984 2007-07-30  Bruno Haible  <bruno@clisp.org>
54985
54986         * modules/base64 (License): Use the synonymous term "LGPLv2+".
54987         * modules/c-ctype (License): Likewise.
54988         * modules/c-strcase (License): Likewise.
54989         * modules/check-version (License): Likewise.
54990         * modules/iconv (License): Likewise.
54991         * modules/iconv_open (License): Likewise.
54992         * modules/read-file (License): Likewise.
54993         * modules/striconv (License): Likewise.
54994         * modules/strverscmp (License): Likewise.
54995         * modules/vasprintf (License): Likewise.
54996         * modules/crypto/des (License): Likewise.
54997         * modules/crypto/gc (License): Likewise.
54998         * modules/crypto/gc-arcfour (License): Likewise.
54999         * modules/crypto/gc-arctwo (License): Likewise.
55000         * modules/crypto/gc-des (License): Likewise.
55001         * modules/crypto/gc-hmac-md5 (License): Likewise.
55002         * modules/crypto/gc-hmac-sha1 (License): Likewise.
55003         * modules/crypto/gc-md2 (License): Likewise.
55004         * modules/crypto/gc-md4 (License): Likewise.
55005         * modules/crypto/gc-md5 (License): Likewise.
55006         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
55007         * modules/crypto/gc-random (License): Likewise.
55008         * modules/crypto/gc-rijndael (License): Likewise.
55009         * modules/crypto/gc-sha1 (License): Likewise.
55010         * modules/crypto/md2 (License): Likewise.
55011         * modules/crypto/md4 (License): Likewise.
55012
55013 2007-07-30  Jim Meyering  <jim@meyering.net>
55014
55015         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
55016         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
55017         it has valid stat data.  This bug would cause du not to count the
55018         sizes of inaccessible directories.
55019         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
55020         in <http://bugzilla.redhat.com/250077>.
55021
55022 2007-07-25  Peter O'Gorman  <peter@pogma.com>
55023             Bruno Haible  <bruno@clisp.org>
55024
55025         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
55026         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
55027         #include_next, gives a diagnostic about it, but reports no error in
55028         the exit code.
55029         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
55030
55031 2007-07-24  Ben Pfaff  <blp@gnu.org>
55032
55033         Improve name: "count-one-bits" is better than "popcount".
55034         * MODULES.html.sh: Update name.
55035         * lib/popcount.h: Renamed lib/count-one-bits.h.
55036         (popcount): Renamed count_one_bits.
55037         (popcountl): Renamed count_one_bits_l.
55038         (popcountll): Renamed count_one_bits_ll.
55039         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
55040         * modules/popcount: Renamed module/count-one-bits.
55041         * modules/popcount-tests: Renamed module/count-one-bits-tests.
55042         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
55043
55044 2007-07-23  Ben Pfaff  <blp@gnu.org>
55045
55046         * lib/popcount.h (popcount32): Reduce size of constants, to allow
55047         better code generation, and add U to large constants to avoid
55048         warnings, in non-GCC case.
55049         Suggested by Bruno Haible.
55050
55051 2007-07-23  Ben Pfaff  <blp@gnu.org>
55052
55053         * lib/popcount.h: Use verify_true instead of if...abort.
55054         * modules/popcount: Depend on verify module.
55055         Suggested by Jim Meyering.
55056
55057 2007-07-23  Bruno Haible  <bruno@clisp.org>
55058
55059         * gnulib-tool (func_import): Create a .cvsignore file also when the
55060         directory is not yet in CVS but the toplevel directory is. When
55061         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
55062         Reported by Karl Berry.
55063
55064 2007-07-22  Ben Pfaff  <blp@gnu.org>
55065
55066         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
55067         case.
55068         Suggested by Eric Blake.
55069
55070 2007-07-22  Ben Pfaff  <blp@gnu.org>
55071
55072         New module: popcount.
55073         * MODULES.html.sh: Add popcount.
55074         * modules/popcount: New file.
55075         * modules/popcount-tests: New file.
55076         * tests/test-popcount.c: New file.
55077         * lib/popcount.h: New file.
55078         * m4/popcount.m4: New file.
55079
55080 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55081
55082         * build-aux/announce-gen: Update to GPLv3.
55083
55084         * build-aux/config.guess: Update from config.
55085
55086 2007-07-21  Bruno Haible  <bruno@clisp.org>
55087
55088         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
55089         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
55090
55091 2007-07-20  Jim Meyering  <jim@meyering.net>
55092
55093         * check-module: Diagnose a self-dependency.
55094
55095 2007-07-19  Bruno Haible  <bruno@clisp.org>
55096
55097         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
55098         empty.
55099         Reported by Eric Blake.
55100
55101 2007-07-18  Bruno Haible  <bruno@clisp.org>
55102
55103         * gnulib-tool: New options --po-base, --po-domain.
55104         (func_usage): Document them.
55105         (pobase, po_domain): New variables.
55106         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
55107         DEFAULT_TEXT_DOMAIN.
55108         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
55109         (func_import): Consider pobase and po_domain. Create a po/ directory.
55110         (func_create_testdir): Set pobase and po_domain to empty.
55111         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
55112         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
55113
55114 2007-07-18  Bruno Haible  <bruno@clisp.org>
55115
55116         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55117         EXTRA_DIST augmentation for files in build-aux/.
55118
55119 2007-07-16  Bruno Haible  <bruno@clisp.org>
55120
55121         * modules/lseek (License): Use the synonymous term "LGPLv2+".
55122         * modules/getdelim (License): Likewise.
55123
55124 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55125
55126         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
55127         * modules/d-type (License): Likewise.
55128         * modules/extensions (License): Likewise.
55129         * modules/fnmatch (License): Likewise.
55130         * modules/fseeko (License): Likewise.
55131         * modules/getaddrinfo (License): Likewise.
55132         * modules/getline (License): Likewise.
55133         * modules/getlogin_r (License): Likewise.
55134         * modules/getpass (License): Likewise.
55135         * modules/gettimeofday (License): Likewise.
55136         * modules/glob (License): Likewise.
55137         * modules/inet_ntop (License): Likewise.
55138         * modules/malloc (License): Likewise.
55139         * modules/malloca (License): Likewise.
55140         * modules/memmem (License): Likewise.
55141         * modules/mempcpy (License): Likewise.
55142         * modules/memset (License): Likewise.
55143         * modules/minmax (License): Likewise.
55144         * modules/mktime (License): Likewise.
55145         * modules/netinet_in (License): Likewise.
55146         * modules/pathmax (License): Likewise.
55147         * modules/poll (License): Likewise.
55148         * modules/regex (License): Likewise.
55149         * modules/snprintf (License): Likewise.
55150         * modules/stdbool (License): Likewise.
55151         * modules/stdint (License): Likewise.
55152         * modules/stdio (License): Likewise.
55153         * modules/strcase (License): Likewise.
55154         * modules/strcasestr (License): Likewise.
55155         * modules/strdup (License): Likewise.
55156         * modules/string (License): Likewise.
55157         * modules/strndup (License): Likewise.
55158         * modules/strnlen (License): Likewise.
55159         * modules/strpbrk (License): Likewise.
55160         * modules/strptime (License): Likewise.
55161         * modules/strsep (License): Likewise.
55162         * modules/sys_select (License): Likewise.
55163         * modules/sys_socket (License): Likewise.
55164         * modules/sys_stat (License): Likewise.
55165         * modules/sys_time (License): Likewise.
55166         * modules/time (License): Likewise.
55167         * modules/time_r (License): Likewise.
55168         * modules/timegm (License): Likewise.
55169         * modules/unistd (License): Likewise.
55170         * modules/vsnprintf (License): Likewise.
55171         * modules/wctype (License): Likewise.
55172
55173 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55174
55175         * modules/argz (License): LGPLv2+.
55176
55177 2007-07-15  Karl Berry  <karl@gnu.org>
55178
55179         * doc/gnulib.texi: revise node structure per new fdl.texi.
55180
55181 2007-07-14  Bruno Haible  <bruno@clisp.org>
55182
55183         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
55184         the output file.
55185         * lib/uniname/uninames.h: Regenerated.
55186
55187 2007-07-14  Karl Berry  <karl@gnu.org>
55188
55189         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
55190         omitting sectioning and index commands.
55191
55192 2007-07-13  Bruno Haible  <bruno@clisp.org>
55193
55194         New gnulib-tool option --more-symlinks.
55195         * gnulib-tool (func_usage): Document --more-symlinks.
55196         (do_copyrights): New variable.
55197         Recognize option --more-symlinks.
55198         (func_import): Don't add a copyright notice transform to
55199         sed_transform_lib_file if do_copyrights is empty.
55200
55201 2007-07-13  Bruno Haible  <bruno@clisp.org>
55202
55203         * lib/vasnprintf.c (decimal_point_char): Define also if
55204         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
55205         && !NEED_PRINTF_DIRECTIVE_A.
55206         Reported by Clemens Koller <clemens.koller@anagramm.de> via
55207         Gary V. Vaughan <gary@gnu.org>.
55208
55209 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
55210
55211         * lib/inttypes_.h: Undo previous change, since it was fixed
55212         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
55213
55214 2007-07-13  Bruno Haible  <bruno@clisp.org>
55215
55216         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
55217         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
55218
55219 2007-07-13  Jim Meyering  <jim@meyering.net>
55220
55221         df: Don't fail for Tru64's "file-on-file mount".
55222         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
55223         so we fall through and use statfs instead.  Details here:
55224         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
55225         Reported by Albert Chin.
55226
55227 2007-07-13  Bruno Haible  <bruno@clisp.org>
55228
55229         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
55230         * modules/configmake (License): Likewise.
55231         * modules/gettext (License): Likewise.
55232         * modules/gettext-h (License): Likewise.
55233         * modules/include_next (License): Likewise.
55234         * modules/link-warning (License): Likewise.
55235         * modules/localcharset (License): Likewise.
55236         * modules/localename (License): Likewise.
55237         * modules/lock (License): Likewise.
55238         * modules/relocatable-lib-lgpl (License): Likewise.
55239         * modules/size_max (License): Likewise.
55240         * modules/vasnprintf (License): Likewise.
55241         * modules/wchar (License): Likewise.
55242         * modules/xsize (License): Likewise.
55243
55244 2007-07-13  Bruno Haible  <bruno@clisp.org>
55245
55246         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
55247         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
55248
55249 2007-07-12  Bruno Haible  <bruno@clisp.org>
55250
55251         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
55252         in the modules files.
55253
55254 2007-07-11  Karl Berry  <karl@gnu.org>
55255
55256         * MODULES.html.sh (func_module): use
55257          sed -e '\|^'"${includefile}"'$|d'
55258          instead of /.../d, to avoid errors on $includefile's containing /.
55259
55260 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
55261
55262         * gnulib-tool (func_import): Avoid duplication of --avoid
55263         statements
55264         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
55265         names to `_' in variable names.
55266
55267 2007-07-10  Eric Blake  <ebb9@byu.net>
55268
55269         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
55270         * NEWS: Document this change.
55271
55272 2007-07-08  Bruno Haible  <bruno@clisp.org>
55273
55274         Update to Unicode 5.0.
55275         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
55276         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
55277         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
55278         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
55279         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
55280         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
55281         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
55282         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
55283         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
55284         U+10A3F, U+1D242..U+1D244.
55285         (nonspacing_table_ind): Update.
55286         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
55287         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
55288
55289 2007-07-08  Bruno Haible  <bruno@clisp.org>
55290
55291         Update to Unicode 5.0.
55292         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
55293         code transform. Extend the name index field of unicode_name_to_code and
55294         unicode_code_to_name from 16 to 24 bits.
55295         * lib/uniname/uniname.c (unicode_character_name,
55296         unicode_name_character): Add the range 0x12xxx to the code transform.
55297         * lib/uniname/uninames.h: Regenerated.
55298         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
55299
55300 2007-07-07  Bruno Haible  <bruno@clisp.org>
55301
55302         * modules/wcwidth-tests: New file.
55303         * tests/test-wcwidth.c: New file.
55304
55305         Work around MacOS X wcwidth() bug.
55306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
55307         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
55308         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
55309         original wcwidth in non-UTF-8 locales.
55310         * modules/wcwidth (Depends-on): Add localcharset, streq,
55311         uniwidth/width.
55312         * doc/functions/wcwidth.texi: Update.
55313
55314 2007-07-07  Bruno Haible  <bruno@clisp.org>
55315
55316         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
55317         (wcwidth): New declaration.
55318         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
55319         macros.
55320         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
55321         here. Prepare for creating <wchar.h> unconditionally.
55322         * modules/wchar (Depends-on): Add link-warning.
55323         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
55324         REPLACE_WCWIDTH, and GL_LINK_WARNING.
55325         * lib/wcwidth.h: Remove file.
55326         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
55327         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
55328         * modules/wcwidth (Files): Remove lib/wcwidth.h.
55329         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
55330         (Include): Replace wcwidth.h with <wchar.h>.
55331         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
55332         * lib/mbchar.h: Don't include wcwidth.h.
55333         * lib/mbswidth.c: Likewise.
55334         * NEWS: Mention the change.
55335
55336 2007-07-07  Bruno Haible  <bruno@clisp.org>
55337
55338         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
55339         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
55340         definition with an external declaration.
55341         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
55342         defined as a function. Remove AC_C_INLINE requirement.
55343         * modules/wcwidth (Files): Add lib/wcwidth.c.
55344         (Makefile.am): Remove redundant statement.
55345
55346 2007-07-07  Bruno Haible  <bruno@clisp.org>
55347
55348         * MODULES.html.sh (Unicode string functions): Add the new modules.
55349
55350         * tests/uniwidth/test-u32-strwidth.c: New file.
55351         * modules/uniwidth/u32-strwidth-tests: New file.
55352
55353         * lib/uniwidth/u32-strwidth.c: New file.
55354         * modules/uniwidth/u32-strwidth: New file.
55355
55356         * tests/uniwidth/test-u16-strwidth.c: New file.
55357         * modules/uniwidth/u16-strwidth-tests: New file.
55358
55359         * lib/uniwidth/u16-strwidth.c: New file.
55360         * modules/uniwidth/u16-strwidth: New file.
55361
55362         * tests/uniwidth/test-u8-strwidth.c: New file.
55363         * modules/uniwidth/u8-strwidth-tests: New file.
55364
55365         * lib/uniwidth/u8-strwidth.c: New file.
55366         * modules/uniwidth/u8-strwidth: New file.
55367
55368         * tests/uniwidth/test-u32-width.c: New file.
55369         * modules/uniwidth/u32-width-tests: New file.
55370
55371         * lib/uniwidth/u32-width.c: New file.
55372         * modules/uniwidth/u32-width: New file.
55373
55374         * tests/uniwidth/test-u16-width.c: New file.
55375         * modules/uniwidth/u16-width-tests: New file.
55376
55377         * lib/uniwidth/u16-width.c: New file.
55378         * modules/uniwidth/u16-width: New file.
55379
55380         * tests/uniwidth/test-u8-width.c: New file.
55381         * modules/uniwidth/u8-width-tests: New file.
55382
55383         * lib/uniwidth/u8-width.c: New file.
55384         * modules/uniwidth/u8-width: New file.
55385
55386         * tests/uniwidth/test-uc_width.c: New file.
55387         * modules/uniwidth/width-tests: New file.
55388
55389         * lib/uniwidth/width.c: New file, from GNU libiconv.
55390         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
55391         * modules/uniwidth/width: New file.
55392
55393         * lib/uniwidth.h: New file, from GNU libiconv.
55394         * modules/uniwidth/base: New file.
55395
55396 2007-07-07  Bruno Haible  <bruno@clisp.org>
55397
55398         * lib/uniname.h: New file, from GNU gettext.
55399         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
55400         * lib/uniname/uninames.h: New file, from GNU gettext.
55401         * lib/uniname/uniname.c: New file, from GNU gettext.
55402         * tests/uniname/test-uninames.sh: New file.
55403         * tests/uniname/test-uninames.c: New file, from GNU gettext.
55404         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
55405         * modules/uniname/base: New file.
55406         * modules/uniname/uniname: New file.
55407         * modules/uniname/uniname-tests: New file.
55408         * MODULES.html.sh (Unicode string functions): Add the new modules.
55409
55410 2007-07-06  Bruno Haible  <bruno@clisp.org>
55411
55412         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
55413
55414 2007-07-06  Bruno Haible  <bruno@clisp.org>
55415
55416         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
55417         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
55418         includes <cygwin/sys_time.h> which includes <sys/select.h> which
55419         include <sys/time.h>.
55420         Reported by Eric Blake.
55421
55422 2007-07-06  Eric Blake  <ebb9@byu.net>
55423
55424         Fix testing canonicalize on cygwin.
55425         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
55426         Revert patch from 2007-06-19.
55427         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
55428         canonicalize module is also in use.
55429         * tests/test-canonicalize.c: New file.
55430         * tests/test-canonicalize.sh: Likewise.
55431         * modules/canonicalize-tests: Likewise.
55432
55433 2007-07-06  Jim Meyering  <jim@meyering.net>
55434
55435         * lib/getugroups.c (getugroups): Detect getgrent failure.
55436         Adjust comment to reflect reality: this function may return -1.
55437
55438 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55439
55440         * build-aux/bootstrap (TP_URL,get_translations): Update to use
55441         the new TP address.
55442         (usage): Fix typo
55443         (gnulib_mk): New variable.
55444
55445 2007-07-05  Jim Meyering  <jim@meyering.net>
55446
55447         Don't let endgrent clobber errno, no matter how improbable.
55448         * lib/getugroups.c (getugroups): Save and restore errno around
55449         endgrent call.
55450
55451         Close the group DB even when failing with 2^31 or more members.
55452         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
55453
55454 2007-07-04  Jim Meyering  <jim@meyering.net>
55455
55456         * lib/getugroups.h: New file.
55457         * lib/getugroups.c: Include "getugroups.h".
55458         Remove uses of "register" keyword.
55459         Move local variable, "cp", down into scope where used.
55460         Give "username" parameter the "const" attribute.
55461         * modules/getugroups (Files): Add lib/getugroups.h
55462
55463 2007-07-04  Karl Berry  <karl@gnu.org>
55464
55465         * MODULES.html.sh (func_all_modules): Complete rename of
55466         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
55467
55468 2007-07-02  Bruno Haible  <bruno@clisp.org>
55469
55470         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
55471         mode, when inttypes.h comes from gnulib.
55472         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55473
55474 2007-07-02  Simon Josefsson  <simon@josefsson.org>
55475
55476         * NEWS: Mention lgpl module name change.
55477
55478         * modules/lgpl-2.1: Renamed from lgpl.
55479
55480         * NEWS: Mention gpl module name change.
55481
55482         * modules/gpl-3.0: New file, based on gpl-2.0.
55483
55484         * modules/gpl-2.0: Renamed from gpl.
55485
55486         * modules/gpl: Fix filename, doc/gpl.texi is now found at
55487         doc/gpl-2.0.texi.
55488
55489 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
55490
55491         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
55492         #define __STDC_LIMIT_MACROS temporarily while including
55493         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
55494         Problem reported by Joel E. Denny in
55495         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
55496
55497 2007-07-01  Bruno Haible  <bruno@clisp.org>
55498
55499         * lib/unistdio.h: New file.
55500         * lib/unistdio/u-asnprintf.h: New file.
55501         * lib/unistdio/u-asprintf.h: New file.
55502         * lib/unistdio/u-printf-args.c: New file.
55503         * lib/unistdio/u-printf-args.h: New file.
55504         * lib/unistdio/u-printf-parse.h: New file.
55505         * lib/unistdio/u-snprintf.h: New file.
55506         * lib/unistdio/u-sprintf.h: New file.
55507         * lib/unistdio/u-vasprintf.h: New file.
55508         * lib/unistdio/u-vsnprintf.h: New file.
55509         * lib/unistdio/u-vsprintf.h: New file.
55510         * lib/unistdio/ulc-asnprintf.c: New file.
55511         * lib/unistdio/ulc-asprintf.c: New file.
55512         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
55513         * lib/unistdio/ulc-printf-parse.c: New file.
55514         * lib/unistdio/ulc-snprintf.c: New file.
55515         * lib/unistdio/ulc-sprintf.c: New file.
55516         * lib/unistdio/ulc-vasnprintf.c: New file.
55517         * lib/unistdio/ulc-vasprintf.c: New file.
55518         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
55519         * lib/unistdio/ulc-vsnprintf.c: New file.
55520         * lib/unistdio/ulc-vsprintf.c: New file.
55521         * lib/unistdio/u8-asnprintf.c: New file.
55522         * lib/unistdio/u8-asprintf.c: New file.
55523         * lib/unistdio/u8-printf-parse.c: New file.
55524         * lib/unistdio/u8-snprintf.c: New file.
55525         * lib/unistdio/u8-sprintf.c: New file.
55526         * lib/unistdio/u8-vasnprintf.c: New file.
55527         * lib/unistdio/u8-vasprintf.c: New file.
55528         * lib/unistdio/u8-vsnprintf.c: New file.
55529         * lib/unistdio/u8-vsprintf.c: New file.
55530         * lib/unistdio/u8-u8-asnprintf.c: New file.
55531         * lib/unistdio/u8-u8-asprintf.c: New file.
55532         * lib/unistdio/u8-u8-snprintf.c: New file.
55533         * lib/unistdio/u8-u8-sprintf.c: New file.
55534         * lib/unistdio/u8-u8-vasnprintf.c: New file.
55535         * lib/unistdio/u8-u8-vasprintf.c: New file.
55536         * lib/unistdio/u8-u8-vsnprintf.c: New file.
55537         * lib/unistdio/u8-u8-vsprintf.c: New file.
55538         * lib/unistdio/u16-asnprintf.c: New file.
55539         * lib/unistdio/u16-asprintf.c: New file.
55540         * lib/unistdio/u16-printf-parse.c: New file.
55541         * lib/unistdio/u16-snprintf.c: New file.
55542         * lib/unistdio/u16-sprintf.c: New file.
55543         * lib/unistdio/u16-vasnprintf.c: New file.
55544         * lib/unistdio/u16-vasprintf.c: New file.
55545         * lib/unistdio/u16-vsnprintf.c: New file.
55546         * lib/unistdio/u16-vsprintf.c: New file.
55547         * lib/unistdio/u16-u16-asnprintf.c: New file.
55548         * lib/unistdio/u16-u16-asprintf.c: New file.
55549         * lib/unistdio/u16-u16-snprintf.c: New file.
55550         * lib/unistdio/u16-u16-sprintf.c: New file.
55551         * lib/unistdio/u16-u16-vasnprintf.c: New file.
55552         * lib/unistdio/u16-u16-vasprintf.c: New file.
55553         * lib/unistdio/u16-u16-vsnprintf.c: New file.
55554         * lib/unistdio/u16-u16-vsprintf.c: New file.
55555         * lib/unistdio/u32-asnprintf.c: New file.
55556         * lib/unistdio/u32-asprintf.c: New file.
55557         * lib/unistdio/u32-printf-parse.c: New file.
55558         * lib/unistdio/u32-snprintf.c: New file.
55559         * lib/unistdio/u32-sprintf.c: New file.
55560         * lib/unistdio/u32-vasnprintf.c: New file.
55561         * lib/unistdio/u32-vasprintf.c: New file.
55562         * lib/unistdio/u32-vsnprintf.c: New file.
55563         * lib/unistdio/u32-vsprintf.c: New file.
55564         * lib/unistdio/u32-u32-asnprintf.c: New file.
55565         * lib/unistdio/u32-u32-asprintf.c: New file.
55566         * lib/unistdio/u32-u32-snprintf.c: New file.
55567         * lib/unistdio/u32-u32-sprintf.c: New file.
55568         * lib/unistdio/u32-u32-vasnprintf.c: New file.
55569         * lib/unistdio/u32-u32-vasprintf.c: New file.
55570         * lib/unistdio/u32-u32-vsnprintf.c: New file.
55571         * lib/unistdio/u32-u32-vsprintf.c: New file.
55572         * tests/unistdio/test-ulc-asnprintf1.c: New file.
55573         * tests/unistdio/test-ulc-asnprintf1.h: New file.
55574         * tests/unistdio/test-ulc-printf1.h: New file.
55575         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
55576         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
55577         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
55578         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
55579         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
55580         * tests/unistdio/test-ulc-vasprintf1.c: New file.
55581         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
55582         * tests/unistdio/test-ulc-vsprintf1.c: New file.
55583         * tests/unistdio/test-u8-asnprintf1.c: New file.
55584         * tests/unistdio/test-u8-asnprintf1.h: New file.
55585         * tests/unistdio/test-u8-printf1.h: New file.
55586         * tests/unistdio/test-u8-vasnprintf1.c: New file.
55587         * tests/unistdio/test-u8-vasnprintf2.c: New file.
55588         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
55589         * tests/unistdio/test-u8-vasnprintf3.c: New file.
55590         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
55591         * tests/unistdio/test-u8-vasprintf1.c: New file.
55592         * tests/unistdio/test-u8-vsnprintf1.c: New file.
55593         * tests/unistdio/test-u8-vsprintf1.c: New file.
55594         * tests/unistdio/test-u16-asnprintf1.c: New file.
55595         * tests/unistdio/test-u16-asnprintf1.h: New file.
55596         * tests/unistdio/test-u16-printf1.h: New file.
55597         * tests/unistdio/test-u16-vasnprintf1.c: New file.
55598         * tests/unistdio/test-u16-vasnprintf2.c: New file.
55599         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
55600         * tests/unistdio/test-u16-vasnprintf3.c: New file.
55601         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
55602         * tests/unistdio/test-u16-vasprintf1.c: New file.
55603         * tests/unistdio/test-u16-vsnprintf1.c: New file.
55604         * tests/unistdio/test-u16-vsprintf1.c: New file.
55605         * tests/unistdio/test-u32-asnprintf1.c: New file.
55606         * tests/unistdio/test-u32-asnprintf1.h: New file.
55607         * tests/unistdio/test-u32-printf1.h: New file.
55608         * tests/unistdio/test-u32-vasnprintf1.c: New file.
55609         * tests/unistdio/test-u32-vasnprintf2.c: New file.
55610         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
55611         * tests/unistdio/test-u32-vasnprintf3.c: New file.
55612         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
55613         * tests/unistdio/test-u32-vasprintf1.c: New file.
55614         * tests/unistdio/test-u32-vsnprintf1.c: New file.
55615         * tests/unistdio/test-u32-vsprintf1.c: New file.
55616         * modules/unistdio/base: New file.
55617         * modules/unistdio/u-printf-args: New file.
55618         * modules/unistdio/ulc-asnprintf: New file.
55619         * modules/unistdio/ulc-asprintf: New file.
55620         * modules/unistdio/ulc-fprintf: New file.
55621         * modules/unistdio/ulc-printf-parse: New file.
55622         * modules/unistdio/ulc-snprintf: New file.
55623         * modules/unistdio/ulc-sprintf: New file.
55624         * modules/unistdio/ulc-vasnprintf: New file.
55625         * modules/unistdio/ulc-vasprintf: New file.
55626         * modules/unistdio/ulc-vfprintf: New file.
55627         * modules/unistdio/ulc-vsnprintf: New file.
55628         * modules/unistdio/ulc-vsprintf: New file.
55629         * modules/unistdio/u8-asnprintf: New file.
55630         * modules/unistdio/u8-asprintf: New file.
55631         * modules/unistdio/u8-printf-parse: New file.
55632         * modules/unistdio/u8-snprintf: New file.
55633         * modules/unistdio/u8-sprintf: New file.
55634         * modules/unistdio/u8-vasnprintf: New file.
55635         * modules/unistdio/u8-vasprintf: New file.
55636         * modules/unistdio/u8-vsnprintf: New file.
55637         * modules/unistdio/u8-vsprintf: New file.
55638         * modules/unistdio/u8-u8-asnprintf: New file.
55639         * modules/unistdio/u8-u8-asprintf: New file.
55640         * modules/unistdio/u8-u8-snprintf: New file.
55641         * modules/unistdio/u8-u8-sprintf: New file.
55642         * modules/unistdio/u8-u8-vasnprintf: New file.
55643         * modules/unistdio/u8-u8-vasprintf: New file.
55644         * modules/unistdio/u8-u8-vsnprintf: New file.
55645         * modules/unistdio/u8-u8-vsprintf: New file.
55646         * modules/unistdio/u16-asnprintf: New file.
55647         * modules/unistdio/u16-asprintf: New file.
55648         * modules/unistdio/u16-printf-parse: New file.
55649         * modules/unistdio/u16-snprintf: New file.
55650         * modules/unistdio/u16-sprintf: New file.
55651         * modules/unistdio/u16-vasnprintf: New file.
55652         * modules/unistdio/u16-vasprintf: New file.
55653         * modules/unistdio/u16-vsnprintf: New file.
55654         * modules/unistdio/u16-vsprintf: New file.
55655         * modules/unistdio/u16-u16-asnprintf: New file.
55656         * modules/unistdio/u16-u16-asprintf: New file.
55657         * modules/unistdio/u16-u16-snprintf: New file.
55658         * modules/unistdio/u16-u16-sprintf: New file.
55659         * modules/unistdio/u16-u16-vasnprintf: New file.
55660         * modules/unistdio/u16-u16-vasprintf: New file.
55661         * modules/unistdio/u16-u16-vsnprintf: New file.
55662         * modules/unistdio/u16-u16-vsprintf: New file.
55663         * modules/unistdio/u32-asnprintf: New file.
55664         * modules/unistdio/u32-asprintf: New file.
55665         * modules/unistdio/u32-printf-parse: New file.
55666         * modules/unistdio/u32-snprintf: New file.
55667         * modules/unistdio/u32-sprintf: New file.
55668         * modules/unistdio/u32-vasnprintf: New file.
55669         * modules/unistdio/u32-vasprintf: New file.
55670         * modules/unistdio/u32-vsnprintf: New file.
55671         * modules/unistdio/u32-vsprintf: New file.
55672         * modules/unistdio/u32-u32-asnprintf: New file.
55673         * modules/unistdio/u32-u32-asprintf: New file.
55674         * modules/unistdio/u32-u32-snprintf: New file.
55675         * modules/unistdio/u32-u32-sprintf: New file.
55676         * modules/unistdio/u32-u32-vasnprintf: New file.
55677         * modules/unistdio/u32-u32-vasprintf: New file.
55678         * modules/unistdio/u32-u32-vsnprintf: New file.
55679         * modules/unistdio/u32-u32-vsprintf: New file.
55680         * modules/unistdio/ulc-asnprintf-tests: New file.
55681         * modules/unistdio/ulc-vasnprintf-tests: New file.
55682         * modules/unistdio/ulc-vasprintf-tests: New file.
55683         * modules/unistdio/ulc-vsnprintf-tests: New file.
55684         * modules/unistdio/ulc-vsprintf-tests: New file.
55685         * modules/unistdio/u8-asnprintf-tests: New file.
55686         * modules/unistdio/u8-vasnprintf-tests: New file.
55687         * modules/unistdio/u8-vasprintf-tests: New file.
55688         * modules/unistdio/u8-vsnprintf-tests: New file.
55689         * modules/unistdio/u8-vsprintf-tests: New file.
55690         * modules/unistdio/u16-asnprintf-tests: New file.
55691         * modules/unistdio/u16-vasnprintf-tests: New file.
55692         * modules/unistdio/u16-vasprintf-tests: New file.
55693         * modules/unistdio/u16-vsnprintf-tests: New file.
55694         * modules/unistdio/u16-vsprintf-tests: New file.
55695         * modules/unistdio/u32-asnprintf-tests: New file.
55696         * modules/unistdio/u32-vasnprintf-tests: New file.
55697         * modules/unistdio/u32-vasprintf-tests: New file.
55698         * modules/unistdio/u32-vsnprintf-tests: New file.
55699         * modules/unistdio/u32-vsprintf-tests: New file.
55700         * MODULES.html.sh (Unicode string functions): Add the new modules.
55701
55702 2007-07-01  Bruno Haible  <bruno@clisp.org>
55703
55704         * lib/sprintf.c (sprintf): Limit the available length estimation,
55705         to avoid address wraparound.
55706         * lib/vsprintf.c (vsprintf): Likewise.
55707         * modules/sprintf-posix (Dependencies): Add stdint.
55708         * modules/vsprintf-posix (Dependencies): Likewise.
55709
55710 2007-07-01  Bruno Haible  <bruno@clisp.org>
55711
55712         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
55713         Windows PATH as well. Conservative double-quoting. Comments.
55714
55715 2007-07-01  Bruno Haible  <bruno@clisp.org>
55716             Eric Blake  <ebb9@byu.net>
55717             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55718
55719         * gnulib-tool (self_abspathname): Fix algorithm to cope with
55720         empty components in $PATH, denoting '.'.
55721
55722 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55723
55724         * gnulib-tool: Fix indentation.
55725         (func_create_megatestdir): Likewise.
55726         Report by Bruno Haible.
55727
55728 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55729
55730         Sync from Automake.
55731         * build-aux/gnupload: Fix shell portability issues with for loops.
55732         Report by Karl Berry.
55733
55734 2007-06-29  Simon Josefsson  <simon@josefsson.org>
55735
55736         * build-aux/maint.mk (POURL): Use translationproject.org.
55737
55738 2007-06-27  Simon Josefsson  <simon@josefsson.org>
55739             Bruno Haible  <bruno@clisp.org>
55740
55741         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
55742         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
55743         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
55744         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
55745         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
55746
55747 2007-06-27  Bruno Haible  <bruno@clisp.org>
55748
55749         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
55750         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
55751
55752 2007-06-26  Karl Berry  <karl@gnu.org>
55753
55754         * MODULES.html.sh: remove xreadlink-with-size.
55755
55756 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55757
55758         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
55759         method that I hope also handles the double-include problem noted
55760         by Bruno Haible in
55761         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
55762
55763 2007-06-23  Bruno Haible  <bruno@clisp.org>
55764
55765         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55766         Don't let the 'mostlyclean' target fail if the last subdirectory could
55767         not be removed.
55768         Reported by Karl Berry.
55769
55770 2007-06-23  Bruno Haible  <bruno@clisp.org>
55771
55772         * gnulib-tool (echo): Add a speedier workaround for ksh.
55773         * tests/test-echo.sh: Likewise.
55774
55775 2007-06-23  Bruno Haible  <bruno@clisp.org>
55776
55777         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
55778         * tests/test-echo.sh: Likewise.
55779
55780 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55781
55782         * gnulib-tool (IFS): Initialize early, so we don't set it to
55783         empty later.
55784         (self_abspathname): Rewrite algorithm to set it, reindent.
55785         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
55786         (func_create_megatestdir): Merge some sed scripts.
55787
55788 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55789
55790         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
55791         exposed by Sun Studio 11 cc on Solaris 8.
55792
55793 2007-06-22  Bruno Haible  <bruno@clisp.org>
55794
55795         * gnulib-tool (echo): Ensure the echo primitive does not interpret
55796         backslashes.
55797         * tests/test-echo.sh: New file.
55798
55799 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55800
55801         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
55802         simplify `sed_replace_build_aux' scripts, they are portable but
55803         echoing them with `echo' is not.
55804         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
55805
55806 2007-06-21  Karl Berry  <karl@gnu.org>
55807
55808         * config/srclist.txt: guess we can't handle the licenses via
55809         srclist at the moment.
55810
55811 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
55812
55813         * MODULES.html.sh: Add include_next.
55814         * modules/include_next: New file.
55815
55816 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
55817
55818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
55819         INCLUDE_NEXT.
55820         (gl_CHECK_NEXT_HEADERS): New macro.
55821         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
55822         the obsolescent gl_ABSOLUTE_HEADER.
55823         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
55824         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
55825         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
55826         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55827         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
55828         * m4/math_h.m4 (gl_MATH_H): Likewise.
55829         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
55830         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55831         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
55832         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55833         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
55834         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
55835         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
55836         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55837         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55838         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
55839         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
55840         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
55841         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
55842         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
55843         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
55844         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55845         * m4/inttypes.m4 (gl_INTTYPES_H): Define
55846         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
55847         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
55848         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
55849         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
55850         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
55851         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
55852         * lib/float_.h: Likewise.
55853         * lib/inttypes_.h: Likewise.
55854         * lib/math_.h: Likewise.
55855         * lib/search_.h: Likewise.
55856         * lib/signal_.h: Likewise.
55857         * lib/stdint_.h: Likewise.
55858         * lib/stdio_.h: Likewise.
55859         * lib/stdlib_.h: Likewise.
55860         * lib/string_.h: Likewise.
55861         * lib/sys_stat_.h: Likewise.
55862         * lib/sys_time_.h: Likewise.
55863         * lib/time_.h: Likewise.
55864         * lib/unistd_.h: Likewise.
55865         * lib/wchar_.h: Likewise.
55866         * lib/wctype_.h: Likewise.
55867         * lib/dirent_.h: Likewise.
55868         * lib/iconv_.h: Likewise.
55869         * lib/locale_.h: Likewise.
55870         * lib/netinet_in_.h: Likewise.
55871         * lib/sys_select_.h: Likewise.
55872         * lib/sys_socket_.h: Likewise.
55873         * lib/sysexits_.h: Likewise.
55874         * modules/fcntl (Depends-on): Depend on include_next, not
55875         absolute_header.
55876         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
55877         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
55878         * modules/fchdir: Likewise.
55879         * modules/float: Likewise.
55880         * modules/iconv_open: Likewise.
55881         * modules/inttypes: Likewise.
55882         * modules/locale: Likewise.
55883         * modules/math: Likewise.
55884         * modules/netinet_in: Likewise.
55885         * modules/search: Likewise.
55886         * modules/signal: Likewise.
55887         * modules/stdint: Likewise.
55888         * modules/stdio: Likewise.
55889         * modules/stdlib: Likewise.
55890         * modules/string: Likewise.
55891         * modules/sys_select: Likewise.
55892         * modules/sys_socket: Likewise.
55893         * modules/sys_stat: Likewise.
55894         * modules/sys_time: Likewise.
55895         * modules/sysexits: Likewise.
55896         * modules/time: Likewise.
55897         * modules/unistd: Likewise.
55898         * modules/wchar: Likewise.
55899         * modules/wctype: Likewise.
55900         * modules/sys_stat: Change maintainer to "all".
55901         * modules/unistd: Likewise.
55902
55903 2007-06-20  Karl Berry  <karl@gnu.org>
55904
55905         * config/srclist.txt: track www changes in license files.
55906
55907 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
55908
55909         * build-aux/bootstrap: Remove stray dot.
55910         Make sure build_aux settings are honored when linking
55911         gnulib_extra_files.
55912
55913 2007-06-19  Eric Blake  <ebb9@byu.net>
55914
55915         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
55916         Allow compilation on cygwin.
55917
55918 2007-06-19  Jim Meyering  <jim@meyering.net>
55919
55920         xreadlink-with-size: Remove module.  No longer used.
55921         Ex-callers now use xreadlink or mreadlink-with-size.
55922         * modules/xreadlink-with-size: Remove module.
55923         * lib/xreadlink-with-size.c: Remove file.
55924         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
55925         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
55926         just before the function definition *is* accurate.
55927
55928         Eliminate one way canonicalize_filename_mode could exit.
55929         * lib/canonicalize.c (canonicalize_filename_mode):
55930         Use mreadlink_with_size, not xreadlink_with_size.
55931
55932 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
55933
55934         Detect porting problems to FreeBSD/arm, which has time_t wider than
55935         long int.  Original problem reported for GNU diff by Xin Li in
55936         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
55937         * modules/getdate (Depends-on): Add intprops, verify.
55938         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
55939         is an integer type no wider than long int.
55940
55941 2007-06-18  Jim Meyering  <jim@meyering.net>
55942
55943         New module: mreadlink-with-size.
55944         * MODULES.html.sh: Add mreadlink-with-size.
55945         * modules/mreadlink-with-size: New module
55946         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
55947         not xreadlink-with-size.
55948         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
55949
55950 2007-06-16  Bruno Haible  <bruno@clisp.org>
55951
55952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
55953         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
55954         Reported by Gary V. Vaughan <gary@gnu.org>.
55955
55956 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55957
55958         Revamp lchown so that it lives in unistd.h where it belongs.
55959         * lib/lchown.h: Remove.
55960         * lib/dirchownmod.c: Don't include lib/lchown.h.
55961         * lib/fchownat.c: Likewise.
55962         * lib/openat.c: Likewise.
55963         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
55964         does not follow symlinks.
55965         (EOPNOTSUPP): Define if not defined.
55966         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
55967         is defined to 0.
55968         (lchown): New decl.
55969         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
55970         Do not check for lchown decl.
55971         Set REPLACE_LCHOWN.
55972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
55973         REPLACE_LCHOWN.
55974         * modules/chown: Make it clear it follows symlinks.
55975         * modules/lchown: Make it clear it doesn't follow symlinks.
55976         (Files): Remove lib/lchown.h
55977         (Depends-on): Add unistd.
55978         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
55979         (Include): Include <unistd.h>, not "lchown.h".
55980         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
55981         REPLACE_LCHOWN.
55982
55983 2007-06-15  Jim Meyering  <jim@meyering.net>
55984
55985         Change license (GPL to LGPL) of fsusage and dependents.
55986         * modules/fsusage (License): Change to LGPL.
55987         * modules/full-read (License): Likewise.
55988         * modules/full-write (License): Likewise.
55989         * modules/safe-read (License): Likewise.
55990         * modules/safe-write (License): Likewise.
55991
55992 2007-06-14  Ben Pfaff  <blp@gnu.org>
55993
55994         Missing part of allocsa -> malloca transition.
55995         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
55996         gl_MALLOCA.
55997
55998 2007-06-12  Bruno Haible  <bruno@clisp.org>
55999
56000         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
56001         to ia64, x86_64, i386.
56002         Reported by Eric Blake.
56003
56004 2007-06-12  Bruno Haible  <bruno@clisp.org>
56005
56006         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
56007         cross-compiling to x86_64.
56008
56009 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
56012         glitch reported by Ralf Wildenhues in
56013         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
56014
56015         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
56016         Vin Shelton.
56017
56018 2007-06-11  Bruno Haible  <bruno@clisp.org>
56019
56020         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
56021         replacement string.
56022         Reported by Eric Blake.
56023
56024 2007-06-10  Bruno Haible  <bruno@clisp.org>
56025
56026         Prepare vasnprintf code for use with Unicode strings.
56027         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
56028         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
56029         TYPE_U32_STRING.
56030         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
56031         a_u32_string variants.
56032         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
56033         * lib/printf-args.c: Don't include config.h and the specification
56034         header if PRINTF_FETCHARGS is already defined.
56035         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
56036         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
56037         TYPE_U16_STRING, TYPE_U32_STRING.
56038         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
56039         u16_directive, u16_directives, u32_directive, u32_directives): New
56040         types.
56041         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
56042         New declarations.
56043         * lib/printf-parse.c: Don't include config.h and the specification
56044         header if PRINTF_PARSE is already defined. Eliminate the set of
56045         parameters for WIDE_CHAR_VERSION; the user of this file must provide
56046         them now. Include c-ctype.h.
56047         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
56048         directive and CHAR_T_ONLY_ASCII.
56049         * lib/vasnprintf.c: Don't include config.h and the specification header
56050         if VASNPRINTF is already defined.
56051         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
56052         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
56053         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
56054         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
56055         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
56056         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
56057         code accordingly.
56058         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
56059         pad_ourselves also in this case, with the 'c' and 's' directives, and
56060         with a different notion of "width".
56061         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
56062
56063 2007-06-10  Bruno Haible  <bruno@clisp.org>
56064
56065         * modules/unistr/u32-mbsnlen: New file.
56066         * lib/unistr/u32-mbsnlen.c: New file.
56067
56068         * modules/unistr/u16-mbsnlen: New file.
56069         * lib/unistr/u16-mbsnlen.c: New file.
56070
56071         * modules/unistr/u8-mbsnlen: New file.
56072         * lib/unistr/u8-mbsnlen.c: New file.
56073
56074         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
56075         declarations.
56076
56077 2007-06-10  Bruno Haible  <bruno@clisp.org>
56078
56079         * lib/string_.h (mbsnlen): New declaration.
56080         * lib/mbsnlen.c: New file.
56081         * m4/mbsnlen.m4: New file.
56082         * modules/mbsnlen: New file.
56083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
56084         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
56085         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
56086
56087 2007-06-10  Bruno Haible  <bruno@clisp.org>
56088
56089         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
56090
56091 2007-06-10  Bruno Haible  <bruno@clisp.org>
56092
56093         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
56094         * lib/mbuiter.h: Likewise.
56095
56096 2007-06-10  Bruno Haible  <bruno@clisp.org>
56097
56098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
56099         declaration.
56100
56101 2007-06-10  Karl Berry  <karl@gnu.org>
56102
56103         * config/srclist.txt: remove gettext entries, Bruno prefers
56104         to update individually.
56105
56106 2007-06-10  Bruno Haible  <bruno@clisp.org>
56107
56108         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
56109         'maxlen'. Ensure only length + width bytes are allocated, not
56110         length + 1 + width.
56111
56112 2007-06-09  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
56115         (CHAR_T): Remove macro.
56116         (VASNPRINTF): Update.
56117
56118 2007-06-09  Bruno Haible  <bruno@clisp.org>
56119
56120         * MODULES.html.sh (Unicode string functions): Add the new modules.
56121
56122         * modules/uniconv/u32-conv-to-enc: New file.
56123         * lib/uniconv/u32-conv-to-enc.c: New file.
56124         * modules/uniconv/u32-conv-to-enc-tests: New file.
56125         * tests/uniconv/test-u32-conv-to-enc.c: New file.
56126
56127         * modules/uniconv/u16-conv-to-enc: New file.
56128         * lib/uniconv/u16-conv-to-enc.c: New file.
56129         * lib/uniconv/u-conv-to-enc.h: New file.
56130         * modules/uniconv/u16-conv-to-enc-tests: New file.
56131         * tests/uniconv/test-u16-conv-to-enc.c: New file.
56132
56133         * modules/uniconv/u8-conv-to-enc: New file.
56134         * lib/uniconv/u8-conv-to-enc.c: New file.
56135         * modules/uniconv/u8-conv-to-enc-tests: New file.
56136         * tests/uniconv/test-u8-conv-to-enc.c: New file.
56137
56138         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
56139         u32_conv_to_encoding): New declarations.
56140
56141 2007-06-09  Bruno Haible  <bruno@clisp.org>
56142
56143         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
56144
56145 2007-06-09  Bruno Haible  <bruno@clisp.org>
56146
56147         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
56148         * modules/malloca: Renamed from modules/allocsa, updated.
56149         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
56150         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
56151         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
56152         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
56153         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
56154         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
56155         * modules/xmalloca: Renamed from modules/xallocsa, updated.
56156         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
56157         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
56158         * modules/c-strcasestr (Depends-on): Update.
56159         * lib/c-strcasestr.c: Update.
56160         * modules/c-strstr (Depends-on): Update.
56161         * lib/c-strstr.c: Update.
56162         * modules/canonicalize-lgpl (Depends-on): Update.
56163         * lib/canonicalize-lgpl.c: Update.
56164         * modules/clean-temp (Depends-on): Update.
56165         * lib/clean-temp.c: Update.
56166         * modules/csharpcomp (Depends-on): Update.
56167         * lib/csharpcomp.c: Update.
56168         * modules/csharpexec (Depends-on): Update.
56169         * lib/csharpexec.c: Update.
56170         * modules/javacomp (Depends-on): Update.
56171         * lib/javacomp.c: Update.
56172         * modules/javaexec (Depends-on): Update.
56173         * lib/javaexec.c: Update.
56174         * modules/mbscasestr (Depends-on): Update.
56175         * lib/mbscasestr.c: Update.
56176         * modules/mbsstr (Depends-on): Update.
56177         * lib/mbsstr.c: Update.
56178         * modules/setenv (Depends-on): Update.
56179         * lib/setenv.c: Update.
56180         * modules/strcasestr (Depends-on): Update.
56181         * lib/strcasestr.c: Update.
56182         * modules/striconveha (Depends-on): Update.
56183         * lib/striconveha.c: Update.
56184         * modules/relocatable-prog-wrapper (Files): Update.
56185         * lib/relocwrapper.c: Update.
56186         * build-aux/install-reloc: Update.
56187         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
56188
56189 2007-06-08  Bruno Haible  <bruno@clisp.org>
56190
56191         Port to uClibc.
56192         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
56193         * lib/fpurge.c (fpurge): Likewise.
56194         * lib/freading.c (freading): Likewise.
56195         * lib/fseeko.c (rpl_fseeko): Likewise.
56196         * lib/fseterr.c (fseterr): Likewise.
56197         * lib/fwriting.c (fwriting): Likewise.
56198         * tests/test-fflush.c (main): Avoid a failure on uClibc.
56199
56200 2007-06-08  Bruno Haible  <bruno@clisp.org>
56201
56202         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
56203         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
56204         * modules/gettext (Files): Add m4/intlmacosx.m4.
56205
56206 2007-06-07  Bruno Haible  <bruno@clisp.org>
56207
56208         * modules/localename-tests: New file.
56209         * tests/test-localename.c: New file.
56210
56211         New module 'localename'.
56212         * lib/localename.h: New file.
56213         * lib/localename.c: New file, from GNU gettext.
56214         * m4/localename.m4: New file.
56215         * modules/localename: New file.
56216
56217 2007-06-07  Bruno Haible  <bruno@clisp.org>
56218
56219         Work around the lack of <wchar.h> on some builds of uClibc.
56220         * doc/headers/wchar.texi: Update.
56221         * lib/wchar_.h: Include <wchar.h> only if it exists.
56222         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
56223         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
56224         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
56225         doesn't exist.
56226         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
56227         * modules/mbfile (Depends-on): Add wchar.
56228         * modules/mbiter (Depends-on): Likewise.
56229         * modules/mbuiter (Depends-on): Likewise.
56230         Reported by Simon Josefsson.
56231
56232 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56233
56234         Work around problem reported by Steven M. Schweda in
56235         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
56236         Tru64 5.1B with the Compaq compiler environment installed declares
56237         an 'isblank' function but does not define it in the C library.
56238         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
56239         * lib/regex_internal.h (isblank): Likewise.
56240         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
56241         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56242
56243 2007-06-05  Bruno Haible  <bruno@clisp.org>
56244
56245         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
56246         ia64.
56247         * modules/printf-safe: New file.
56248         * modules/fprintf-posix (Depends-on): Add printf-safe.
56249         * modules/printf-posix (Depends-on): Likewise.
56250         * modules/snprintf-posix (Depends-on): Likewise.
56251         * modules/sprintf-posix (Depends-on): Likewise.
56252         * modules/vasnprintf-posix (Depends-on): Likewise.
56253         * modules/vasprintf-posix (Depends-on): Likewise.
56254         * modules/vfprintf-posix (Depends-on): Likewise.
56255         * modules/vprintf-posix (Depends-on): Likewise.
56256         * modules/vsnprintf-posix (Depends-on): Likewise.
56257         * modules/vsprintf-posix (Depends-on): Likewise.
56258         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
56259         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
56260         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
56261         "no" on i386, x86_64, ia64.
56262         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
56263         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56264         on i386, x86_64, ia64.
56265         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
56266         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56267         on i386, x86_64, ia64.
56268         * tests/test-vasnprintf-posix.c: Include float.h.
56269         (LDBL80_WORDS): New macro.
56270         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56271         on i386, x86_64, ia64.
56272         * tests/test-vasprintf-posix.c: Include float.h.
56273         (LDBL80_WORDS): New macro.
56274         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56275         on i386, x86_64, ia64.
56276         * tests/test-snprintf-posix.c: Include float.h.
56277         * tests/test-sprintf-posix.c: Likewise.
56278         * tests/test-vsnprintf-posix.c: Likewise.
56279         * tests/test-vsprintf-posix.c: Likewise.
56280
56281 2007-06-05  Bruno Haible  <bruno@clisp.org>
56282
56283         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
56284         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
56285         non-IEEE numbers on i386, x86_64, ia64.
56286         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
56287         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
56288         * tests/test-isnanl.h: Include float.h.
56289         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
56290
56291 2007-06-05  Bruno Haible  <bruno@clisp.org>
56292
56293         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
56294         also the %a / %A. Handle the %a / %A code before this extra handling.
56295
56296 2007-06-05  Bruno Haible  <bruno@clisp.org>
56297
56298         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
56299         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
56300
56301 2007-06-05  Bruno Haible  <bruno@clisp.org>
56302
56303         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
56304         typo in variable name.
56305
56306 2007-06-05  Eric Blake  <ebb9@byu.net>
56307
56308         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
56309         Reported by Simon Josefsson.
56310
56311 2007-06-04  Bruno Haible  <bruno@clisp.org>
56312
56313         Avoid test failures on some PowerPC platforms.
56314         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
56315         Define differently for PowerPC.
56316         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
56317         Reported by Gary V. Vaughan <gary@gnu.org>.
56318
56319 2007-06-02  Bruno Haible  <bruno@clisp.org>
56320
56321         Fix test-stdint failure on FreeBSD/ia64.
56322         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
56323         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
56324         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
56325         * doc/headers/stdint.texi: Update.
56326
56327 2007-06-01  Bruno Haible  <bruno@clisp.org>
56328
56329         * tests/test-binary-io.c (main): Pass a third argument to open().
56330         Reported by Gary V. Vaughan <gary@gnu.org>.
56331
56332 2007-06-01  Bruno Haible  <bruno@clisp.org>
56333
56334         * doc/functions/frexpl.texi: Update for mingw.
56335
56336 2007-06-01  Bruno Haible  <bruno@clisp.org>
56337
56338         * tests/test-lseek.c (main): Disable test of errno for invalid third
56339         argument.
56340         * doc/functions/lseek.texi: Update.
56341         Reported by Gary V. Vaughan <gary@gnu.org>.
56342
56343 2007-05-28  Bruno Haible  <bruno@clisp.org>
56344
56345         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
56346
56347 2007-05-31  Eric Blake  <ebb9@byu.net>
56348
56349         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
56350         cross compiling.
56351
56352 2007-05-30  Eric Blake  <ebb9@byu.net>
56353         and Bruno Haible  <bruno@clisp.org>
56354
56355         Work around mingw test failures exposed by m4-1.4.9b.
56356         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
56357         * tests/test-unistd.c: Disable uid_t and git_t tests for the
56358         moment.
56359
56360 2007-05-30  Bruno Haible  <bruno@clisp.org>
56361
56362         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
56363         assuming that they are closed. Needed on HP-UX 11.
56364
56365 2007-05-29  Bruno Haible  <bruno@clisp.org>
56366
56367         Fix a problem with #include_next.
56368         * lib/dirent_.h: Split the double-inclusion guard.
56369         * lib/fcntl_.h: Likewise.
56370         * lib/float_.h: Likewise.
56371         * lib/iconv_.h: Likewise.
56372         * lib/inttypes_.h: Likewise.
56373         * lib/locale_.h: Likewise.
56374         * lib/math_.h: Likewise.
56375         * lib/netinet_in_.h: Likewise.
56376         * lib/search_.h: Likewise.
56377         * lib/signal_.h: Likewise.
56378         * lib/stdint_.h: Likewise.
56379         * lib/stdio_.h: Likewise.
56380         * lib/stdlib_.h: Likewise.
56381         * lib/string_.h: Likewise.
56382         * lib/sys_select_.h: Likewise.
56383         * lib/sys_socket_.h: Likewise.
56384         * lib/sys_stat_.h: Likewise.
56385         * lib/sys_time_.h: Likewise.
56386         * lib/sysexits_.h: Likewise.
56387         * lib/time_.h: Likewise.
56388         * lib/unistd_.h: Likewise.
56389         * lib/wchar_.h: Likewise.
56390         * lib/wctype_.h: Likewise.
56391
56392 2007-05-29  Bruno Haible  <bruno@clisp.org>
56393
56394         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
56395         for the moment.
56396
56397 2007-05-29  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
56400         invocation.
56401         Reported by Eric Blake.
56402
56403 2007-05-29  Bruno Haible  <bruno@clisp.org>
56404
56405         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
56406         compiling case.
56407
56408 2007-05-29  Eric Blake  <ebb9@byu.net>
56409             Bruno Haible  <bruno@clisp.org>
56410
56411         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
56412         cross compiles.
56413
56414 2007-05-28  Eric Blake  <ebb9@byu.net>
56415
56416         * modules/closein-tests (test_closein_LDADD): Support test on
56417         cygwin with libtool.
56418
56419 2007-05-28  Bruno Haible  <bruno@clisp.org>
56420
56421         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
56422         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56423         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56424         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56425         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56426         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56427         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56428         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56429         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56430
56431 2007-05-28  Eric Blake  <ebb9@byu.net>
56432
56433         Unconditionally include <config.h> in unit tests.
56434         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
56435         * tests/test-allocsa.c, tests/test-arcfour.c,
56436         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
56437         tests/test-array_list.c, tests/test-array_oset.c,
56438         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
56439         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
56440         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
56441         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
56442         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
56443         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
56444         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
56445         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
56446         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
56447         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
56448         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
56449         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
56450         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
56451         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
56452         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
56453         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
56454         test-md5.c, test-memmem.c, test-printf-posix.c,
56455         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
56456         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
56457         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
56458         test-strcasestr.c, test-striconv.c, test-striconveh.c,
56459         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
56460         test-vasnprintf-posix2.c, test-vasnprintf.c,
56461         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
56462         test-vfprintf-posix.c, test-vprintf-posix.c,
56463         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
56464         test-xvasprintf.c: Likewise.
56465
56466 2007-05-28  Bruno Haible  <bruno@clisp.org>
56467
56468         * gnulib-tool (func_import): Remember the --with-tests command-line
56469         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
56470         Reported by Eric Blake.
56471
56472 2007-05-28  Bruno Haible  <bruno@clisp.org>
56473
56474         * modules/ftell-tests: New file.
56475         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
56476         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
56477
56478         * lib/ftell.c: New file.
56479         * modules/ftell: New file.
56480         * m4/ftell.m4: New file.
56481         * doc/functions/ftell.texi: Update.
56482         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
56483         REPLACE_FTELL.
56484         * lib/stdio_.h (rpl_ftell): New declaration.
56485         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
56486         REPLACE_FTELL.
56487
56488 2007-05-28  Eric Blake  <ebb9@byu.net>
56489
56490         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
56491
56492 2007-05-28  Bruno Haible  <bruno@clisp.org>
56493
56494         * modules/fseek-tests: New file.
56495         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
56496         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
56497
56498         * lib/fseek.c: New file.
56499         * modules/fseek: New file.
56500         * m4/fseek.m4: New file.
56501         * doc/functions/fseek.texi: Update.
56502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
56503         REPLACE_FSEEK.
56504         * lib/stdio_.h (rpl_fseek): New declaration.
56505         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
56506         REPLACE_FSEEK.
56507
56508 2007-05-28  Bruno Haible  <bruno@clisp.org>
56509
56510         * lib/stdio_.h (fflush): More comments.
56511
56512 2007-05-28  Bruno Haible  <bruno@clisp.org>
56513
56514         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
56515         runtime test.
56516
56517 2007-05-28  Eric Blake  <ebb9@byu.net>
56518
56519         Improve lseek module.
56520         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
56521         * lib/unistd_.h (lseek): Scale back link warning message.
56522         * tests/test-lseek.c: Beef up test.
56523         * tests/test-lseek.sh: Exercise more facets of lseek.
56524         Reported by Bruno Haible.
56525
56526 2007-05-28  Bruno Haible  <bruno@clisp.org>
56527
56528         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
56529         to define.
56530
56531 2007-05-27  Bruno Haible  <bruno@clisp.org>
56532
56533         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
56534
56535 2007-05-27  Bruno Haible  <bruno@clisp.org>
56536
56537         * modules/openmp: New file.
56538         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
56539         Noah Misch.
56540
56541 2007-05-26  Bruno Haible  <bruno@clisp.org>
56542
56543         * modules/chdir-long (Depends-on): Add fchdir.
56544         * modules/chdir-safer (Depends-on): Likewise.
56545         * modules/fts (Depends-on): Likewise.
56546         * modules/fts-lgpl (Depends-on): Likewise.
56547         * modules/openat (Depends-on): Likewise.
56548         * modules/savewd (Depends-on): Likewise.
56549
56550 2007-05-24  Eric Blake  <ebb9@byu.net>
56551
56552         Fix lseek on mingw.
56553         * modules/lseek: New module.
56554         * m4/lseek.m4: New file.
56555         * lib/lseek.c: New file.
56556         * modules/lseek-tests: New file.
56557         * tests/test-lseek.c: New file.
56558         * tests/test-lseek.sh: New file.
56559         * MODULES.html.sh: Document lseek module.
56560         * modules/fflush (Depends-on): Add lseek, fseeko.
56561         * modules/fseeko (Depends-on): Likewise.
56562         * modules/ftello (Depends-on): Likewise.
56563         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
56564         broken.
56565         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
56566         broken.
56567         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
56568         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
56569         * lib/ftello.c (rpl_ftello): Likewise.
56570         * tests/test-fseeko.c (main): Test this.
56571         * tests/test-fseeko.sh: Likewise.
56572         * tests/test-ftello.c (main): Likewise.
56573         * tests/test-ftello.sh: Likewise.
56574         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
56575         implies replacing fseek.
56576         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
56577         HAVE_FTELLO.
56578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
56579         * modules/unistd (Makefile.am): Likewise.
56580         * lib/unistd_.h (lseek): Declare a replacement.
56581         * doc/functions/lseek.texi (lseek): Document this fix.
56582         * doc/functions/fseek.texi (fseek): Likewise.
56583         * doc/functions/ftell.texi (ftell): Likewise.
56584
56585 2007-05-24  Bruno Haible  <bruno@clisp.org>
56586
56587         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
56588         in the printed representation of a NaN.
56589         * tests/test-vasprintf-posix.c (test_function): Likewise.
56590         * tests/test-snprintf-posix.h (test_function): Likewise.
56591         * tests/test-sprintf-posix.h (test_function): Likewise.
56592         Reported by Eric Blake.
56593
56594 2007-05-23  Eric Blake  <ebb9@byu.net>
56595
56596         Fix fseeko/ftello on cygwin 1.5.24.
56597         * doc/functions/fseeko.texi (fseeko): Document the fix.
56598         * doc/functions/ftello.texi (ftello): Document the fix.
56599         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
56600         * doc/functions/stdout.text (stdout): New file.
56601         * doc/functions/stderr.text (stderr): New file.
56602         * doc/gnulib.texi (Function Substitutes): Use new files.
56603         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
56604         prior to 1.7.0.
56605         * tests/test-ftello.c (main): Likewise for ftello.
56606         * tests/test-fseeko.sh: New file.
56607         * tests/test-ftello.sh: New file.
56608         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
56609         with seekable stdin.
56610         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
56611         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
56612         (gl_REPLACE_FSEEKO): New macro.
56613         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
56614         * modules/fseeko (Files): Distribute fseeko.c.
56615         * modules/ftello (Files): Distribute ftello.c.
56616         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
56617         mode.
56618         * lib/ftello.c (rpl_ftello): New file.
56619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
56620         fseeko, ftello.
56621         (gl_STDIN_LARGE_OFFSET): New macro.
56622         * modules/stdio (Makefile.am): Perform the replacement.
56623         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
56624
56625 2007-05-23  Bruno Haible  <bruno@clisp.org>
56626
56627         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
56628         GNULIB_POSIXCHECK is defined.
56629
56630 2007-05-21  Bruno Haible  <bruno@clisp.org>
56631
56632         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
56633         Check also the output for NaN arguments. When cross-compiling, guess
56634         no on IRIX.
56635         * lib/vasnprintf.c: Update comments.
56636         * tests/test-vasnprintf-posix.c (strisnan): New function.
56637         (test_function): Use it.
56638         * tests/test-vasprintf-posix.c (strisnan): New function.
56639         (test_function): Use it.
56640         * tests/test-snprintf-posix.h (strisnan): New function.
56641         (test_function): Use it.
56642         * tests/test-sprintf-posix.h (strisnan): New function.
56643         (test_function): Use it.
56644         Reported by Eric Blake.
56645
56646 2007-05-20  Bruno Haible  <bruno@clisp.org>
56647
56648         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
56649         numbers that fails on BeOS.
56650         * doc/functions/frexpl.texi: Update.
56651
56652 2007-05-20  Jim Meyering  <jim@meyering.net>
56653
56654         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
56655         forced upon us by glibc-2.6.
56656
56657 2007-05-20  Bruno Haible  <bruno@clisp.org>
56658
56659         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
56660         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
56661         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
56662         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
56663         NEED_PRINTF_INFINITE.
56664         (is_infinitel): New function.
56665         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
56666         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
56667         gl_PREREQ_VASNPRINTF_INFINITE.
56668         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
56669         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56670         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
56671         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
56672         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
56673         gl_PREREQ_VASNPRINTF_INFINITE.
56674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56681         * doc/functions/fprintf.texi: Update.
56682         * doc/functions/printf.texi: Update.
56683         * doc/functions/snprintf.texi: Update.
56684         * doc/functions/sprintf.texi: Update.
56685         * doc/functions/vfprintf.texi: Update.
56686         * doc/functions/vprintf.texi: Update.
56687         * doc/functions/vsnprintf.texi: Update.
56688         * doc/functions/vsprintf.texi: Update.
56689
56690 2007-05-20  Bruno Haible  <bruno@clisp.org>
56691
56692         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
56693         was not found in libc.
56694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
56695
56696 2007-05-20  Bruno Haible  <bruno@clisp.org>
56697
56698         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
56699         printed as "-nan" instead of "nan".
56700         * tests/test-vasprintf-posix.c (test_function): Likewise.
56701         * tests/test-snprintf-posix.h (test_function): Likewise.
56702         * tests/test-sprintf-posix.h (test_function): Likewise.
56703         Needed for HP-UX 11.
56704
56705 2007-05-20  Jim Meyering  <jim@meyering.net>
56706
56707         Fix buggy test for the fchownat-deref bug.
56708         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
56709         symlink required for the run-test.  Without it, this test would
56710         always declare that fchownat doesn't work, and client code would
56711         unnecessarily use the replacement function with fixed libc.
56712         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
56713         Reported by Greg Schafer.
56714
56715 2007-05-19  Bruno Haible  <bruno@clisp.org>
56716
56717         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
56718         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
56719         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
56720         Needed for IRIX 6.5 and Solaris 2.5.1.
56721
56722 2007-05-19  Bruno Haible  <bruno@clisp.org>
56723
56724         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
56725         (test_function): Skip tests involving -0.0 on platforms where
56726         -0.0 = 0.0.
56727         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
56728         (test_function): Skip tests involving -0.0 on platforms where
56729         -0.0 = 0.0.
56730         * tests/test-snprintf-posix.h (have_minus_zero): New function.
56731         (test_function): Skip tests involving -0.0 on platforms where
56732         -0.0 = 0.0.
56733         * tests/test-sprintf-posix.h (have_minus_zero): New function.
56734         (test_function): Skip tests involving -0.0 on platforms where
56735         -0.0 = 0.0.
56736         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
56737         tests.
56738         * tests/test-printf-posix.h (test_function): Likewise.
56739         * tests/test-printf-posix.output: Remove all -0.0 related results.
56740         Needed for IRIX 6.5.
56741
56742 2007-05-19  Bruno Haible  <bruno@clisp.org>
56743
56744         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
56745         printed as "nan0x7fffffff" instead of "nan".
56746         * tests/test-vasprintf-posix.c (test_function): Likewise.
56747         * tests/test-snprintf-posix.h (test_function): Likewise.
56748         * tests/test-sprintf-posix.h (test_function): Likewise.
56749         * tests/test-fprintf-posix.h (NaN): Remove macro.
56750         (test_function): Remove all NaN related tests.
56751         * tests/test-printf-posix.h (NaN): Remove macro.
56752         (test_function): Remove all NaN related tests.
56753         * tests/test-printf-posix.output: Remove all NaN related results.
56754         Needed for IRIX 6.5.
56755
56756 2007-05-19  Bruno Haible  <bruno@clisp.org>
56757
56758         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
56759         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
56760
56761 2007-05-19  Bruno Haible  <bruno@clisp.org>
56762
56763         * lib/float_.h: New file.
56764         * m4/float_h.m4: New file.
56765         * modules/float: New file.
56766         * modules/isnanl (Dependencies): Add float.
56767         * modules/isnanl-nolibm (Dependencies): Likewise.
56768         * modules/mathl (Dependencies): Likewise.
56769         * modules/printf-frexpl (Dependencies): Likewise.
56770         * modules/signbit (Dependencies): Likewise.
56771         * modules/vasnprintf (Dependencies): Likewise.
56772         * doc/headers/float.texi: Update.
56773
56774 2007-05-19  Jim Meyering  <jim@meyering.net>
56775
56776         * lib/utimens.c (gl_futimens): Rename from futimens,
56777         now that glibc-2.6 declares futimens.
56778         * lib/utimens.h: Likewise.
56779
56780 2007-05-19  Bruno Haible  <bruno@clisp.org>
56781
56782         Avoid test failures on mingw.
56783         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
56784         * tests/test-printf-posix.sh: Likewise.
56785         * tests/test-vfprintf-posix.sh: Likewise.
56786         * tests/test-vprintf-posix.sh: Likewise.
56787
56788 2007-05-19  Bruno Haible  <bruno@clisp.org>
56789
56790         Fix *printf result for NaN, Inf, -0.0 on mingw.
56791         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
56792         * lib/vasnprintf.c: Include math.h and isnan.h.
56793         (is_infinite_or_zero): New function.
56794         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
56795         values in the %f, %F, %e, %E, %g, %G directives.
56796         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
56797         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56798         gl_PRINTF_INFINITE and test its result. Invoke
56799         gl_PREREQ_VASNPRINTF_INFINITE.
56800         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56801         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56802         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56803         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56804         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56805         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56806         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56807         * doc/functions/fprintf.texi: Update.
56808         * doc/functions/printf.texi: Update.
56809         * doc/functions/snprintf.texi: Update.
56810         * doc/functions/sprintf.texi: Update.
56811         * doc/functions/vfprintf.texi: Update.
56812         * doc/functions/vprintf.texi: Update.
56813         * doc/functions/vsnprintf.texi: Update.
56814         * doc/functions/vsprintf.texi: Update.
56815
56816 2007-05-19  Bruno Haible  <bruno@clisp.org>
56817
56818         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
56819         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
56820         Instead of multiplying with 10^k, set extra_zeroes to k.
56821         (scale10_round_long_double): Remove function.
56822
56823 2007-05-18  Bruno Haible  <bruno@clisp.org>
56824
56825         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
56826         introduced on 2007-05-06.
56827
56828 2007-05-18  Bruno Haible  <bruno@clisp.org>
56829
56830         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
56831         %g directives.
56832         * tests/test-vasprintf-posix.c (test_function): Likewise.
56833         * tests/test-snprintf-posix.h (test_function): Likewise.
56834         * tests/test-sprintf-posix.h (test_function): Likewise.
56835
56836 2007-05-18  Bruno Haible  <bruno@clisp.org>
56837
56838         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
56839         (strmatch): New function.
56840         (test_function): Test the %f directive on numbers of various exponents.
56841         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
56842         (strmatch): New function.
56843         (test_function): Test the %f directive on numbers of various exponents.
56844         * tests/test-snprintf-posix.h (strmatch): New function.
56845         (test_function): Test the %f directive on numbers of various exponents.
56846         * tests/test-sprintf-posix.h (strmatch): New function.
56847         (test_function): Test the %f directive on numbers of various exponents.
56848         * tests/test-snprintf-posix.c (SIZEOF): New macro.
56849         * tests/test-sprintf-posix.c (SIZEOF): New macro.
56850         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
56851         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
56852
56853 2007-05-18  Bruno Haible  <bruno@clisp.org>
56854
56855         Add support for 'long double' number output.
56856         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
56857         * lib/vasnprintf.c: Include math.h and float+.h.
56858         (mp_limb_t): New type.
56859         (GMP_LIMB_BITS): New macro.
56860         (mp_twolimb_t): New type.
56861         (GMP_TWOLIMB_BITS): New macro.
56862         (mpn_t): New type.
56863         (multiply, divide, convert_to_decimal, decode_long_double,
56864         scale10_round_long_double, scale10_round_decimal_long_double,
56865         floorlog10l): New functions.
56866         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
56867         for the %f, %F, %e, %E, %g, %G directives.
56868         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
56869         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56870         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
56871         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
56872         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56873         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56874         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56875         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56876         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56877         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56878         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56879         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
56880         * modules/snprintf-posix (Depends-on): Likewise.
56881         * modules/sprintf-posix (Depends-on): Likewise.
56882         * modules/vasnprintf-posix (Depends-on): Likewise.
56883         * modules/vasprintf-posix (Depends-on): Likewise.
56884         * modules/vfprintf-posix (Depends-on): Likewise.
56885         * modules/vsnprintf-posix (Depends-on): Likewise.
56886         * modules/vsprintf-posix (Depends-on): Likewise.
56887         * modules/vasnprintf (Files): Add lib/float+.h.
56888         * doc/functions/fprintf.texi: Update.
56889         * doc/functions/printf.texi: Update.
56890         * doc/functions/snprintf.texi: Update.
56891         * doc/functions/sprintf.texi: Update.
56892         * doc/functions/vfprintf.texi: Update.
56893         * doc/functions/vprintf.texi: Update.
56894         * doc/functions/vsnprintf.texi: Update.
56895         * doc/functions/vsprintf.texi: Update.
56896
56897 2007-05-18  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
56900
56901 2007-05-18  Bruno Haible  <bruno@clisp.org>
56902
56903         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
56904         for printing 64-bit integers. Needed for mingw.
56905
56906 2007-05-18  Bruno Haible  <bruno@clisp.org>
56907
56908         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
56909         gl_FUNC_FREXPL_WORKS.
56910         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
56911
56912 2007-05-18  Bruno Haible  <bruno@clisp.org>
56913
56914         * modules/frexpl-nolibm-tests: New file.
56915
56916         * modules/frexpl-nolibm: New file.
56917         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
56918
56919 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56920
56921         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
56922         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
56923         GCC 4.2, which otherwise issues a lot of warnings.
56924         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
56925         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
56926         Likewise.
56927         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
56928         * modules/iconv_open (iconv.h): Likewise.
56929         * modules/locale (locale.h): Likewise.
56930         * modules/netinet_in (netinet/in.h): Likewise.
56931         * modules/sys_select (sys_select.h): Likewise.
56932         * modules/sys_socket (sys/socket.h): Likewise.
56933         * modules/sys_stat (sys/stat.h): Likewise.
56934         * modules/sysexits (sysexits.h): Likewise.
56935         * modules/unistd (unistd.h): Likewise.
56936
56937 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56938
56939         * modules/closein-tests (Makefile.am): Distribute
56940         `test-closein.sh'.
56941
56942 2007-05-17  Bruno Haible  <bruno@clisp.org>
56943
56944         * tests/test-printf-posix.output: Renamed from
56945         tests/test-fprintf-posix.out.
56946         * modules/fprintf-posix-tests: Update.
56947         * modules/printf-posix-tests: Update.
56948         * modules/vfprintf-posix-tests: Update.
56949         * modules/vprintf-posix-tests: Update.
56950         * tests/test-fprintf-posix.sh: Update.
56951         * tests/test-printf-posix.sh: Update.
56952         * tests/test-vfprintf-posix.sh: Update.
56953         * tests/test-vprintf-posix.sh: Update.
56954         Reported by Ralf Wildenhues.
56955
56956 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56957
56958         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
56959         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
56960         GCC 4.2, which otherwise issues a lot of warnings.
56961         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
56962         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
56963         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
56964         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
56965         it should no longer be needed.
56966         * lib/string_.h: Likewise.
56967         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
56968         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
56969         * modules/inttypes (inttypes.h): Likewise.
56970         * modules/math (math.h): Likewise.
56971         * modules/search (search.h): Likewise.
56972         * modules/signal (signal.h): Likewise.
56973         * modules/stdint (stdint.h): Likewise.
56974         * modules/stdio (stdio.h): Likewise.
56975         * modules/stdlib (stdlib.h): Likewise.
56976         * modules/string (string.h): Likewise.
56977         * modules/sys_time (sys/time.h): Likewise.
56978         * modules/time (time.h): Likewise.
56979         * modules/wchar (wchar.h): Likewise.
56980         * modules/wctype (wtype.h): Likewise.
56981
56982 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
56983
56984         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
56985
56986 2007-05-13  Bruno Haible  <bruno@clisp.org>
56987
56988         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
56989         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56990         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
56991         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
56992         (gl_PREREQ_STRTOK_R): Don't require it here.
56993
56994 2007-05-13  Bruno Haible  <bruno@clisp.org>
56995
56996         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
56997         when used in C++ mode.
56998
56999 2007-05-12  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/linebuffer.h: Tweak doc.
57002         * lib/linebuffer.c: Likewise.
57003
57004 2007-05-12  James Youngman  <jay@gnu.org>
57005
57006         * lib/linebuffer.c (readlinebuffer_delim): New function,
57007         like readlinebuffer, but use a caller-specified delimiter.
57008         (readlinebuffer): Just call readlinebuffer_delim with '\n'
57009         as the delimiter.
57010         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
57011
57012 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57013
57014         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
57015         * modules/openat (Files): Remove openat-die.c.
57016         (Depends-on): Add openat-die.
57017         * modules/openat-die: New module.
57018
57019 2007-05-06  Bruno Haible  <bruno@clisp.org>
57020
57021         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
57022         Update with info about Cygwin.
57023         * doc/functions/fprintf.texi: Update.
57024         * doc/functions/printf.texi: Update.
57025         * doc/functions/snprintf.texi: Update.
57026         * doc/functions/sprintf.texi: Update.
57027         * doc/functions/vfprintf.texi: Update.
57028         * doc/functions/vprintf.texi: Update.
57029         * doc/functions/vsnprintf.texi: Update.
57030         * doc/functions/vsprintf.texi: Update.
57031         Reported by Eric Blake.
57032
57033 2007-05-06  Bruno Haible  <bruno@clisp.org>
57034
57035         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
57036         padding ourselves for the floating-point directives.
57037         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
57038         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
57039         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57040         gl_PRINTF_FLAG_ZERO and test its result. Invoke
57041         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
57042         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
57044         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57045         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57046         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57047         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57048         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57049         * tests/test-snprintf-posix.h (test_function): Also check the width
57050         and some flags in the %f directive.
57051         * tests/test-sprintf-posix.h (test_function): Likewise.
57052         * tests/test-vasnprintf-posix.c (test_function): Likewise.
57053         * tests/test-vasprintf-posix.c (test_function): Likewise.
57054         * doc/functions/fprintf.texi: Update.
57055         * doc/functions/printf.texi: Update.
57056         * doc/functions/snprintf.texi: Update.
57057         * doc/functions/sprintf.texi: Update.
57058         * doc/functions/vfprintf.texi: Update.
57059         * doc/functions/vprintf.texi: Update.
57060         * doc/functions/vsnprintf.texi: Update.
57061         * doc/functions/vsprintf.texi: Update.
57062
57063 2007-05-06  Bruno Haible  <bruno@clisp.org>
57064
57065         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
57066         pass the ' flag character to sprintf or snprintf.
57067         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
57068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
57069         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57070         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
57071         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
57072         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57073         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
57074         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57075         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57076         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57077         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57078         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57079         * tests/test-snprintf-posix.h (test_function): Also check the grouping
57080         flag.
57081         * tests/test-sprintf-posix.h (test_function): Likewise.
57082         * tests/test-vasnprintf-posix.c (test_function): Likewise.
57083         * tests/test-vasprintf-posix.c (test_function): Likewise.
57084         * doc/functions/fprintf.texi: Update.
57085         * doc/functions/printf.texi: Update.
57086         * doc/functions/snprintf.texi: Update.
57087         * doc/functions/sprintf.texi: Update.
57088         * doc/functions/vfprintf.texi: Update.
57089         * doc/functions/vprintf.texi: Update.
57090         * doc/functions/vsnprintf.texi: Update.
57091         * doc/functions/vsprintf.texi: Update.
57092
57093 2007-05-01  Bruno Haible  <bruno@clisp.org>
57094
57095         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
57096
57097 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
57098
57099         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
57100         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
57101
57102 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57103
57104         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
57105         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
57106         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
57107
57108 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
57109
57110         * lib/argp-help.c (struct hol_entry): New member `ord'.
57111         (HOL_ENTRY_PTRCMP): Use ord for comparison
57112         (hol_sort): Initialize ord.
57113
57114 2007-05-01  Bruno Haible  <bruno@clisp.org>
57115
57116         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
57117         Reported by Eric Blake.
57118         * doc/gnulib.texi (Function Substitutes): Update.
57119
57120 2007-05-01  Bruno Haible  <bruno@clisp.org>
57121
57122         * doc/functions.texi: Remove file, now redundant through
57123         doc/functions/*.texi.
57124
57125 2007-05-01  Bruno Haible  <bruno@clisp.org>
57126
57127         * modules/argp (Depends-on): Add sleep.
57128
57129 2007-05-01  Bruno Haible  <bruno@clisp.org>
57130
57131         * modules/sleep-tests: New file.
57132         * tests/test-sleep.c: New file.
57133
57134         * modules/sleep: New file.
57135         * lib/sleep.c: New file.
57136         * m4/sleep.m4: New file.
57137         * lib/unistd_.h (sleep): New declaration.
57138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
57139         HAVE_SLEEP.
57140         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
57141         * doc/functions/sleep.texi: Document the sleep module.
57142
57143 2007-05-01  Bruno Haible  <bruno@clisp.org>
57144
57145         * lib/sigprocmask.h: Remove file.
57146         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
57147         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
57148         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
57149         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
57150         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
57151         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
57152         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
57153         HAVE_SIGSET_T as a shell variable.
57154         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
57155         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
57156         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
57157         (Depends-on): Add signal. Remove verify.
57158         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
57159         (Include): Mention <signal.h> instead of sigprocmask.h.
57160         * NEWS: Mention the change.
57161         * lib/fatal-signal.c: Don't include sigprocmask.h.
57162
57163 2007-05-01  Bruno Haible  <bruno@clisp.org>
57164
57165         * modules/signal: New file.
57166         * lib/signal_.h: New file.
57167         * m4/signal_h.m4: New file.
57168
57169 2007-05-01  Bruno Haible  <bruno@clisp.org>
57170
57171         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
57172         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
57173         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
57174         HAVE_WCTYPE_CTMP_BUG into wctype.h.
57175
57176 2007-05-01  Bruno Haible  <bruno@clisp.org>
57177
57178         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
57179         configure time.
57180         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
57181         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
57182         * modules/sys_stat (Makefile.am): Substitute their values into
57183         sys/stat.h.
57184
57185 2007-05-01  Bruno Haible  <bruno@clisp.org>
57186
57187         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
57188         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
57189         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
57190
57191 2007-05-01  Bruno Haible  <bruno@clisp.org>
57192
57193         * doc/header/assert.texi: Undo last change: don't mention the gnulib
57194         'assert' module here.
57195
57196 2007-05-01  Bruno Haible  <bruno@clisp.org>
57197
57198         * doc/functions/*.texi: New files.
57199         * doc/functions/google-ranking.txt: New file.
57200         * doc/gnulib.texi (Function Substitutes): New chapter.
57201         (ctime, inet_ntoa): Remove sections.
57202         * doc/ctime.texi: Remove file.
57203         * doc/inet_ntoa.texi: Remove file.
57204         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
57205         dependencies.
57206         (%.info): New rule, specifying a --reference-limit.
57207
57208 2007-05-01  Bruno Haible  <bruno@clisp.org>
57209
57210         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
57211
57212 2007-05-01  Bruno Haible  <bruno@clisp.org>
57213
57214         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
57215         the portability of 'mkdir' to mingw systems.
57216
57217 2007-05-01  Bruno Haible  <bruno@clisp.org>
57218
57219         * doc/headers/google-ranking.txt: New file.
57220
57221 2007-04-30  Eric Blake  <ebb9@byu.net>
57222
57223         Prefer fseeko to fseek.
57224         * modules/getpass (Depends-on): Add fseeko.
57225         * lib/getpass.c (getpass): Use fseeko, not fseek.
57226
57227 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
57228
57229         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
57230         assumes the sorting is stable, while most qsort implementations
57231         are not.  Use argument addresses to ensure they never compare as
57232         equal.
57233
57234         * tests/test-argp-2.sh (usage-indent test): Fix output
57235         (func_compare): Restore diff options
57236         * tests/test-argp.c: Restore #include "progname.h"
57237
57238 2007-04-29  Bruno Haible  <bruno@clisp.org>
57239
57240         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
57241         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57242         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
57243         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57244         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
57245         (configure.ac): Define CHECK_SNPRINTF_POSIX.
57246         (TESTS, check_PROGRAMS): Add test-snprintf.
57247         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
57248         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
57249         (TESTS, check_PROGRAMS): Add test-vsnprintf.
57250         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
57251         assertions that fail on HP-UX, OSF/1, or IRIX.
57252         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
57253
57254 2007-04-29  Bruno Haible  <bruno@clisp.org>
57255
57256         * MODULES.html.sh (posix_functions): Remove 'contents'.
57257
57258 2007-04-29  Karl Berry  <karl@gnu.org>
57259
57260         * config/srclist.txt (gendocs_template_min): new entry.
57261
57262 2007-04-29  Bruno Haible  <bruno@clisp.org>
57263
57264         Work around fpurge bug on BSD systems.
57265         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
57266         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
57267         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
57268         fpurge to rpl_fpurge if the system already has this function.
57269         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
57270         the case where the system already has this function. Correct invariants
57271         on BSD systems.
57272         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
57273         BSD systems.
57274
57275 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57276
57277         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
57278         proposed by Sven Verdoolaege.
57279
57280         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
57281         options.
57282         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
57283         (usage and help tests): Update
57284
57285 2007-04-29  Bruno Haible  <bruno@clisp.org>
57286
57287         * tests/test-fflush.c (main): Use a file of size 17, not 10.
57288         Print more information in case of failure. Disable a test on BeOS.
57289
57290 2007-04-29  Bruno Haible  <bruno@clisp.org>
57291
57292         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
57293         This helps debugging on systems on which no gdb is available.
57294
57295 2007-04-29  Bruno Haible  <bruno@clisp.org>
57296
57297         * lib/freading.h: Improve comments.
57298         * lib/fwriting.h: Likewise.
57299         * tests/test-freading.c (main): Don't check freading immediately after
57300         repositioning. Needed for glibc.
57301
57302 2007-04-29  Bruno Haible  <bruno@clisp.org>
57303
57304         * lib/freading.c (freading): Trivial simplification.
57305
57306 2007-04-28  Bruno Haible  <bruno@clisp.org>
57307
57308         * tests/test-fwriting.c (main): Also test the interaction between
57309         fflush and fwriting.
57310         * modules/fwriting-tests (Depends-on): Add fflush.
57311
57312         * tests/test-freading.c (main): Also test the interaction between
57313         fflush and freading.
57314         * modules/freading-tests (Depends-on): Add fflush.
57315
57316 2007-04-28  Bruno Haible  <bruno@clisp.org>
57317
57318         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
57319         fseeko and ftello.
57320         Suggested by Eric Blake.
57321
57322 2007-04-28  Jim Meyering  <jim@meyering.net>
57323
57324         Avoid false-negative in gl_STDINT_H's C99 conformance test.
57325         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
57326         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
57327
57328 2007-04-27  Eric Blake  <ebb9@byu.net>
57329
57330         * doc/headers/assert.texi (assert.h): Document assert module use.
57331
57332 2007-04-27  Bruno Haible  <bruno@clisp.org>
57333
57334         * doc/headers/*.texi: New files.
57335         * doc/gnulib.texi (Header File Substitutes): New chapter.
57336         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
57337         dependencies.
57338         (standards.info ,standards.html, standards.dvi): Update dependencies.
57339         (mostlyclean, clean): New targets.
57340
57341 2007-04-27  Bruno Haible  <bruno@clisp.org>
57342
57343         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
57344         * modules/sysexits (Files, Makefile.am): Update.
57345
57346         * lib/sys_socket_.h: Renamed from lib/socket_.h.
57347         * modules/sys_socket (Files, Makefile.am): Update.
57348
57349         * lib/sys_stat_.h: Renamed from lib/stat_.h.
57350         * modules/sys_stat (Files, Makefile.am): Update.
57351
57352 2007-04-27  Eric Blake  <ebb9@byu.net>
57353
57354         * lib/freading.h: Improve comments.
57355         * lib/fwriting.h: Likewise.
57356         * lib/fflush.c: Likewise.
57357
57358         Fix closein for mingw.
57359         * modules/closein-tests: Add tests for closein.
57360         * tests/test-closein.c: New file.
57361         * tests/test-closein.sh: Likewise.
57362         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
57363         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
57364
57365 2007-04-27  Bruno Haible  <bruno@clisp.org>
57366
57367         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
57368         version is < 6.
57369         * lib/math_.h [__DECC]: Likewise.
57370         * lib/stdio_.h [__DECC]: Likewise.
57371         * lib/stdlib_.h [__DECC]: Likewise.
57372         * lib/string_.h [__DECC]: Likewise.
57373         * lib/time_.h [__DECC]: Likewise.
57374         * lib/wchar_.h [__DECC]: Likewise.
57375         * lib/wctype_.h [__DECC]: Likewise.
57376
57377 2007-04-27  Bruno Haible  <bruno@clisp.org>
57378
57379         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
57380
57381 2007-04-27  Bruno Haible  <bruno@clisp.org>
57382
57383         * lib/fflush.c: Add comments.
57384         * modules/fpurge-tests (Depends-on): Add fflush.
57385         * modules/freadable-tests (Depends-on): Likewise.
57386         * modules/fwritable-tests (Depends-on): Likewise.
57387
57388 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
57389
57390         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
57391         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
57392         Report by Bruno Haible <bruno@clisp.org>.
57393
57394 2007-04-26  Eric Blake  <ebb9@byu.net>
57395
57396         Fix fflush on mingw.
57397         * modules/fflush (Depends-on): Add freading.
57398         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
57399         but unread data.
57400
57401 2007-04-26  Eric Blake  <ebb9@byu.net>
57402         and Bruno Haible  <bruno@clisp.org>
57403
57404         Implement freading and fwriting.
57405         * lib/freading.c: New file.
57406         * lib/freading.h: Likewise.
57407         * m4/freading.m4: Likewise.
57408         * modules/freading: Likewise.
57409         * modules/freading-tests: Likewise.
57410         * tests/test-freading.c: Likewise.
57411         * lib/fwriting.c: New file.
57412         * lib/fwriting.h: Likewise.
57413         * m4/fwriting.m4: Likewise.
57414         * modules/fwriting: Likewise.
57415         * modules/fwriting-tests: Likewise.
57416         * tests/test-fwriting.c: Likewise.
57417         * MODULES.html.sh (File stream based Input/Output): Mention them.
57418
57419 2007-04-26  Bruno Haible  <bruno@clisp.org>
57420
57421         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
57422         'long' when we assume it.
57423         Suggested by Eric Blake.
57424
57425 2007-04-26  Bruno Haible  <bruno@clisp.org>
57426
57427         Ensure fseeko, ftello are declared on glibc systems.
57428         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
57429         * modules/fseeko (configure.ac-early): Likewise.
57430         * modules/ftello (configure.ac-early): Likewise.
57431         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
57432         AC_FUNC_FSEEKO for this.
57433         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
57434         (gl_CHECK_FSEEKO): Remove macro.
57435
57436 2007-04-26  Bruno Haible  <bruno@clisp.org>
57437
57438         * tests/test-fflush.c (main): Also check the ftell result after
57439         fflush and fseek/fseeko.
57440         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
57441         file descriptor position cache in the stream.
57442         * lib/fseeko.c (rpl_fseeko): Likewise.
57443
57444 2007-04-26  Bruno Haible  <bruno@clisp.org>
57445
57446         * modules/fflush-tests (Depends-on): Add fseeko.
57447
57448 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
57449             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57450
57451         * lib/argz_.h: ensure error_t definition is obtained in same
57452         mechanism system argz.h would have.
57453         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
57454         argz facilities are known bad.  Err on the side of caution if
57455         cross-compiling.
57456
57457 2007-04-25  Eric Blake  <ebb9@byu.net>
57458
57459         * lib/fpurge.c (includes): Use stdlib.h for free.
57460         * tests/test-fflush.c (main): Also test fflush-fseeko.
57461
57462 2007-04-25  Bruno Haible  <bruno@clisp.org>
57463
57464         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
57465         * lib/fseeko.c: New file.
57466         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
57467         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
57468         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
57469         gl_FUNC_FSEEKO.
57470         (gl_FUNC_FSEEKO): Invoke it.
57471         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
57472         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
57473         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
57474
57475 2007-04-25  Bruno Haible  <bruno@clisp.org>
57476
57477         * modules/fflush (Depends-on): Add ftello.
57478
57479 2007-04-25  Bruno Haible  <bruno@clisp.org>
57480
57481         * modules/ftello-tests: New file.
57482         * tests/test-ftello.c: New file.
57483
57484         * modules/ftello: New file.
57485         * m4/ftello.m4: New file.
57486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
57487         HAVE_FTELLO.
57488         * lib/stdio_.h (ftello): New declaration.
57489         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
57490         HAVE_FTELLO.
57491
57492 2007-04-25  Bruno Haible  <bruno@clisp.org>
57493
57494         * modules/fseeko-tests: New file.
57495         * tests/test-fseeko.c: New file.
57496
57497         * modules/fseeko: New file.
57498         * m4/fseeko.m4: New file.
57499         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
57500         HAVE_FSEEKO.
57501         * lib/stdio_.h (fseeko): New declaration.
57502         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
57503         HAVE_FSEEKO.
57504
57505 2007-04-25  Bruno Haible  <bruno@clisp.org>
57506
57507         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
57508
57509 2007-04-25  Bruno Haible  <bruno@clisp.org>
57510
57511         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
57512         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
57513         * tests/test-unistd.c: Likewise.
57514         * tests/test-fcntl.c: Likewise.
57515
57516 2007-04-23  Eric Blake  <ebb9@byu.net>
57517
57518         * lib/fflush.c: Fix missing include.
57519         Reported by Bruno Haible.
57520
57521 2007-04-23  Bruno Haible  <bruno@clisp.org>
57522
57523         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
57524         Reported by Eric Blake.
57525
57526 2007-04-23  Bruno Haible  <bruno@clisp.org>
57527
57528         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
57529
57530 2007-04-23  Bruno Haible  <bruno@clisp.org>
57531
57532         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
57533
57534 2007-04-23  Bruno Haible  <bruno@clisp.org>
57535
57536         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
57537         Needed on HP-UX 11.
57538
57539 2007-04-16  Eric Blake  <ebb9@byu.net>
57540
57541         Make fflush rely on fpurge.
57542         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
57543         open coding all variants.
57544         * modules/fflush (Depends-on): Add fpurge and unistd.
57545         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
57546         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
57547
57548         Fix --with-tests compilation on cygwin.
57549         * modules/argmatch-tests (Makefile.am): List gnulib library first
57550         in LDADD.
57551         * modules/argp-tests (Makefile.am): Likewise.
57552         * modules/array-list-tests (Makefile.am): Likewise.
57553         * modules/array-oset-tests (Makefile.am): Likewise.
57554         * modules/avltree-list-tests (Makefile.am): Likewise.
57555         * modules/avltree-oset-tests (Makefile.am): Likewise.
57556         * modules/avltreehash-list-tests (Makefile.am): Likewise.
57557         * modules/carray-list-tests (Makefile.am): Likewise.
57558         * modules/dirname-tests (Makefile.am): Likewise.
57559         * modules/frexp-tests (Makefile.am): Likewise.
57560         * modules/isnanl-tests (Makefile.am): Likewise.
57561         * modules/linked-list-tests (Makefile.am): Likewise.
57562         * modules/linkedhash-list-tests (Makefile.am): Likewise.
57563         * modules/lock-tests (Makefile.am): Likewise.
57564         * modules/rbtree-list-tests (Makefile.am): Likewise.
57565         * modules/rbtree-oset-tests (Makefile.am): Likewise.
57566         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
57567         * modules/tls-tests (Makefile.am): Likewise.
57568         * modules/tsearch-tests (Makefile.am): Likewise.
57569         * modules/xvasprintf-tests (Makefile.am): Likewise.
57570
57571         Fix fpurge for cygwin.
57572         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
57573         value.
57574         * modules/fpurge-tests (Depends-on): Clean up trash.
57575
57576 2007-04-16  Simon Josefsson  <simon@josefsson.org>
57577
57578         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
57579
57580         * m4/autobuild.m4: Re-indent.
57581
57582 2007-04-13  Bruno Haible  <bruno@clisp.org>
57583
57584         * modules/fpurge-tests: New file.
57585         * tests/test-fpurge.c: New file.
57586
57587         * modules/fpurge: New file.
57588         * lib/fpurge.h: New file.
57589         * lib/fpurge.c: New file.
57590         * m4/fpurge.m4: New file.
57591
57592 2007-04-13  Bruno Haible  <bruno@clisp.org>
57593
57594         * modules/fbufmode-tests: New file.
57595         * tests/test-fbufmode.c: New file.
57596
57597         * modules/fbufmode: New file.
57598         * lib/fbufmode.h: New file.
57599         * lib/fbufmode.c: New file.
57600         * m4/fbufmode.m4: New file.
57601
57602 2007-04-13  Bruno Haible  <bruno@clisp.org>
57603
57604         * modules/fwritable-tests: New file.
57605         * tests/test-fwritable.c: New file.
57606
57607         * modules/fwritable: New file.
57608         * lib/fwritable.h: New file.
57609         * lib/fwritable.c: New file.
57610         * m4/fwritable.m4: New file.
57611
57612 2007-04-13  Bruno Haible  <bruno@clisp.org>
57613
57614         * modules/freadable-tests: New file.
57615         * tests/test-freadable.c: New file.
57616
57617         * modules/freadable: New file.
57618         * lib/freadable.h: New file.
57619         * lib/freadable.c: New file.
57620         * m4/freadable.m4: New file.
57621
57622 2007-04-13  Bruno Haible  <bruno@clisp.org>
57623
57624         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
57625         MOSTLYCLEANFILES.
57626
57627 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57628
57629         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
57630         gzip bootstrap.conf to avoid dragging in i18n machinery.
57631         (gnulib_tool_option): Use it.
57632
57633 2007-04-13  Bruno Haible  <bruno@clisp.org>
57634
57635         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
57636         %F directives.
57637         * tests/test-vasprintf-posix.c (test_function): Likewise.
57638         * tests/test-snprintf-posix.h (test_function): Likewise.
57639         * tests/test-sprintf-posix.h (test_function): Likewise.
57640         * tests/test-fprintf-posix.h (test_function): Likewise.
57641         * tests/test-printf-posix.h (test_function): Likewise.
57642         * tests/test-fprintf-posix.out: Likewise.
57643
57644 2007-04-13  Bruno Haible  <bruno@clisp.org>
57645
57646         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
57647         * modules/tls-tests (configure.ac): Likewise.
57648         Reported by Arto C. Nirkko <anirkko@insel.ch>.
57649
57650 2007-04-13  Bruno Haible  <bruno@clisp.org>
57651
57652         * lib/tls.c (glthread_tls_get): Fix return type.
57653         Patch by Arto C. Nirkko <anirkko@insel.ch>.
57654
57655 2007-04-12  Eric Blake  <ebb9@byu.net>
57656
57657         * modules/gettime (Depends-on): Remove gettime.
57658         Reported by Dmitry V. Levin.
57659
57660 2007-04-12  Bruno Haible  <bruno@clisp.org>
57661
57662         * modules/fflush (Include): Mention <stdio.h>.
57663         * modules/strtoimax (Include): Mention <inttypes.h>.
57664         * modules/strtoumax (Include): Likewise.
57665
57666 2007-04-12  Eric Blake  <ebb9@byu.net>
57667
57668         * .cvsignore: New file.
57669         * .gitignore: Likewise.
57670
57671 2007-04-12  Bruno Haible  <bruno@clisp.org>
57672
57673         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
57674         not before, since $(LDADD) often contains libgnu.a.
57675         * modules/striconv-tests (test_striconv_LDADD): Likewise.
57676         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
57677         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
57678         Needed on Cygwin.
57679
57680 2007-04-12  Eric Blake  <ebb9@byu.net>
57681
57682         Work around glibc's failure to flush stdin on fclose.
57683         * lib/closein.c (close_stdin): Flush stdin before closing.
57684
57685         Work around glibc's failure to reset seekable stdin on exit.
57686         * modules/closein: New module.
57687         * lib/closein.c: New file.
57688         * lib/closein.h: Likewise.
57689         * m4/closein.m4: Likewise.
57690         * MODULES.html.sh (File stream based Input/Output): Document it.
57691
57692 2007-04-12  Simon Josefsson  <simon@josefsson.org>
57693
57694         * gnulib-tool: Rename generated 'autobuild' script to
57695         'do-autobuild' in --create-megatestdir output.
57696
57697         * doc/gnulib.texi (Build robot for gnulib): Fix.
57698
57699 2007-04-12  Simon Josefsson  <simon@josefsson.org>
57700
57701         * modules/sysexits (Depends-on): Add absolute-header.
57702
57703 2007-04-12  Eric Blake  <ebb9@byu.net>
57704
57705         No need to preserve errno on success.
57706         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
57707         Reported by Bruno Haible.
57708
57709 2007-04-12  Simon Josefsson  <simon@josefsson.org>
57710
57711         * MODULES.html.sh (Support for maintaining and releasing
57712         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
57713
57714 2007-04-12  Simon Josefsson  <simon@josefsson.org>
57715
57716         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
57717
57718 2007-04-12  Simon Josefsson  <simon@josefsson.org>
57719
57720         * modules/autobuild: New module.
57721
57722         * m4/autobuild.m4: New file.
57723
57724 2007-04-11  Bruno Haible  <bruno@clisp.org>
57725
57726         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
57727         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
57728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
57729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
57730         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57731         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57732         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57733         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57734         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57735         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57736         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
57737         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57738         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57739         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
57740         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57741         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57742         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
57743         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57744         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57745         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
57746         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57747         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57748         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
57749         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57750         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57751         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
57752         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57753         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57754         Reported by Eric Blake.
57755
57756 2007-04-11  Bruno Haible  <bruno@clisp.org>
57757
57758         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
57759
57760 2007-04-10  Bruno Haible  <bruno@clisp.org>
57761
57762         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
57763         for NaN and Infinity. Needed on FreeBSD 6.1.
57764         * tests/test-vasnprintf-posix.c (test_function): Undo last change
57765         regarding results for "%010a" of Infinity and NaN.
57766         * tests/test-vasprintf-posix.c (test_function): Likewise.
57767         * tests/test-snprintf-posix.h (test_function): Likewise.
57768         * tests/test-sprintf-posix.h (test_function): Likewise.
57769         * tests/test-fprintf-posix.h (test_function): Likewise.
57770         * tests/test-printf-posix.h (test_function): Likewise.
57771         * tests/test-fprintf-posix.out: Likewise.
57772
57773 2007-04-10  Bruno Haible  <bruno@clisp.org>
57774
57775         * modules/locale-tests: New file.
57776         * tests/test-locale.c: New file.
57777
57778         * modules/locale: New file.
57779         * lib/locale_.h: New file.
57780         * m4/locale_h.m4: New file.
57781
57782 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
57783             Bruno Haible  <bruno@clisp.org>
57784
57785         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
57786         be determined, test for availability of the copysignf, copysign,
57787         copysignl functions.
57788         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
57789         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
57790         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
57791
57792 2007-04-09  Eric Blake  <ebb9@byu.net>
57793
57794         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
57795         * modules/stdio (Makefile.am): Support fflush.
57796         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57797         * modules/fflush: New file.
57798         * lib/fflush.c: Likewise.
57799         * m4/fflush.m4: Likewise.
57800         * modules/fflush-tests: New test.
57801         * tests/test-fflush.c: Likewise.
57802         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
57803
57804 2007-04-06  Bruno Haible  <bruno@clisp.org>
57805
57806         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
57807         (VASNPRINTF): Use signbit for faster determination whether to print a
57808         minus sign.
57809         * modules/vasnprintf (Files): Remove lib/float+.h.
57810         * modules/fprintf-posix (Depends-on): Add signbit.
57811         * modules/snprintf-posix (Depends-on): Likewise.
57812         * modules/sprintf-posix (Depends-on): Likewise.
57813         * modules/vasnprintf-posix (Depends-on): Likewise.
57814         * modules/vasprintf-posix (Depends-on): Likewise.
57815         * modules/vfprintf-posix (Depends-on): Likewise.
57816         * modules/vsnprintf-posix (Depends-on): Likewise.
57817         * modules/vsprintf-posix (Depends-on): Likewise.
57818
57819 2007-04-06  Bruno Haible  <bruno@clisp.org>
57820
57821         * tests/test-frexp.c (main): Test also the sign bit of zero results.
57822         * tests/test-frexpl.c (main): Likewise.
57823         * tests/test-ldexpl.c (main): Likewise.
57824         * modules/frexp-tests (Depends-on): Add signbit.
57825         * modules/frexpl-tests (Depdends-on): Likewise.
57826         * modules/ldexpl-tests (Depdends-on): Likewise.
57827
57828 2007-04-06  Bruno Haible  <bruno@clisp.org>
57829
57830         * modules/signbit-tests: New file.
57831         * tests/test-signbit.c: New file.
57832
57833         * modules/signbit: New file.
57834         * lib/signbitf.c: New file.
57835         * lib/signbitd.c: New file.
57836         * lib/signbitl.c: New file.
57837         * m4/signbit.m4: New file.
57838         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
57839         (signbit): New macro.
57840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
57841         REPLACE_SIGNBIT.
57842         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
57843         REPLACE_FREXPL into math.h.
57844
57845 2007-04-06  Bruno Haible  <bruno@clisp.org>
57846
57847         * modules/isnanf-nolibm-tests: New file.
57848         * tests/test-isnanf.c: New file.
57849
57850         * modules/isnanf-nolibm: New file.
57851         * lib/isnanf.h: New file.
57852         * lib/isnanf.c: New file.
57853         * lib/isnan.c: Consider the USE_FLOAT macro.
57854         * m4/isnanf.m4: New file.
57855
57856 2007-04-06  Bruno Haible  <bruno@clisp.org>
57857
57858         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
57859         (Link): New section.
57860
57861         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
57862
57863 2007-04-06  Bruno Haible  <bruno@clisp.org>
57864
57865         Assume the 'long double' type.
57866         * m4/longdouble.m4: Remove file.
57867         * config/srclist.txt: Don't mention longdouble.m4.
57868         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
57869         * lib/float+.h: Likewise.
57870         * lib/frexp.c: Likewise.
57871         * lib/printf-args.h: Likewise.
57872         * lib/printf-args.c: Likewise.
57873         * lib/printf-frexp.c: Likewise.
57874         * lib/printf-parse.c: Likewise.
57875         * lib/vasnprintf.c: Likewise.
57876         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
57877         * m4/intl.m4: Likewise.
57878         * m4/isnanl.m4: Likewise.
57879         * m4/printf.m4: Likewise.
57880         * m4/printf-frexpl.m4: Likewise.
57881         * m4/vasnprintf.m4: Likewise.
57882         * modules/allocsa (Files): Remove m4/longdouble.m4.
57883         * modules/gettext (Files): Likewise.
57884         * modules/relocatable-prog-wrapper (Files): Likewise.
57885         * modules/vasnprintf (Files): Likewise.
57886         * modules/isnanl (Files): Likewise.
57887         (Include): Simplify.
57888         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
57889         (Include): Simplify.
57890         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
57891         (Include): Simplify.
57892         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
57893         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57894         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
57895         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57896         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
57897         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57898         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
57899         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57900         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
57901         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57902         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
57903         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57904         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
57905         * tests/test-isnanl.c: Likewise.
57906         * tests/test-snprintf-posix.h: Likewise.
57907         * tests/test-sprintf-posix.h: Likewise.
57908         * tests/test-vasnprintf-posix.c: Likewise.
57909         * tests/test-vasnprintf-posix2.c: Likewise.
57910         * tests/test-vasprintf-posix.c: Likewise.
57911
57912 2007-04-06  Bruno Haible  <bruno@clisp.org>
57913
57914         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
57915         * lib/math_.h [__DECC]: Include the overridden include file through
57916         #include_next, outside the double-inclusion guard.
57917         * lib/stdio_.h [__DECC]: Likewise.
57918         * lib/stdlib_.h [__DECC]: Likewise.
57919         * lib/string_.h [__DECC]: Likewise.
57920         * lib/time_.h [__DECC]: Likewise.
57921         * lib/wchar_.h [__DECC]: Likewise.
57922         * lib/wctype_.h [__DECC]: Likewise.
57923         * lib/inttypes_.h [__DECC]: Likewise.
57924         Reported by Albert Chin <china@thewrittenword.com> in
57925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
57926
57927 2007-04-04  Eric Blake  <ebb9@byu.net>
57928
57929         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
57930         1.5.x.
57931
57932 2007-04-04  Bruno Haible  <bruno@clisp.org>
57933
57934         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
57935         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
57936
57937 2007-04-04  Bruno Haible  <bruno@clisp.org>
57938
57939         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
57940         results for "%010a" of Infinity and NaN.
57941         * tests/test-vasprintf-posix.c (test_function): Likewise.
57942         * tests/test-snprintf-posix.h (test_function): Likewise.
57943         * tests/test-sprintf-posix.h (test_function): Likewise.
57944         * tests/test-fprintf-posix.h (test_function): Remove these tests.
57945         * tests/test-printf-posix.h (test_function): Likewise.
57946         * tests/test-fprintf-posix.out: Update.
57947         Needed for FreeBSD 6.1.
57948
57949 2007-04-04  Bruno Haible  <bruno@clisp.org>
57950
57951         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
57952         directly used by the gnulib modules nor by gnulib-tool.
57953
57954 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57955
57956         * DEPENDENCIES: Give overall description of version dependency
57957         desirability.  Use more-typical names for apps.
57958         Add shell, coreutils, diffutils, grep, tar, gzip.
57959
57960 2007-04-04  Simon Josefsson  <simon@josefsson.org>
57961
57962         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
57963
57964 2007-04-04  Karl Berry  <karl@gnu.org>
57965
57966         * MODULES.html.sh (func_module): missing '.
57967
57968 2007-04-03  Bruno Haible  <bruno@clisp.org>
57969
57970         * modules/argmatch-tests (Makefile.am): New variable
57971         test_argmatch_LDADD.
57972         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
57973         * modules/array-list-tests (Makefile.am): New variable
57974         test_array_list_LDADD.
57975         * modules/array-oset-tests (Makefile.am): New variable
57976         test_array_oset_LDADD.
57977         * modules/avltree-list-tests (Makefile.am): New variable
57978         test_avltree_list_LDADD.
57979         * modules/avltree-oset-tests (Makefile.am): New variable
57980         test_avltree_oset_LDADD.
57981         * modules/avltreehash-list-tests (Makefile.am): New variable
57982         test_avltreehash_list_LDADD.
57983         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
57984         test_canonicalize_lgpl_LDADD.
57985         * modules/carray-list-tests (Makefile.am): New variable
57986         test_carray_list_LDADD.
57987         * modules/dirname-tests (Makefile.am): New variable
57988         test_dirname_LDADD.
57989         * modules/linked-list-tests (Makefile.am): New variable
57990         test_linked_list_LDADD.
57991         * modules/linkedhash-list-tests (Makefile.am): New variable
57992         test_linkedhash_list_LDADD.
57993         * modules/rbtree-list-tests (Makefile.am): New variable
57994         test_rbtree_list_LDADD.
57995         * modules/rbtree-oset-tests (Makefile.am): New variable
57996         test_rbtree_oset_LDADD.
57997         * modules/rbtreehash-list-tests (Makefile.am): New variable
57998         test_rbtreehash_list_LDADD.
57999         * modules/xvasprintf-tests (Makefile.am): New variable
58000         test_xvasprintf_LDADD.
58001         Reported by Eric Blake.
58002
58003 2007-04-03  Eric Blake  <ebb9@byu.net>
58004
58005         * DEPENDENCIES: Weaken m4 requirements.
58006
58007 2007-04-03  Bruno Haible  <bruno@clisp.org>
58008
58009         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
58010         * modules/isnanl-tests (configure.ac): Likewise.
58011
58012 2007-04-03  Ben Pfaff  <blp@gnu.org>
58013
58014         * modules/iconv_open: Add $(srcdir)/ to source directory
58015         references in Makefile fragments that call gperf, to fix VPATH
58016         builds.
58017
58018 2007-04-03  Bruno Haible  <bruno@clisp.org>
58019
58020         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
58021         * lib/ldexpl.c: Undo last change.
58022
58023 2007-04-03  Bruno Haible  <bruno@clisp.org>
58024
58025         * modules/printf-frexpl (Depends-on): Undo last change.
58026         (Files): Add m4/ldexpl.m4.
58027
58028 2007-04-03  Bruno Haible  <bruno@clisp.org>
58029
58030         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
58031         * modules/isnanl (Link): New section.
58032
58033         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
58034         * modules/frexp (Link): New section.
58035
58036         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
58037         * modules/frexpl (Link): New section.
58038
58039         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
58040         * modules/ldexpl (Link): New section.
58041
58042 2007-04-03  Bruno Haible  <bruno@clisp.org>
58043
58044         * modules/TEMPLATE-EXTENDED: New file.
58045         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
58046
58047 2007-04-03  Bruno Haible  <bruno@clisp.org>
58048
58049         * DEPENDENCIES: New file.
58050         Suggested by Simon Josefsson.
58051
58052 2007-04-03  Bruno Haible  <bruno@clisp.org>
58053
58054         * doc/gnulib.texi: Escape @.
58055
58056 2007-04-03  James Youngman  <jay@gnu.org>
58057         and Paul Eggert  <eggert@cs.ucla.edu>
58058
58059         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
58060         birthtime on all systems that have birthtime, not just those which
58061         use st_birthtimensec rather than st_birthtim.  Putting zero in
58062         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
58063         that the birth time is not available for files on an NFS mount.
58064
58065 2007-04-03  Simon Josefsson  <simon@josefsson.org>
58066
58067         * modules/memxor: Move back from crypto/, suggested by Bruno.
58068         * modules/crypto/hmac-sha1: Fix memxor dependency.
58069
58070         * modules/crypto/gc: Moved from ../.
58071
58072 2007-04-02  Eric Blake  <ebb9@byu.net>
58073
58074         * lib/ldexpl.c (includes): Avoid libm.
58075
58076         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
58077
58078 2007-04-02  Bruno Haible  <bruno@clisp.org>
58079
58080         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
58081         on IRIX.
58082
58083 2007-04-02  Bruno Haible  <bruno@clisp.org>
58084
58085         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
58086         x86 or x86_64 platforms running MacOS X.
58087         Reported by Ryan Schmidt <@ryandesign.com>.
58088
58089 2007-04-02  Bruno Haible  <bruno@clisp.org>
58090
58091         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
58092         i386.
58093
58094 2007-04-01  Simon Josefsson  <simon@josefsson.org>
58095
58096         * modules/crypto/arcfour: Moved from ../.
58097         * modules/crypto/arcfour-tests: Moved from ../.
58098         * modules/crypto/arctwo: Moved from ../.
58099         * modules/crypto/arctwo-tests: Moved from ../.
58100         * modules/crypto/des: Moved from ../.
58101         * modules/crypto/des-tests: Moved from ../.
58102         * modules/crypto/gc-arcfour: Moved from ../.
58103         * modules/crypto/gc-arcfour-tests: Moved from ../.
58104         * modules/crypto/gc-arctwo: Moved from ../.
58105         * modules/crypto/gc-arctwo-tests: Moved from ../.
58106         * modules/crypto/gc-des: Moved from ../.
58107         * modules/crypto/gc-des-tests: Moved from ../.
58108         * modules/crypto/gc-hmac-md5: Moved from ../.
58109         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
58110         * modules/crypto/gc-hmac-sha1: Moved from ../.
58111         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
58112         * modules/crypto/gc-md2: Moved from ../.
58113         * modules/crypto/gc-md2-tests: Moved from ../.
58114         * modules/crypto/gc-md4: Moved from ../.
58115         * modules/crypto/gc-md4-tests: Moved from ../.
58116         * modules/crypto/gc-md5: Moved from ../.
58117         * modules/crypto/gc-md5-tests: Moved from ../.
58118         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
58119         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
58120         * modules/crypto/gc-random: Moved from ../.
58121         * modules/crypto/gc-rijndael: Moved from ../.
58122         * modules/crypto/gc-rijndael-tests: Moved from ../.
58123         * modules/crypto/gc-sha1: Moved from ../.
58124         * modules/crypto/gc-sha1-tests: Moved from ../.
58125         * modules/crypto/gc-tests: Moved from ../.
58126         * modules/crypto/hmac-md5: Moved from ../.
58127         * modules/crypto/hmac-md5-tests: Moved from ../.
58128         * modules/crypto/hmac-sha1: Moved from ../.
58129         * modules/crypto/hmac-sha1-tests: Moved from ../.
58130         * modules/crypto/md2: Moved from ../.
58131         * modules/crypto/md2-tests: Moved from ../.
58132         * modules/crypto/md4: Moved from ../.
58133         * modules/crypto/md4-tests: Moved from ../.
58134         * modules/crypto/md5: Moved from ../.
58135         * modules/crypto/md5-tests: Moved from ../.
58136         * modules/crypto/memxor: Moved from ../.
58137         * modules/crypto/rijndael: Moved from ../.
58138         * modules/crypto/rijndael-tests: Moved from ../.
58139         * modules/crypto/sha1: Moved from ../.
58140
58141 2007-03-30  James Youngman  <jay@gnu.org>
58142
58143         * tests/test-stat-time.c (prepare_test): use chmod() rather than
58144         rename() to change the ctime of a file (because ctime is unaffected
58145         by rename on jfs2 on AIX 5.1).
58146         (main): Start by doing cleanup, in case a previous run failed leaving
58147         test files behind.
58148
58149 2007-03-31  Bruno Haible  <bruno@clisp.org>
58150
58151         Support old proprietary implementations of iconv.
58152         * modules/iconv_open: New file.
58153         * lib/iconv_.h: New file.
58154         * m4/iconv_h.m4: New file.
58155         * lib/iconv_open.c: New file.
58156         * lib/iconv_open-aix.gperf: New file.
58157         * lib/iconv_open-hpux.gperf: New file.
58158         * lib/iconv_open-irix.gperf: New file.
58159         * lib/iconv_open-osf.gperf: New file.
58160         * m4/iconv_open.m4: New file.
58161         * modules/linebreak (Depends-on): Add iconv_open.
58162         * modules/striconv (Depends-on): Likewise.
58163         * modules/striconveh (Depends-on): Likewise.
58164         * modules/unicodeio (Depends-on): Likewise.
58165         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
58166         (iconv_t)(-1).
58167         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
58168         conversion if cd is (iconv_t)(-1).
58169         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
58170         is not possible.
58171
58172 2007-03-31  Bruno Haible  <bruno@clisp.org>
58173
58174         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
58175         work on Solaris either. Protect also second use of "autodetect_jp".
58176
58177 2007-03-31  Bruno Haible  <bruno@clisp.org>
58178
58179         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
58180         the function is not present.
58181
58182 2007-03-31  Bruno Haible  <bruno@clisp.org>
58183
58184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
58185         the function is not present.
58186
58187 2007-03-31  Bruno Haible  <bruno@clisp.org>
58188
58189         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
58190         a bug in HP-UX iconv_open().
58191
58192 2007-03-31  Bruno Haible  <bruno@clisp.org>
58193
58194         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
58195         (Mathematics <math.h>): New section, add fpieee.
58196         (Input/output <stdio.h>): Add fseterr.
58197         (Mathematics <math.h>): New section, add printf-frexp.
58198         (Container data structures): Add sublist.
58199         (Core language properties): Add fpucw, inline.
58200         (Functions for greatest-width integer types <inttypes.h>): Add
58201         imaxabs, imaxdiv, inttypes.
58202         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
58203         isnanl-nolibm, ldexp.
58204         (Mathematics <math.h>): New section, add printf-frexpl.
58205         (Support for systems lacking POSIX:2001): Add fprintf-posix,
58206         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
58207         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
58208         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
58209         (Unicode string functions): Add unistr/u*-mbtoucr.
58210         (Java): Add javacomp-script, javaexec-script.
58211         (C#): Add csharpcomp-script, csharpexec-script.
58212         (Support for building libraries and executables): Add havelib,
58213         relocatable-*.
58214         (Support for maintaining and releasing projects): Renamed from
58215         'Support for maintaining and release projects'. Add announce-gen.
58216
58217 2007-03-31  Bruno Haible  <bruno@clisp.org>
58218
58219         * README: Talk primarily about git.
58220         (git and CVS): Renamed from CVS.
58221         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
58222         gnulib is available through git.
58223         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
58224
58225 2007-03-30  Bruno Haible  <bruno@clisp.org>
58226
58227         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
58228         * lib/poll_.h: Likewise.
58229         * lib/stat_.h: Likewise.
58230         * lib/sys_time_.h: Likewise.
58231         * lib/sysexit_.h: Likewise.
58232         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
58233         * lib/stdbool_.h: Likewise.
58234         * lib/byteswap_.h: Add double-inclusion guard.
58235
58236 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
58237
58238         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
58239
58240 2007-03-30  Karl Berry  <karl@gnu.org>
58241
58242         * config/srclist-update: double space after USA in the license
58243         substitution, since that's how it's usually (?) written.
58244
58245 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
58248         reported by Bruno Haible.
58249
58250 2007-03-29  Bruno Haible  <bruno@clisp.org>
58251
58252         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
58253         a bug in AIX iconv().
58254
58255 2007-03-29  Bruno Haible  <bruno@clisp.org>
58256
58257         * modules/ldexpl-tests: New file.
58258         * tests/test-ldexpl.c: New file.
58259
58260 2007-03-29  Bruno Haible  <bruno@clisp.org>
58261
58262         * lib/ldexpl.c: Include fpucw.h.
58263         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
58264         multiplication.
58265         * modules/ldexpl (Depends-on): Add fpucw.
58266
58267 2007-03-29  Bruno Haible  <bruno@clisp.org>
58268
58269         * modules/ldexpl: New file.
58270         * m4/ldexpl.m4: New file.
58271         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
58272         set.
58273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
58274         REPLACE_LDEXPL.
58275         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
58276         REPLACE_LDEXPL.
58277         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58278         gl_FUNC_LDEXPL_WORKS.
58279         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
58280         * modules/mathl (Files): Remove lib/ldexpl.c.
58281         (Depends-on): Add ldexpl.
58282
58283 2007-03-29  Bruno Haible  <bruno@clisp.org>
58284
58285         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
58286
58287 2007-03-29  Bruno Haible  <bruno@clisp.org>
58288
58289         * tests/test-striconveh.c (main): Don't assume that a direct conversion
58290         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
58291         and possibly also HP-UX.
58292         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
58293         work on AIX, IRIX, HP-UX, OSF/1.
58294         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
58295         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
58296         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
58297         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
58298         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
58299         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
58300
58301 2007-03-29  Bruno Haible  <bruno@clisp.org>
58302
58303         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
58304
58305 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
58306
58307         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
58308         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
58309
58310 2007-03-29  Eric Blake  <ebb9@byu.net>
58311
58312         * lib/acl-internal.h: Remove redundant include.
58313         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
58314         Cygwin when a file is locked.
58315
58316 2007-03-29  Bruno Haible  <bruno@clisp.org>
58317
58318         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
58319         file.
58320         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
58321
58322 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
58323
58324         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
58325         try to remove a parent directory if the child couldn't be removed
58326         (except for the first rmdir, which could fail because the child
58327         doesn't exist).  Problem reported by Jeff Blaine in
58328         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
58329
58330 2007-03-28  Bruno Haible  <bruno@clisp.org>
58331
58332         * lib/striconveh.c (utf8conv_carefully): New function.
58333         (mem_cd_iconveh_internal): Invoke it.
58334
58335 2007-03-28  Bruno Haible  <bruno@clisp.org>
58336
58337         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
58338         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
58339         input.
58340         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
58341         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
58342         unistr/u8-uctomb.
58343
58344 2007-03-28  Bruno Haible  <bruno@clisp.org>
58345
58346         * modules/unistr/u8-mbtoucr: New file.
58347         * lib/unistr/u8-mbtoucr.c: New file.
58348         * modules/unistr/u16-mbtoucr: New file.
58349         * lib/unistr/u16-mbtoucr.c: New file.
58350         * modules/unistr/u16-mbtoucr: New file.
58351         * lib/unistr/u16-mbtoucr.c: New file.
58352         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
58353
58354 2007-03-27  Simon Josefsson  <simon@josefsson.org>
58355             Bruno Haible  <bruno@clisp.org>
58356
58357         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
58358         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
58359         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
58360
58361         * m4/stdio_h.m4: Add stubs for vasprintf too.
58362
58363         * modules/stdio: Support vasprintf in sed command.
58364
58365         * modules/vasprintf: Depend on stdio for prototypes.  Remove
58366         vasprintf.h.  Add stdio module indicator.
58367
58368         * lib/stdio_.h: Declare asprintf and vasprintf, based on
58369         vasprintf.h.
58370
58371         * lib/vasprintf.h: File removed.
58372
58373         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
58374         * lib/vasprintf.c: Ditto.
58375         * lib/xvasprintf.c: Ditto.
58376         * tests/test-vasprintf-posix.c: Ditto.
58377         * tests/test-vasprintf.c: Ditto.
58378
58379 2007-03-27  Bruno Haible  <bruno@clisp.org>
58380
58381         Make vasnprintf multithread-safe.
58382         * lib/vasnprintf.c (decimal_point_char): New function.
58383         (VASNPRINTF): Use it.
58384         Suggested by Simon Josefsson.
58385
58386 2007-03-27  Eric Blake  <ebb9@byu.net>
58387
58388         Support sub-second birthtime on cygwin.
58389         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
58390         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
58391         (get_stat_birthtime): Also work with st_birthtim.
58392
58393 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
58394
58395         * lib/stat-time.h (USE_BIRTHTIME): Remove.
58396         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
58397         (get_stat_birthtime_ns): Do not try to use "spare" fields.
58398         (get_stat_birthtime_ns): Simplify compile-time tests.
58399         (get_stat_birthtime): Change the API to look like
58400         get_stat_mtime etc., except return a negative tv_nsec on error.
58401         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
58402         Don't check for "spare" fields.
58403         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
58404         or for struct stat.st_birthtime, as these tests aren't used.
58405         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
58406
58407 2007-03-27  Bruno Haible  <bruno@clisp.org>
58408
58409         * lib/stat-time.h: Include <sys/stat.h>.
58410
58411 2007-03-27  James Youngman  <jay@gnu.org>
58412
58413         * lib/stat-time.h (get_stat_birthtime): New function for
58414           retrieving st_birthtime as provided by UFS2 (hence *BSD).
58415         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
58416           and its variants.
58417         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
58418         * modules/stat-time-test: New file.
58419         * tests/test-stat-time.c: New test, devised by Bruno Haible.
58420
58421 2007-03-26  Bruno Haible  <bruno@clisp.org>
58422
58423         Better support of signalling NaNs.
58424         * lib/atanl.c: Include isnanl.h.
58425         (atanl): Perform test for NaN at the beginning of the function and
58426         through a call to isnanl.
58427         * lib/cosl.c: Include isnanl.h.
58428         (cosl): Perform test for NaN at the beginning of the function and
58429         through a call to isnanl.
58430         * lib/ldexpl.c: Include isnanl.h.
58431         (ldexpl): Perform test for NaN through a call to isnanl.
58432         * lib/logl.c: Include isnanl.h.
58433         (logl): Perform test for NaN at the beginning of the function and
58434         through a call to isnanl.
58435         * lib/sinl.c: Include isnanl.h.
58436         (sinl): Perform test for NaN at the beginning of the function and
58437         through a call to isnanl.
58438         * lib/sqrtl.c: Include isnanl.h.
58439         (sqrtl): Perform test for NaN at the beginning of the function and
58440         through a call to isnanl.
58441         * lib/tanl.c: Include isnanl.h.
58442         (tanl): Perform test for NaN at the beginning of the function and
58443         through a call to isnanl.
58444         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
58445         * modules/mathl (Depends-on): Add isnanl.
58446
58447 2007-03-26  Eric Blake  <ebb9@byu.net>
58448
58449         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
58450         regression in logic sense of previous patch.
58451
58452 2007-03-26  Bruno Haible  <bruno@clisp.org>
58453
58454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
58455         unportable shell command "if ! ...".
58456         Reported by Ralf Wildenhues.
58457
58458 2007-03-25  Bruno Haible  <bruno@clisp.org>
58459
58460         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
58461         <sysexits.h> file, and only add EX_CONFIG.
58462         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
58463         absolute file name and whether it is sufficient. Substitute also
58464         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
58465         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
58466         ABSOLUTE_SYSEXITS_H into sysexits.h.
58467
58468 2007-03-25  Bruno Haible  <bruno@clisp.org>
58469
58470         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
58471         hints is NULL.
58472
58473 2007-03-25  Bruno Haible  <bruno@clisp.org>
58474
58475         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
58476         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
58477
58478 2007-03-25  Bruno Haible  <bruno@clisp.org>
58479
58480         * lib/vasnprintf.c: Include langinfo.h.
58481         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
58482         multithread-safe.
58483         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
58484         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
58485         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58486         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58487         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58488         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58489         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58490         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
58491         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58492         Reported by Simon Josefsson.
58493
58494 2007-03-25  Bruno Haible  <bruno@clisp.org>
58495
58496         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
58497         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
58498         * modules/vasnprintf (Depends-on): Add stdint.
58499
58500 2007-03-25  Bruno Haible  <bruno@clisp.org>
58501
58502         * modules/fpieee: New file.
58503         * m4/fpieee.m4: New file.
58504         * modules/isnan-nolibm (Depends-on): Add fpieee.
58505         * modules/isnanl-nolibm (Depends-on): Add fpieee.
58506         * modules/isnanl (Depends-on): Add fpieee.
58507
58508 2007-03-25  Bruno Haible  <bruno@clisp.org>
58509
58510         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
58511
58512 2007-03-25  Bruno Haible  <bruno@clisp.org>
58513
58514         Avoid test failures on IRIX 6.5.
58515         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
58516         (main): Use it.
58517         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
58518         macros.
58519         (main): Use them.
58520
58521 2007-03-25  Bruno Haible  <bruno@clisp.org>
58522
58523         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
58524         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
58525         exists but doesn't work.
58526         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
58527         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
58528         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
58529         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
58530         math.h.
58531
58532 2007-03-25  Bruno Haible  <bruno@clisp.org>
58533
58534         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
58535         returns inf. Needed on IRIX 6.5.
58536
58537 2007-03-25  Bruno Haible  <bruno@clisp.org>
58538
58539         * tests/test-frexpl.c: Include isnanl-nolibm.h.
58540         (main): Use isnanl instead of x != x idiom.
58541         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
58542
58543         * tests/test-frexp.c: Include isnan.h.
58544         (main): Use isnan instead of x != x idiom.
58545         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
58546
58547 2007-03-25  Bruno Haible  <bruno@clisp.org>
58548
58549         * tests/test-frexp.c (NaN): New function/macro.
58550         (main): Use it instead of 0.0 / 0.0.
58551         * tests/test-isnan.c (NaN): New function/macro.
58552         (main): Use it instead of 0.0 / 0.0.
58553         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
58554         (test_function): Use it instead of 0.0 / 0.0.
58555         * tests/test-vasprintf-posix.c (NaN): New function/macro.
58556         (test_function): Use it instead of 0.0 / 0.0.
58557         * tests/test-snprintf-posix.h (NaN): New function/macro.
58558         (test_function): Use it instead of 0.0 / 0.0.
58559         * tests/test-sprintf-posix.h (NaN): New function/macro.
58560         (test_function): Use it instead of 0.0 / 0.0.
58561         * tests/test-fprintf-posix.h (NaN): New function/macro.
58562         (test_function): Use it instead of 0.0 / 0.0.
58563         * tests/test-printf-posix.h (NaN): New function/macro.
58564         (test_function): Use it instead of 0.0 / 0.0.
58565
58566         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
58567
58568 2007-03-25  Bruno Haible  <bruno@clisp.org>
58569
58570         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
58571
58572 2007-03-25  Bruno Haible  <bruno@clisp.org>
58573
58574         * lib/regexec.c (merge_state_with_log): Make static.
58575
58576 2007-03-25  Bruno Haible  <bruno@clisp.org>
58577
58578         * lib/trigl.c (kernel_rem_pio2): Make static.
58579
58580 2007-03-25  Bruno Haible  <bruno@clisp.org>
58581
58582         * lib/sincosl.c (sincosl_table): Make static.
58583
58584 2007-03-25  Bruno Haible  <bruno@clisp.org>
58585
58586         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
58587         if the compiler does not support C99.
58588
58589 2007-03-25  Bruno Haible  <bruno@clisp.org>
58590
58591         * modules/time (Makefile.am): Ensure all rule action lines start with a
58592         tab.
58593
58594 2007-03-24  Bruno Haible  <bruno@clisp.org>
58595
58596         * modules/tsearch-tests: New file.
58597         * tests/test-tsearch.sh: New file.
58598         * tests/test-tsearch.c: New file, mostly copied from glibc.
58599
58600         * modules/search-tests: New file.
58601         * tests/test-search.c: New file.
58602
58603         * modules/search: New file.
58604         * lib/search_.h: New file, incorporating lib/tsearch.h.
58605         * m4/search_h.m4: New file.
58606         * lib/tsearch.h: Remove file.
58607         * lib/tsearch.c: Include search.h instead of tsearch.h.
58608         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
58609         HAVE_TSEARCH.
58610         * modules/tsearch (Files): Remove lib/tsearch.h.
58611         (Depends-on): Add search.
58612         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
58613         (Include): Change tsearch.h into search.h.
58614
58615 2007-03-24  Bruno Haible  <bruno@clisp.org>
58616
58617         * modules/fpucw: New file.
58618         * lib/fpucw.h: New file.
58619         * lib/frexp.c: Include fpucw.h.
58620         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
58621         (FUNC): Use them.
58622         * lib/printf-frexp.c: Include fpucw.h.
58623         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
58624         (FUNC): Use them.
58625         * lib/vasnprintf.c: Include fpucw.h.
58626         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
58627         'long double' calculations.
58628         * tests/test-frexpl.c: Include fpucw.h.
58629         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
58630         * tests/test-printf-frexpl.c: Include fpucw.h.
58631         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
58632         * modules/frexpl (Depends-on): Add fpucw.
58633         * modules/printf-frexpl (Depends-on): Likewise.
58634         * modules/fprintf-posix (Depends-on): Likewise.
58635         * modules/snprintf-posix (Depends-on): Likewise.
58636         * modules/sprintf-posix (Depends-on): Likewise.
58637         * modules/vasnprintf-posix (Depends-on): Likewise.
58638         * modules/vasprintf-posix (Depends-on): Likewise.
58639         * modules/vfprintf-posix (Depends-on): Likewise.
58640         * modules/vsnprintf-posix (Depends-on): Likewise.
58641         * modules/vsprintf-posix (Depends-on): Likewise.
58642         * modules/frexpl-tests (Depends-on): Likewise.
58643         * modules/printf-frexpl-tests (Depends-on): Likewise.
58644
58645 2007-03-24  Bruno Haible  <bruno@clisp.org>
58646
58647         * lib/float+.h: New file.
58648         * lib/isnan.c: Include float+.h.
58649         (SIZE): New macro.
58650         (FUNC): Compare only SIZE bytes of the value.
58651         * lib/vasnprintf.c: Include float+.h.
58652         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
58653         SIZEOF_LDBL or SIZEOF_DBL bytes.
58654         * modules/isnan-nolibm (Files): Add lib/float+.h.
58655         * modules/isnanl-nolibm (Files): Add lib/float+.h.
58656         * modules/isnanl (Files): Add lib/float+.h.
58657         * modules/vasnprintf (Files): Add lib/float+.h.
58658
58659 2007-03-24  Bruno Haible  <bruno@clisp.org>
58660
58661         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
58662         include isnanl-nolibm.h.
58663
58664 2007-03-24  Bruno Haible  <bruno@clisp.org>
58665
58666         * tests/test-read-file.c (main): Don't produce spurious output for
58667         expected situations. Make the test fail if it encountered unexpected
58668         results.
58669
58670 2007-03-24  Bruno Haible  <bruno@clisp.org>
58671
58672         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
58673         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
58674
58675 2007-03-24  Bruno Haible  <bruno@clisp.org>
58676
58677         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
58678
58679 2007-03-24  Bruno Haible  <bruno@clisp.org>
58680
58681         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
58682         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
58683
58684         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
58685         * modules/utf8-ucs4: Turn into a symbolic link to module
58686         unistr/u8-mbtouc.
58687
58688         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
58689         utf8-ucs4-unsafe.
58690         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
58691         unistr/u8-mbtouc-unsafe.
58692
58693         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
58694         * modules/utf16-ucs4: Turn into a symbolic link to module
58695         unistr/u16-mbtouc.
58696
58697         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
58698         utf16-ucs4-unsafe.
58699         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
58700         unistr/u16-mbtouc-unsafe.
58701
58702         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
58703         * modules/ucs4-utf8: Turn into a symbolic link to module
58704         unistr/u8-ubtomb.
58705
58706         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
58707         * modules/ucs4-utf16: Turn into a symbolic link to module
58708         unistr/u16-ubtomb.
58709
58710 2007-03-24  Bruno Haible  <bruno@clisp.org>
58711
58712         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
58713         Enable the function only if HAVE_INLINE.
58714         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
58715         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
58716         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
58717         Enable the function only if HAVE_INLINE.
58718         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
58719         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
58720         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
58721         Enable the function only if HAVE_INLINE.
58722         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
58723         Enable the function only if HAVE_INLINE.
58724         * modules/utf8-ucs4: Update.
58725         * modules/utf8-ucs4-unsafe: Update.
58726         * modules/utf16-ucs4: Update.
58727         * modules/utf16-ucs4-unsafe: Update.
58728         * modules/ucs4-utf8: Update.
58729         * modules/ucs4-utf16: Update.
58730
58731 2007-03-24  Bruno Haible  <bruno@clisp.org>
58732
58733         * lib/utf8-ucs4.h: Remove file.
58734         * lib/utf8-ucs4-unsafe.h: Remove file.
58735         * lib/utf16-ucs4.h: Remove file.
58736         * lib/utf16-ucs4-unsafe.h: Remove file.
58737         * lib/ucs4-utf8.h: Remove file.
58738         * lib/ucs4-utf16.h: Remove file.
58739         * lib/unistr.h: Include their previous contents.
58740         * m4/utf-ucs4.m4: Remove file.
58741         * m4/ucs4-utf.m4: Remove file.
58742         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
58743         (Depends-on): Add unistr/base.
58744         (configure.ac): Remove gl_UTF_UCS4.
58745         (Makefile.am): Update.
58746         (Include): Change to unistr.h.
58747         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
58748         (Depends-on): Add unistr/base.
58749         (configure.ac): Remove gl_UTF_UCS4.
58750         (Makefile.am): Update.
58751         (Include): Change to unistr.h.
58752         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
58753         (Depends-on): Add unistr/base.
58754         (configure.ac): Remove gl_UTF_UCS4.
58755         (Makefile.am): Update.
58756         (Include): Change to unistr.h.
58757         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
58758         (Depends-on): Add unistr/base.
58759         (configure.ac): Remove gl_UTF_UCS4.
58760         (Makefile.am): Update.
58761         (Include): Change to unistr.h.
58762         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
58763         (Depends-on): Add unistr/base.
58764         (configure.ac): Remove gl_UCS4_UTF.
58765         (Makefile.am): Update.
58766         (Include): Change to unistr.h.
58767         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
58768         (Depends-on): Add unistr/base.
58769         (configure.ac): Remove gl_UCS4_UTF.
58770         (Makefile.am): Update.
58771         (Include): Change to unistr.h.
58772         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
58773         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
58774         utf8-ucs4-unsafe.h.
58775         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
58776         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
58777         utf16-ucs4-unsafe.h.
58778         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
58779         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
58780         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
58781         * lib/unistr/u8-strchr.c: Likewise.
58782         * lib/unistr/u8-strrchr.c: Likewise.
58783         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
58784         * lib/unistr/u16-strchr.c: Likewise.
58785         * lib/unistr/u16-strrchr.c: Likewise.
58786         * lib/striconveh.c: Update.
58787         * lib/linebreak.c: Update.
58788
58789 2007-03-24  Bruno Haible  <bruno@clisp.org>
58790
58791         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
58792         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
58793
58794 2007-03-22  Bruno Haible  <bruno@clisp.org>
58795
58796         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
58797
58798 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58799
58800         * MODULES.html.sh (File system functions): New module write-any-file.
58801         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
58802         * m4/write-any-file.m4: New files.
58803
58804 2007-03-23  Eric Blake  <ebb9@byu.net>
58805
58806         * gnulib-tool: Rearrange space-tab sequences, since some editors
58807         like to eat them.
58808
58809 2007-03-23  Eric Blake  <ebb9@byu.net>
58810
58811         * lib/version-etc.c (version_etc_va): Update license wording to
58812         be more concise.  Recommended by Richard Stallman.
58813
58814 2007-03-22  Bruno Haible  <bruno@clisp.org>
58815
58816         * lib/poll.c (MSG_PEEK): New fallback definition.
58817
58818 2007-03-22  Bruno Haible  <bruno@clisp.org>
58819
58820         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
58821         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
58822         (main): Update.
58823         Fixes a compilation error on BeOS.
58824
58825 2007-03-22  Bruno Haible  <bruno@clisp.org>
58826
58827         * modules/frexpl-tests: New file.
58828         * tests/test-frexpl.c: New file.
58829
58830         * modules/frexpl: New file.
58831         * m4/frexpl.m4: New file.
58832         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
58833         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
58834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
58835         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
58836         (Depends-on): Add frexpl. Remove isnanl-nolibm.
58837         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
58838
58839 2007-03-22  Bruno Haible  <bruno@clisp.org>
58840
58841         * lib/frexpl.c: Share code with lib/frexp.c.
58842         * modules/mathl (Files): Add lib/frexp.c.
58843         (Depends-on): Add isnanl-nolibm.
58844
58845 2007-03-22  Bruno Haible  <bruno@clisp.org>
58846
58847         * modules/printf-frexp (Files): Add m4/frexp.m4.
58848         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
58849         only if the found frexp function actually works.
58850
58851 2007-03-22  Bruno Haible  <bruno@clisp.org>
58852
58853         * lib/frexp.c: Remove older implementation that uses divisions.
58854
58855 2007-03-21  Bruno Haible  <bruno@clisp.org>
58856
58857         * modules/frexp-tests: New file.
58858         * tests/test-frexp.c: New file.
58859
58860         * modules/frexp: New file.
58861         * lib/frexp.c: New file.
58862         * m4/frexp.m4: New file.
58863         * lib/math_.h (frexp): New declaration.
58864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
58865         REPLACE_FREXP.
58866         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
58867
58868 2007-03-21  Bruno Haible  <bruno@clisp.org>
58869
58870         * modules/isnanl-tests: New file.
58871         * tests/test-isnanl.c: New file.
58872
58873         * modules/isnanl: New file.
58874         * lib/isnanl.h: New file.
58875         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
58876         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
58877         gl_FUNC_ISNANL_WORKS.
58878         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
58879         New macros.
58880
58881 2007-03-21  Bruno Haible  <bruno@clisp.org>
58882
58883         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
58884         lib/isnanl.h.
58885         (Include): Update.
58886         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
58887         * lib/vasnprintf.c: Update.
58888         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
58889         tests/test-isnanl.h, remove tests/test-isnanl.c.
58890         (Makefile.am): Update.
58891         * tests/test-isnanl-nolibm.c: New file.
58892         * tests/test-isnanl.h: New file.
58893         * tests/test-isnanl.c: Remove file.
58894
58895 2007-03-21  Jim Meyering  <jim@meyering.net>
58896
58897         When trying to open ".", treat ESTALE like EACCES.
58898         * lib/savewd.c (savewd_save): Resort to forking not just upon
58899         failure with EACCES, but also when errno is ESTALE.
58900
58901 2007-03-20  Bruno Haible  <bruno@clisp.org>
58902
58903         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
58904         Needed on AIX 5.1. Reported by Matthew Woehlke.
58905
58906 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58907
58908         Suggestions by Bruno Haible:
58909         * lib/acl-internal.h: Include "gettext.h" rather than rolling
58910         our own.
58911         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
58912         * modules/acl (Depends-on): Add gettext.
58913
58914 2007-03-19  Bruno Haible  <bruno@clisp.org>
58915
58916         * modules/iconvme: Remove file.
58917         * lib/iconvme.h: Remove file.
58918         * lib/iconvme.c: Remove file.
58919         * m4/iconvme.m4: Remove file.
58920
58921 2007-03-19  Bruno Haible  <bruno@clisp.org>
58922
58923         * doc/relocatable-maint.texi: Break long shell script line.
58924         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
58925
58926 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58927
58928         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
58929         handle file_has_acl.
58930         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
58931         * lib/acl.c: Move header inclusions and related macro defns into
58932         lib/acl-internal.h.
58933         (S_ISLNK): Remove defn, since that's now done for us.
58934         (file_has_acl): Move to lib/file-has-acl.c.
58935         Call acl_trivial if available.  This is the crucial part of the fix.
58936         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
58937         shared within the library.  Rewrite a bit, partly to make it compatible
58938         with the GNU coding style.
58939         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
58940         Remove unnecessary double-quotes.
58941         Don't test for acl_to_text; the build will catch that.
58942         Replace acl_entries if it doesn't exist and it is needed.
58943         Check for -lsec and acl_trivial (as used on Solaris 10).
58944         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
58945         lib/file-has-acl.c.
58946         (Depends-on): Add sys_stat, for S_ISLNK.
58947
58948 2007-03-19  Ben Pfaff  <blp@gnu.org>
58949
58950         * doc/gnulib.texi: Fix typos.
58951         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
58952
58953 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58954
58955         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
58956         If size is zero here, buf must be zero.
58957
58958 2007-03-19  Simon Josefsson  <simon@josefsson.org>
58959
58960         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
58961         <bruno@clisp.org>.
58962
58963 2007-03-18  Bruno Haible  <bruno@clisp.org>
58964
58965         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
58966         Suggested by Eric Blake.
58967
58968 2007-03-18  Ben Pfaff  <blp@gnu.org>
58969
58970         * doc/relocatable.texi: Recommend using as prefix a directory
58971         that does not exist and will never be created.  Based on
58972         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
58973         and others.
58974
58975 2007-03-17  Bruno Haible  <bruno@clisp.org>
58976
58977         * lib/fchownat.c: Include lchown.h.
58978
58979 2007-03-17  Bruno Haible  <bruno@clisp.org>
58980
58981         Fix endless loop when the given allocated size was > INT_MAX.
58982         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
58983         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
58984         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
58985         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
58986         * lib/sprintf.c (sprintf): Likewise.
58987
58988 2007-03-17  Bruno Haible  <bruno@clisp.org>
58989
58990         * tests/test-argp-2.sh (func_compare): Output a context diff.
58991
58992 2007-03-17  Bruno Haible  <bruno@clisp.org>
58993
58994         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
58995         locale's decimal-point character.
58996
58997 2007-03-17  Bruno Haible  <bruno@clisp.org>
58998
58999         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
59000         before comparing it. Needed because on some platforms (e.g. x86) a
59001         'long double' occupies less bytes than sizeof (long double).
59002
59003 2007-03-17  Bruno Haible  <bruno@clisp.org>
59004
59005         * tests/test-crc.c (main): Make printf statements 64-bit clean.
59006         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
59007         * tests/test-getaddrinfo.c (simple): Likewise.
59008         * tests/test-read-file.c (main): Likewise.
59009
59010 2007-03-17  Bruno Haible  <bruno@clisp.org>
59011
59012         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
59013
59014 2007-03-17  Bruno Haible  <bruno@clisp.org>
59015
59016         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
59017         unused variable.
59018
59019 2007-03-17  Bruno Haible  <bruno@clisp.org>
59020
59021         * tests/test-c-strcasecmp.c: Include c-strcase.h.
59022         * tests/test-c-strncasecmp.c: Likewise.
59023
59024 2007-03-17  Bruno Haible  <bruno@clisp.org>
59025
59026         * modules/stdlib (Depends-on): Add unistd.
59027         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
59028         Needed for MacOS X 10.3.
59029
59030 2007-03-17  Bruno Haible  <bruno@clisp.org>
59031
59032         * lib/unistr/u-strdup.h: Include <stdlib.h>.
59033
59034 2007-03-17  Bruno Haible  <bruno@clisp.org>
59035
59036         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
59037
59038 2007-03-17  Bruno Haible  <bruno@clisp.org>
59039
59040         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
59041         to reflect files copied from gnulib (with or without modifications).
59042         Suggested by Jim Meyering.
59043
59044 2007-03-17  Eric Blake  <ebb9@byu.net>
59045
59046         * NEWS: Document stdlib change from 2007-02-18.
59047
59048 2007-03-17  Jim Meyering  <jim@meyering.net>
59049
59050         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
59051         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
59052         someone uses a name containing shell meta-characters.
59053         Reported by Alfred M. Szmidt.
59054
59055         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
59056
59057 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
59058
59059         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
59060         and copy gettext configuration files only if configure.ac contains
59061         a use of AM_GNU_GETTEXT_VERSION.
59062
59063 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
59064
59065         * build-aux/bootstrap (gnulib_name): New variable.
59066         (gnulib_tool_options): Use it.
59067
59068 2007-03-13  Simon Josefsson  <simon@josefsson.org>
59069
59070         * tests/test-des.c: Use new namespace.
59071
59072 2007-03-15  Bruno Haible  <bruno@clisp.org>
59073
59074         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
59075         Reported by James Youngman <jay@gnu.org>.
59076
59077 2007-03-15  Bruno Haible  <bruno@clisp.org>
59078
59079         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
59080         declared prototype. Needed with cc on OSF/1 5.1.
59081
59082 2007-03-15  Bruno Haible  <bruno@clisp.org>
59083
59084         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
59085         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
59086         (struct gl_list_implementation): Add dispose_fn argument to the
59087         'create_empty', 'create' methods.
59088         (struct gl_list_impl_base): Add field 'dispose_fn'.
59089         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
59090         argument.
59091         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
59092         dispose_fn argument.
59093         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
59094         dispose_fn on the dropped values.
59095         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
59096         dispose_fn argument.
59097         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
59098         dropped values.
59099         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
59100         (gl_tree_remove_node): Call dispose_fn on the dropped value.
59101         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
59102         (gl_tree_remove_node): Call dispose_fn on the dropped value.
59103         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
59104         argument.
59105         (gl_tree_list_free): Call dispose_fn on the dropped values.
59106         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
59107         the dropped values.
59108         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59109         Add dispose_fn argument.
59110         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
59111         Call dispose_fn on the dropped values.
59112         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
59113         Add dispose_fn argument.
59114         (gl_sublist_create): Initialize the 'dispose_fn' field.
59115         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
59116         * tests/test-array_list.c (main): Update.
59117         * tests/test-carray_list.c (main): Update.
59118         * tests/test-avltree_list.c (main): Update.
59119         * tests/test-rbtree_list.c (main): Update.
59120         * tests/test-avltreehash_list.c (main): Update.
59121         * tests/test-rbtreehash_list.c (main): Update.
59122         * tests/test-linked_list.c (main): Update.
59123         * tests/test-linkedhash_list.c (main): Update.
59124         * tests/test-array_oset.c (main): Update.
59125
59126 2007-03-15  Bruno Haible  <bruno@clisp.org>
59127
59128         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
59129         (gl_oset_create_empty): Add dispose_fn argument.
59130         (struct gl_oset_implementation): Add dispose_fn argument to
59131         'create_empty' method.
59132         (struct gl_oset_impl_base): Add dispose_fn field.
59133         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
59134         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
59135         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
59136         values.
59137         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
59138         (gl_tree_oset_free): Call dispose_fn on the dropped values.
59139         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
59140         dropped value.
59141         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
59142         dropped value.
59143         * tests/test-array_oset.c (main): Update.
59144         * tests/test-avltree_oset.c (main): Update.
59145         * tests/test-rbtree_oset.c (main): Update.
59146         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
59147
59148 2007-03-13  Bruno Haible  <bruno@clisp.org>
59149
59150         * tests/test-stdbool.c (i): Update after last patch.
59151
59152 2007-03-12  Bruno Haible  <bruno@clisp.org>
59153
59154         * lib/quotearg.c: Include <wctype.h> early, before the definition of
59155         the iswprint macro. Needed on Solaris 2.5.1.
59156
59157 2007-03-12  Bruno Haible  <bruno@clisp.org>
59158
59159         * tests/test-printf-frexp.c (main): Declare x as volatile.
59160
59161 2007-03-12  Simon Josefsson  <simon@josefsson.org>
59162
59163         * doc/gnulib.texi (Build robot for gnulib): New section.
59164
59165 2007-03-12  Jim Meyering  <jim@meyering.net>
59166
59167         * build-aux/bootstrap: New file.
59168         * build-aux/bootstrap.conf: New file, from coreutils.
59169
59170 2007-03-11  Bruno Haible  <bruno@clisp.org>
59171
59172         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
59173
59174 2007-03-12  Simon Josefsson  <simon@josefsson.org>
59175
59176         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
59177         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
59178         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
59179
59180 2007-03-11  Bruno Haible  <bruno@clisp.org>
59181
59182         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
59183         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
59184
59185 2007-03-11  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
59188         formula. Needed for SunPRO C 5.0.
59189
59190 2007-03-11  Bruno Haible  <bruno@clisp.org>
59191
59192         * modules/long-options (Depends-on): Add getopt.
59193
59194 2007-03-11  Bruno Haible  <bruno@clisp.org>
59195
59196         * modules/modechange (Depends-on): Add stdbool.
59197
59198 2007-03-11  Bruno Haible  <bruno@clisp.org>
59199
59200         * modules/i-ring (Depends-on): Add stdbool.
59201
59202 2007-03-11  Bruno Haible  <bruno@clisp.org>
59203
59204         * modules/gc-des (Depends-on): Add stdbool.
59205
59206 2007-03-11  Bruno Haible  <bruno@clisp.org>
59207
59208         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
59209
59210 2007-03-11  Bruno Haible  <bruno@clisp.org>
59211
59212         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
59213
59214 2007-03-11  Bruno Haible  <bruno@clisp.org>
59215
59216         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
59217
59218 2007-03-11  Bruno Haible  <bruno@clisp.org>
59219
59220         * lib/vasnprintf.c (sprintf): Undefine.
59221
59222 2007-03-11  Bruno Haible  <bruno@clisp.org>
59223
59224         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
59225         initializers in SunPRO C and Compaq C compilers.
59226
59227 2007-03-11  Bruno Haible  <bruno@clisp.org>
59228
59229         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
59230         decrementing code ANSI C compliant.
59231
59232 2007-03-11  Bruno Haible  <bruno@clisp.org>
59233
59234         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
59235         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
59236
59237 2007-03-11  Bruno Haible  <bruno@clisp.org>
59238
59239         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
59240         <stdbool.h> substitute doesn't pass.
59241
59242 2007-03-11  Bruno Haible  <bruno@clisp.org>
59243
59244         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
59245
59246 2007-03-11  Bruno Haible  <bruno@clisp.org>
59247
59248         * gnulib-tool (func_create_megatestdir): Create also an autobuild
59249         script, for submission to autobuild.josefsson.org.
59250
59251 2007-03-10  Bruno Haible  <bruno@clisp.org>
59252
59253         * modules/canonicalize-lgpl-tests: New file.
59254         * tests/test-canonicalize-lgpl.sh: New file.
59255         * tests/test-canonicalize-lgpl.c: New file.
59256
59257         * modules/c-strcase-tests: New file.
59258         * tests/test-c-strcase.sh: New file.
59259         * tests/test-c-strcasecmp.c: New file.
59260         * tests/test-c-strncasecmp.c: New file.
59261
59262         * modules/atexit-tests: New file.
59263         * tests/test-atexit.sh: New file.
59264         * tests/test-atexit.c: New file.
59265
59266 2007-03-10  Bruno Haible  <bruno@clisp.org>
59267
59268         * tests/test-binary-io.sh: Use temporary filenames that are not so
59269         likely to clash with those of other tests (in a parallel make).
59270         * tests/test-binary-io.c: Likewise.
59271
59272 2007-03-10  Bruno Haible  <bruno@clisp.org>
59273
59274         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
59275         fallback; use #error instead.
59276         Suggested by Simon Josefsson.
59277
59278 2007-03-10  Bruno Haible  <bruno@clisp.org>
59279
59280         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
59281         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
59282         first and the last.
59283
59284 2007-03-10  Bruno Haible  <bruno@clisp.org>
59285
59286         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
59287
59288 2007-03-10  Bruno Haible  <bruno@clisp.org>
59289
59290         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
59291         "make distcheck".
59292         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
59293         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
59294         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
59295
59296 2007-03-10  Bruno Haible  <bruno@clisp.org>
59297
59298         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
59299         variable.
59300         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
59301         variable.
59302
59303 2007-03-09  Eric Blake  <ebb9@byu.net>
59304         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
59305
59306         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
59307         types are not being provided by gnulib.
59308         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
59309         types are supported.
59310
59311 2007-03-10  Bruno Haible  <bruno@clisp.org>
59312
59313         * lib/stdio_.h (__attribute__): New macro.
59314         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
59315         vsprintf): Specify __attribute__ __format__ for GCC.
59316         Suggested by Eric Blake.
59317
59318 2007-03-09  Bruno Haible  <bruno@clisp.org>
59319
59320         * modules/printf-posix-tests: New file.
59321         * tests/test-printf-posix.sh: New file.
59322         * tests/test-printf-posix.c: New file.
59323
59324         * modules/printf-posix: New file.
59325         * lib/printf.c: New file.
59326         * m4/printf-posix-rpl.m4: New file.
59327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
59328         REPLACE_PRINTF.
59329         * lib/stdio_.h (printf): New declaration.
59330         (format, __format__, ____printf____, ____scanf____, ____strftime____,
59331         ____strfmon____): New macros.
59332         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
59333         REPLACE_PRINTF.
59334
59335 2007-03-09  Bruno Haible  <bruno@clisp.org>
59336
59337         * tests/test-vasnprintf-posix2.sh: New file.
59338         * tests/test-vasnprintf-posix2.c: New file.
59339         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
59340         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
59341         (Makefile.am): Activate test-vasnprintf-posix2.sh.
59342
59343         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
59344         a locale dependent decimal point, rather than always '.'.
59345
59346 2007-03-09  Eric Blake  <ebb9@byu.net>
59347
59348         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
59349         spite of platforms like Tandem/NSK that define it to -1.
59350
59351 2007-03-08  Bruno Haible  <bruno@clisp.org>
59352
59353         * modules/vprintf-posix-tests: New file.
59354         * tests/test-vprintf-posix.sh: New file.
59355         * tests/test-vprintf-posix.c: New file.
59356         * tests/test-printf-posix.h: New file.
59357
59358         * modules/vprintf-posix: New file.
59359         * lib/vprintf.c: New file.
59360         * m4/vprintf-posix.m4: New file.
59361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
59362         REPLACE_VPRINTF.
59363         * lib/stdio_.h (vprintf): New declaration.
59364         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
59365         REPLACE_VPRINTF.
59366
59367 2007-03-08  Bruno Haible  <bruno@clisp.org>
59368
59369         * modules/fprintf-posix-tests: New file.
59370         * tests/test-fprintf-posix.sh: New file.
59371         * tests/test-fprintf-posix.c: New file.
59372
59373         * modules/fprintf-posix: New file.
59374         * lib/fprintf.c: New file.
59375         * m4/fprintf-posix.m4: New file.
59376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
59377         REPLACE_FPRINTF.
59378         * lib/stdio_.h (fprintf): New declaration.
59379         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
59380         REPLACE_FPRINTF.
59381
59382 2007-03-08  Bruno Haible  <bruno@clisp.org>
59383
59384         * modules/vfprintf-posix-tests: New file.
59385         * tests/test-vfprintf-posix.sh: New file.
59386         * tests/test-vfprintf-posix.c: New file.
59387         * tests/test-fprintf-posix.h: New file.
59388         * tests/test-fprintf-posix.out: New file.
59389
59390         * modules/vfprintf-posix: New file.
59391         * lib/vfprintf.c: New file.
59392         * m4/vfprintf-posix.m4: New file.
59393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
59394         REPLACE_VFPRINTF.
59395         * lib/stdio_.h (vfprintf): New declaration.
59396         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
59397         REPLACE_VFPRINTF.
59398
59399 2007-03-08  Bruno Haible  <bruno@clisp.org>
59400
59401         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
59402
59403 2007-03-08  Bruno Haible  <bruno@clisp.org>
59404
59405         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
59406         instead of 'expr' invocations.
59407         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59408         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59409         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59410         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59411         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59412         Suggested by Paul Eggert.
59413
59414 2007-03-08  Bruno Haible  <bruno@clisp.org>
59415
59416         * modules/fseterr-tests: New file.
59417         * tests/test-fseterr.c: New file.
59418
59419         * modules/fseterr: New file.
59420         * lib/fseterr.h: New file.
59421         * lib/fseterr.c: New file.
59422
59423 2007-03-08  Bruno Haible  <bruno@clisp.org>
59424
59425         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
59426         * lib/getopt_.h: Likewise.
59427         * lib/mbswidth.h: Likewise.
59428         * lib/setenv.h: Likewise.
59429         * lib/vasnprintf.h: Likewise.
59430         * lib/vasprintf.h: Likewise.
59431         * lib/verror.h: Likewise.
59432         * lib/xsetenv.h: Likewise.
59433         * lib/xvasprintf.h: Likewise.
59434
59435 2007-03-08  Jim Meyering  <jim@meyering.net>
59436
59437         * users.txt: Add parted.
59438
59439         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
59440
59441 2007-03-07  Bruno Haible  <bruno@clisp.org>
59442
59443         * m4/printf.m4: Make the shell script snippets copy&pastable.
59444
59445 2007-03-02  Bruno Haible  <bruno@clisp.org>
59446
59447         * lib/netinet_in_.h: New file.
59448         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
59449         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
59450         * modules/netinet_in (Files): Add lib/netinet_in_.h.
59451         (Depends-on): Add absolute-header.
59452         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
59453         into netinet/in.h.
59454
59455 2007-03-03  Bruno Haible  <bruno@clisp.org>
59456
59457         * lib/sys_select_.h: New file.
59458         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
59459         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
59460         * modules/sys_select (Files): Add lib/sys_select_.h.
59461         (Depends-on): Add absolute-header.
59462         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
59463         into sys/select.h.
59464
59465 2007-03-02  Bruno Haible  <bruno@clisp.org>
59466
59467         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
59468         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
59469         values.
59470         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
59471         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
59472         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
59473         * modules/sys_socket (Depends-on): Add absolute-header.
59474         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
59475         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
59476         (Include): Remove requirement of inclusion of <sys/types.h>.
59477
59478 2007-03-02  Bruno Haible  <bruno@clisp.org>
59479
59480         * lib/byteswap_.h (bswap_32): Fix formula.
59481
59482 2007-03-06  Bruno Haible  <bruno@clisp.org>
59483
59484         * modules/sprintf-posix-tests: New file.
59485         * tests/test-sprintf-posix.c: New file.
59486
59487         * modules/sprintf-posix: New file.
59488         * lib/sprintf.c: New file.
59489         * m4/sprintf-posix.m4: New file.
59490         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
59491         REPLACE_SPRINTF.
59492         * lib/stdio_.h (sprintf): New declaration.
59493         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
59494         REPLACE_SPRINTF.
59495
59496 2007-03-06  Bruno Haible  <bruno@clisp.org>
59497
59498         * modules/vsprintf-posix-tests: New file.
59499         * tests/test-vsprintf-posix.c: New file.
59500         * tests/test-sprintf-posix.h: New file.
59501
59502         * modules/vsprintf-posix: New file.
59503         * lib/vsprintf.c: New file.
59504         * m4/vsprintf-posix.m4: New file.
59505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
59506         REPLACE_VSPRINTF.
59507         * lib/stdio_.h (vsprintf): New declaration.
59508         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
59509         REPLACE_VSPRINTF.
59510
59511 2007-03-06  Bruno Haible  <bruno@clisp.org>
59512
59513         * modules/vsnprintf (Depend-on): Remove minmax.
59514
59515 2007-03-06  Bruno Haible  <bruno@clisp.org>
59516
59517         * modules/snprintf-posix-tests: New file.
59518         * tests/test-snprintf-posix.c: New file.
59519
59520         * modules/snprintf-posix: New file.
59521         * m4/snprintf-posix.m4: New file.
59522         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
59523         gl_FUNC_SNPRINTF.
59524         (gl_FUNC_SNPRINTF): Invoke it.
59525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
59526         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
59527         is set.
59528         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
59529
59530 2007-03-06  Bruno Haible  <bruno@clisp.org>
59531
59532         * modules/vsnprintf-posix-tests: New file.
59533         * tests/test-vsnprintf-posix.c: New file.
59534         * tests/test-snprintf-posix.h: New file.
59535
59536         * modules/vsnprintf-posix: New file.
59537         * m4/vsnprintf-posix.m4: New file.
59538         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
59539         gl_FUNC_VSNPRINTF.
59540         (gl_FUNC_VSNPRINTF): Invoke it.
59541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
59542         * lib/stdio_.h (vsnprintf): Define as a replacement if
59543         REPLACE_VSNPRINTF is set.
59544         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
59545
59546 2007-03-06  Bruno Haible  <bruno@clisp.org>
59547
59548         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
59549         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
59550
59551 2007-03-06  Bruno Haible  <bruno@clisp.org>
59552
59553         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
59554         (asinl): Declare also if HAVE_DECL_ASINL is set.
59555         (atanl): Declare also if HAVE_DECL_ATANL is set.
59556         (ceill): Declare also if HAVE_DECL_CEILL is set.
59557         (cosl): Declare also if HAVE_DECL_COSL is set.
59558         (expl): Declare also if HAVE_DECL_EXPL is set.
59559         (floorl): Declare also if HAVE_DECL_FLOORL is set.
59560         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
59561         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
59562         (logl): Declare also if HAVE_DECL_LOGL is set.
59563         (sinl): Declare also if HAVE_DECL_SINL is set.
59564         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
59565         (tanl): Declare also if HAVE_DECL_TANL is set.
59566         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
59567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
59568         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
59569         declaration of frexpl, ldexpl.
59570         * modules/printf-frexpl (Depends-on): Add math.
59571         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
59572
59573 2007-03-05  Bruno Haible  <bruno@clisp.org>
59574
59575         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
59576         frexpl and ldexpl are declared.
59577         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
59578
59579 2007-03-05  Bruno Haible  <bruno@clisp.org>
59580
59581         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
59582         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
59583
59584 2007-03-05  Bruno Haible  <bruno@clisp.org>
59585
59586         * lib/stdio_.h: Include <stddef.h>.
59587
59588 2007-03-05  Bruno Haible  <bruno@clisp.org>
59589
59590         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
59591
59592 2007-03-05  Bruno Haible  <bruno@clisp.org>
59593
59594         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
59595         NetBSD 4, from Ralf Wildenhues.
59596
59597 2007-03-04  Bruno Haible  <bruno@clisp.org>
59598
59599         * lib/vasprintf.h: Update #if logic for the case when the functions
59600         exist but are overridden.
59601
59602 2007-03-04  Bruno Haible  <bruno@clisp.org>
59603
59604         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
59605         implementations: glibc-2.4 and MacOS X 10.3.
59606         * tests/test-vasnprintf-posix.c (test_function): Test also the case
59607         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
59608         * tests/test-vasprintf-posix.c (test_function): Likewise.
59609
59610 2007-03-04  Bruno Haible  <bruno@clisp.org>
59611
59612         * modules/vasprintf-posix-tests: New file.
59613         * tests/test-vasprintf-posix.c: New file.
59614
59615         * modules/vasprintf-posix: New file.
59616         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
59617         defined.
59618         * m4/vasprintf-posix.m4: New file.
59619         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
59620         gl_FUNC_VASPRINTF.
59621         (gl_FUNC_VASPRINTF): Invoke it.
59622         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
59623         here.
59624         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
59625
59626 2007-03-04  Bruno Haible  <bruno@clisp.org>
59627
59628         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
59629         REPLACE_GETTIMEOFDAY.
59630         * modules/sys_time (Makefile.am): Likewise.
59631         * m4/sys_time_h.m4: Likewise.
59632         * m4/gettimeofday.m4: Likewise.
59633
59634 2007-03-04  Bruno Haible  <bruno@clisp.org>
59635
59636         * modules/vasnprintf-posix-tests: New file.
59637         * tests/test-vasnprintf-posix.c: New file.
59638
59639         * modules/vasnprintf-posix: New file.
59640         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
59641         printf-frexpl.h.
59642         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
59643         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
59644         REPLACE_VASNPRINTF is defined.
59645         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
59646         gl_FUNC_VASNPRINTF.
59647         (gl_FUNC_VASNPRINTF): Invoke it.
59648         * m4/vasnprintf-posix.m4: New file.
59649         * m4/printf.m4: New file.
59650
59651 2007-03-04  Bruno Haible  <bruno@clisp.org>
59652
59653         Compile progreloc.c only if --enable-relocatable is specified.
59654         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
59655         if --enable-relocatable was specified.
59656         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
59657         lib_SOURCES.
59658
59659 2007-03-04  Jim Meyering  <jim@meyering.net>
59660
59661         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
59662         Use it consistently, rather than enumerating errno constants.
59663
59664 2007-03-04  Bruno Haible  <bruno@clisp.org>
59665
59666         * modules/xvasprintf-tests: New file.
59667         * tests/test-xvasprintf.c: New file.
59668
59669         * modules/vasprintf-tests: New file.
59670         * tests/test-vasprintf.c: New file.
59671
59672         * modules/vasnprintf-tests: New file.
59673         * tests/test-vasnprintf.c: New file.
59674
59675         * modules/vsnprintf-tests: New file.
59676         * tests/test-vsnprintf.c: New file.
59677
59678         * modules/snprintf-tests: New file.
59679         * tests/test-snprintf.c: New file.
59680
59681 2007-03-04  Bruno Haible  <bruno@clisp.org>
59682
59683         Compile relocatable.c only if --enable-relocatable is specified.
59684         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
59685         gl_RELOCATABLE_LIBRARY.
59686         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
59687         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
59688         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
59689         gl_RELOCATABLE_LIBRARY.
59690         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
59691         (Makefile.am): Remove lib_SOURCES.
59692         * modules/relocatable-lib-lgpl (configure.ac): Invoke
59693         gl_RELOCATABLE_LIBRARY.
59694         (Makefile.am): Remove lib_SOURCES.
59695         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
59696         always.
59697         * modules/relocatable-prog-wrapper (configure.ac): Invoke
59698         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
59699
59700 2007-03-04  Bruno Haible  <bruno@clisp.org>
59701
59702         * modules/argmatch-tests: New file.
59703         * tests/test-argmatch.c: New file.
59704
59705         * tests/test-allocsa.c (main): Halve the number of loop runs.
59706
59707         * modules/alloca-opt-tests: New file.
59708         * tests/test-alloca-opt.c: New file.
59709
59710 2007-03-04  Jim Meyering  <jim@meyering.net>
59711
59712         Work around difference between Linux ACLs and Solaris 10 ZFS.
59713         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
59714         for EINVAL.
59715
59716 2007-03-03  Bruno Haible  <bruno@clisp.org>
59717
59718         * modules/relocatable-prog (Depends-on): Add back progreloc's
59719         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
59720
59721 2007-03-03  Bruno Haible  <bruno@clisp.org>
59722
59723         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
59724         * modules/relocatable-lib: New file.
59725
59726 2007-03-03  Bruno Haible  <bruno@clisp.org>
59727
59728         * modules/relocatable-prog: Renamed from modules/relocatable.
59729         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
59730
59731 2007-03-03  Bruno Haible  <bruno@clisp.org>
59732
59733         * modules/relocatable-script (Files): Add doc/relocatable.texi,
59734         m4/relocatable-lib.m4.
59735         (Depends-on): Remove 'relocatable'.
59736         (configure.ac): Add gl_RELOCATABLE_NOP.
59737
59738 2007-03-03  Bruno Haible  <bruno@clisp.org>
59739
59740         * modules/relocatable-prog-wrapper: New file.
59741         * modules/relocatable (Depends-on): Add it. Remove all other
59742         dependencies except progname.
59743         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
59744
59745         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
59746         (gl_FUNC_STRERROR): Nop.
59747         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
59748
59749         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
59750         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
59751
59752         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
59753         (gl_FUNC_READLINK): Update.
59754
59755         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
59756
59757 2007-03-03  Bruno Haible  <bruno@clisp.org>
59758
59759         * lib/xreadlink.c: Include <unistd.h> unconditionally.
59760         * modules/xreadlink (Depends-on): Add unistd.
59761         * modules/xreadlink-with-size (Depends-on): Likewise.
59762
59763 2007-03-03  Bruno Haible  <bruno@clisp.org>
59764
59765         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
59766         extracted from gt_FUNC_SETENV.
59767         (gt_FUNC_SETENV): Remove macro.
59768         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
59769         remove gt_FUNC_SETENV.
59770
59771 2007-03-03  Bruno Haible  <bruno@clisp.org>
59772
59773         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
59774         ENABLE_RELOCATABLE here.
59775         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
59776
59777 2007-03-03  Bruno Haible  <bruno@clisp.org>
59778
59779         * modules/rbtreehash-list-tests (Depends-on): Add progname.
59780         * tests/test-rbtreehash_list.c: Include progname.h.
59781         (main): Call set_program_name.
59782
59783         * modules/rbtree-oset-tests (Depends-on): Add progname.
59784         * tests/test-rbtree_oset.c: Include progname.h.
59785         (main): Call set_program_name.
59786
59787         * modules/rbtree-list-tests (Depends-on): Add progname.
59788         * tests/test-rbtree_list.c: Include progname.h.
59789         (main): Call set_program_name.
59790
59791         * modules/linked-list-tests (Depends-on): Add progname.
59792         * tests/test-linked_list.c: Include progname.h.
59793         (main): Call set_program_name.
59794
59795 2007-03-03  Bruno Haible  <bruno@clisp.org>
59796
59797         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
59798         All uses of __restrict changed to _Restrict_.
59799         * lib/glob_.h (__restrict): Remove macro.
59800
59801 2007-03-02  Bruno Haible  <bruno@clisp.org>
59802
59803         * modules/gettext (configure.ac): Require gettext infrastructure
59804         from version 0.16.1.
59805
59806 2007-03-02  Bruno Haible  <bruno@clisp.org>
59807
59808         * modules/linkedhash-list-tests (Depends-on): Add progname.
59809         * tests/test-linkedhash_list.c: Include progname.h.
59810         (main): Call set_program_name.
59811
59812         * modules/carray-list-tests (Depends-on): Add progname.
59813         * tests/test-carray_list.c: Include progname.h.
59814         (main): Call set_program_name.
59815
59816         * modules/avltreehash-list-tests (Depends-on): Add progname.
59817         * tests/test-avltreehash_list.c: Include progname.h.
59818         (main): Call set_program_name.
59819
59820         * modules/avltree-oset-tests (Depends-on): Add progname.
59821         * tests/test-avltree_oset.c: Include progname.h.
59822         (main): Call set_program_name.
59823
59824         * modules/avltree-list-tests (Depends-on): Add progname.
59825         * tests/test-avltree_list.c: Include progname.h.
59826         (main): Call set_program_name.
59827
59828         * modules/array-oset-tests (Depends-on): Add progname.
59829         * tests/test-array_oset.c: Include progname.h.
59830         (main): Call set_program_name.
59831
59832         * modules/array-list-tests (Depends-on): Add progname.
59833         * tests/test-array_list.c: Include progname.h.
59834         (main): Call set_program_name.
59835
59836         * modules/argp-tests (Depends-on): Add progname.
59837         * tests/test-argp.c: Include argp.h first. Include progname.h.
59838         (main): Call set_program_name.
59839
59840 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59841
59842         * doc/gnulib-tool.texi (Initial import): Reword description of
59843         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
59844         limited effect even if defined after the first system include.
59845
59846 2007-03-01  Bruno Haible  <bruno@clisp.org>
59847
59848         * build-aux/config.libpath: Update to libtool-1.5.22.
59849         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59850
59851 2007-03-01  Bruno Haible  <bruno@clisp.org>
59852
59853         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
59854         foo_CFLAGS.
59855         Reported by Ralf Wildenhues.
59856
59857 2007-03-01  Bruno Haible  <bruno@clisp.org>
59858
59859         * build-aux/install-reloc: Remove object files left over by some
59860         compilers.
59861         Reported by Ralf Wildenhues.
59862
59863 2007-03-01  Bruno Haible  <bruno@clisp.org>
59864
59865         * build-aux/install-reloc: Break long lines.
59866
59867 2007-03-01  Bruno Haible  <bruno@clisp.org>
59868
59869         * doc/relocatable.texi: Document that it may not work on OpenBSD.
59870         Reported by Ralf Wildenhues.
59871
59872 2007-03-01  Bruno Haible  <bruno@clisp.org>
59873
59874         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
59875         include ordering constraints.
59876
59877 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59878
59879         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
59880         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
59881         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
59882         as another example.
59883         * lib/time_.h: Fix misspelling.
59884         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59885         Require gl_HEADER_TIME_H_DEFAULTS.
59886         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
59887         * m4/time_r.m4 (gl_TIME_R): Likewise.
59888         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
59889
59890 2007-03-01  Bruno Haible  <bruno@clisp.org>
59891
59892         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
59893         * m4/utimens.m4 (gl_UTIMENS): Likewise.
59894
59895 2007-03-01  Jim Meyering  <jim@meyering.net>
59896
59897         * modules/xreadlink (Maintainer): Add my name.
59898         * modules/xreadlink-with-size (Depends-on): Alphabetize.
59899
59900 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
59901             Bruno Haible  <bruno@clisp.org>
59902
59903         * build-aux/install-reloc: Compile also c-ctype.c.
59904         * build-aux/relocatable.sh.in: New file.
59905         * doc/relocatable.texi: New file.
59906         * doc/relocatable-maint.texi: New file.
59907         * doc/gnulib.texi: Include relocatable-maint.texi.
59908         * lib/progreloc.c: Include unistd.h unconditionally.
59909         * lib/relocwrapper.c: Include unistd.h unconditionally.
59910         Include c-ctype.h.
59911         (add_dotbin): Use c_tolower.
59912         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
59913         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
59914         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
59915         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
59916         to m4/relocatable-lib.m4.
59917         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
59918         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
59919         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
59920         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
59921         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
59922         * modules/relocatable: New file.
59923         * modules/relocatable-lib: New file.
59924         * modules/relocatable-script: New file.
59925
59926 2007-02-28  Bruno Haible  <bruno@clisp.org>
59927
59928         Import --enable-relocatable infrastructure.
59929         * build-aux/config.libpath: New file, from GNU gettext.
59930         * build-aux/install-reloc: New file, from GNU gettext.
59931         * build-aux/reloc-ldflags: New file, from GNU gettext.
59932         * lib/relocatable.h: New file, from GNU gettext.
59933         * lib/relocatable.c: New file, from GNU gettext.
59934         * lib/relocwrapper.c: New file, from GNU gettext.
59935         * m4/relocatable.m4: New file, from GNU gettext.
59936
59937 2007-02-28  Bruno Haible  <bruno@clisp.org>
59938
59939         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
59940
59941         * modules/xreadlink: New file, from GNU gettext with modifications.
59942         * lib/xreadlink.c: New file, from GNU gettext.
59943         * lib/xreadlink.h: Add comments.
59944         (xreadlink): New declaration.
59945
59946         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
59947         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
59948         lib/xreadlink-with-size.c.
59949         (configure.ac): Remove gl_XREADLINK invocation.
59950         (Makefile.am): Augment lib_SOURCES.
59951         * m4/xreadlink.m4: Remove file.
59952         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
59953         (xreadlink_with_size): Renamed from xreadink.
59954         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
59955         * modules/canonicalize (Depends-on): Replace xreadlink with
59956         xreadlink-with-size.
59957         * lib/canonicalize.c (canonicalize_filename_mode): Update.
59958
59959 2007-02-25  Jim Meyering  <jim@meyering.net>
59960
59961         * build-aux/announce-gen: When complaining about excess arguments,
59962         list them.
59963
59964 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59965
59966         * README: Document signed integer overflow situation more
59967         accurately.
59968
59969 2007-02-25  Bruno Haible  <bruno@clisp.org>
59970
59971         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
59972         'a' or 'A' conversion.
59973
59974 2007-02-25  Bruno Haible  <bruno@clisp.org>
59975
59976         * modules/filename: Renamed from modules/pathname.
59977         (Files): Replace lib/pathname.h with lib/filename.h. Replace
59978         lib/concatpath.c with lib/concat-filename.c.
59979         (Makefile.am): Update.
59980         (Include): Replace pathname.h with filename.h.
59981         * lib/filename.h: Renamed from lib/pathname.h.
59982         (concatenated_filename): Renamed from concatenated_pathname.
59983         * lib/concat-filename.c: Renamed from lib/concatpath.c.
59984         (concatenated_filename): Renamed from concatenated_pathname.
59985         * lib/findprog.c: Include filename.h instead of pathname.h.
59986         (find_in_path): Update.
59987         * lib/javacomp.c: Include filename.h instead of pathname.h.
59988         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
59989         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
59990         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
59991         is_oldgcj_14_13_usable, is_javac_usable): Update.
59992         * lib/javaexec.c: Include filename.h instead of pathname.h.
59993         (execute_java_class): Update.
59994         * modules/findprog: Update.
59995         * modules/javacomp: Update.
59996         * modules/javaexec: Update.
59997         * MODULES.html.sh (File system functions): Add 'filename', remove
59998         'pathname'.
59999
60000 2007-02-25  Bruno Haible  <bruno@clisp.org>
60001
60002         * modules/printf-frexpl-tests: New file.
60003         * tests/test-printf-frexpl.c: New file.
60004
60005         * modules/printf-frexpl: New file.
60006         * lib/printf-frexpl.h: New file.
60007         * lib/printf-frexpl.c: New file.
60008         * m4/printf-frexpl.m4: New file.
60009
60010 2007-02-25  Bruno Haible  <bruno@clisp.org>
60011
60012         * modules/printf-frexp-tests: New file.
60013         * tests/test-printf-frexp.c: New file.
60014
60015         * modules/printf-frexp: New file.
60016         * lib/printf-frexp.h: New file.
60017         * lib/printf-frexp.c: New file.
60018         * m4/printf-frexp.m4: New file.
60019
60020 2007-02-25  Bruno Haible  <bruno@clisp.org>
60021
60022         Assume automake >= 1.10 for the tests.
60023         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
60024         * modules/arctwo-tests: Likewise.
60025         * modules/argp-tests: Likewise.
60026         * modules/avltree-list-tests: Likewise.
60027         * modules/avltree-oset-tests: Likewise.
60028         * modules/avltreehash-list-tests: Likewise.
60029         * modules/carray-list-tests: Likewise.
60030         * modules/crc-tests: Likewise.
60031         * modules/des-tests: Likewise.
60032         * modules/gc-arcfour-tests: Likewise.
60033         * modules/gc-arctwo-tests: Likewise.
60034         * modules/gc-des-tests: Likewise.
60035         * modules/gc-hmac-md5-tests: Likewise.
60036         * modules/gc-hmac-sha1-tests: Likewise.
60037         * modules/gc-md2-tests: Likewise.
60038         * modules/gc-md4-tests: Likewise.
60039         * modules/gc-md5-tests: Likewise.
60040         * modules/gc-pbkdf2-sha1-tests: Likewise.
60041         * modules/gc-rijndael-tests: Likewise.
60042         * modules/gc-sha1-tests: Likewise.
60043         * modules/gc-tests: Likewise.
60044         * modules/getaddrinfo-tests: Likewise.
60045         * modules/hmac-md5-tests: Likewise.
60046         * modules/hmac-sha1-tests: Likewise.
60047         * modules/linked-list-tests: Likewise.
60048         * modules/linkedhash-list-tests: Likewise.
60049         * modules/lock-tests: Likewise.
60050         * modules/md2-tests: Likewise.
60051         * modules/md4-tests: Likewise.
60052         * modules/md5-tests: Likewise.
60053         * modules/rbtree-list-tests: Likewise.
60054         * modules/rbtree-oset-tests: Likewise.
60055         * modules/rbtreehash-list-tests: Likewise.
60056         * modules/read-file-tests: Likewise.
60057         * modules/rijndael-tests: Likewise.
60058         * modules/stdint-tests: Likewise.
60059         * modules/tls-tests: Likewise.
60060
60061 2007-02-24  Bruno Haible  <bruno@clisp.org>
60062
60063         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
60064         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
60065         function; instead check whether isnan with a double argument links.
60066         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
60067         function; instead check whether isnan with a 'long double' argument
60068         links.
60069         Reported by Eric Blake <ebb9@byu.net>.
60070
60071 2007-02-24  Bruno Haible  <bruno@clisp.org>
60072
60073         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
60074         defined.
60075         * lib/isnanl.c: Remove all code. Just include isnan.c.
60076         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
60077
60078 2007-02-25  Jim Meyering  <jim@meyering.net>
60079
60080         Avoid conflicting types for 'unsetenv' on FreeBSD.
60081         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
60082         conflicting with FreeBSD's (5.0 and 6.1) function declaration
60083         in stdlib.h.
60084
60085 2007-02-24  Bruno Haible  <bruno@clisp.org>
60086
60087         * modules/isnanl-nolibm-tests: New file.
60088         * tests/test-isnanl.c: New file.
60089
60090         * modules/isnanl-nolibm: New file.
60091         * lib/isnanl.h: New file.
60092         * lib/isnanl.c: New file.
60093         * m4/isnanl.m4: New file.
60094
60095 2007-02-24  Bruno Haible  <bruno@clisp.org>
60096
60097         * modules/isnan-nolibm-tests: New file.
60098         * tests/test-isnan.c: New file.
60099
60100         * modules/isnan-nolibm: New file.
60101         * lib/isnan.h: New file.
60102         * lib/isnan.c: New file.
60103         * m4/isnan.m4: New file.
60104
60105 2007-02-24  Bruno Haible  <bruno@clisp.org>
60106
60107         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
60108         assume that an exponent fits in 20 bits.
60109
60110 2007-02-24  Jim Meyering  <jim@meyering.net>
60111
60112         * m4/regex.m4: Update the description of the configure-time option,
60113         --without-included-regex, to state accurately what the defaults are,
60114         and perhaps to give people an idea why using this option is risky.
60115
60116 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60117
60118         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
60119         loops on small arguments.  This attempts to avoid the problem
60120         Bruno Haible reported for AIX 4.3.2 in
60121         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
60122
60123 2007-02-23  Bruno Haible  <bruno@clisp.org>
60124
60125         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
60126         Needed for help2man.
60127
60128 2007-02-23  Karl Berry  <karl@gnu.org>
60129
60130         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
60131         exists, foo.h should be cvs-ignored, not committed.
60132
60133 2007-02-23  Eric Blake  <ebb9@byu.net>
60134
60135         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
60136         * lib/stat-time.h (includes): Likewise.
60137         * lib/utimecmp.c (includes): Likewise.
60138         * lib/utimens.h (includes): Likewise.
60139         * lib/getdate.y (includes): Also include "timespec.h" for use
60140         internal to the module.
60141         * modules/utimens (Depends-on): Revert yesterday's patch.
60142         * modules/nanosleep (Depends-on): Add missing dependency.
60143
60144 2007-02-22  Bruno Haible  <bruno@clisp.org>
60145
60146         * lib/glob.c: Don't include getlogin_r.h.
60147
60148 2007-02-22  Jim Meyering  <jim@meyering.net>
60149
60150         * modules/utimens (Depends-on): Add timespec, required for
60151         utimens.h's inclusion of timespec.h.
60152
60153 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
60156         long unreadable paths in GNU/Linux.  Problem reported by Andreas
60157         Schwab in
60158         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
60159         I'll try to think of a better way to fix the Solaris problem.
60160
60161         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
60162         like glibc; on Solaris 10, it fails with errno == EINVAL.
60163         POSIX says the behavior is unspecified if the first argument is NULL,
60164         so play it safe and never pass NULL to the system getcwd.
60165
60166 2007-02-21  Jim Meyering  <jim@meyering.net>
60167
60168         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
60169         of gettimeofday.  It would conflict with the one now always
60170         provided via sys_time_.h.  Reported by Matthew Woehlke, as
60171         an IRIX 6.5 build failure.
60172
60173 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60174
60175         Minor fixups to port to Solaris 10 with Sun C 5.8.
60176         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
60177         * modules/getcwd (Depends-on): Add dirfd.
60178         * lib/putenv.c (putenv): #undef it.
60179         (rpl_putenv): New decl.
60180         (malloc, free): Include <stdlib.h> rather than prototyping separately.
60181
60182 2007-02-20  Bruno Haible  <bruno@clisp.org>
60183
60184         * modules/stdio-tests: New file.
60185         * tests/test-stdio.c: New file.
60186
60187         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
60188         (Depends-on): Add stdio.
60189         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
60190         (Include): Use <stdio.h> instead of vsnprintf.h.
60191         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
60192         HAVE_DECL_VSNPRINTF.
60193         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
60194
60195         * modules/snprintf (Files): Remove lib/snprintf.h.
60196         (Depends-on): Add stdio.
60197         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
60198         (Include): Use <stdio.h> instead of snprintf.h.
60199         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
60200         HAVE_DECL_SNPRINTF.
60201         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
60202         * lib/getaddrinfo.c: Likewise.
60203
60204         * modules/stdio: New file.
60205         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
60206         * lib/snprintf.h: Remove file.
60207         * lib/vsnprintf.h: Remove file.
60208         * lib/.cppi-disable: Remove snprintf.h.
60209         * m4/stdio_h.m4: New file.
60210         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
60211
60212 2007-02-20  Jim Meyering  <jim@meyering.net>
60213
60214         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
60215         used by e.g., mingw.  From Bruno Haible.
60216
60217 2007-02-19  Bruno Haible  <bruno@clisp.org>
60218
60219         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
60220         warnings.
60221         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60222
60223 2007-02-19  Bruno Haible  <bruno@clisp.org>
60224
60225         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
60226         from mingw users.
60227
60228 2007-02-19  Bruno Haible  <bruno@clisp.org>
60229
60230         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
60231         warnings.
60232         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
60233
60234 2007-02-19  Jim Meyering  <jim@meyering.net>
60235
60236         Don't use FD after a successful "fdopendir (fd)".
60237         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
60238         Reset it by calling dirfd on the just-obtained DIR*.
60239
60240         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
60241         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
60242
60243 2007-02-18  Bruno Haible  <bruno@clisp.org>
60244
60245         * lib/readlink.c: Include <unistd.h>.
60246         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
60247         HAVE_READLINK.
60248         * modules/readlink (Depends-on): Add unistd.
60249         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60250         (Include): Add <unistd.h>.
60251
60252         * lib/getlogin_r.h: Remove file.
60253         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
60254         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
60255         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
60256         HAVE_DECL_GETLOGIN_R.
60257         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
60258         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60259         (Include): Use <unistd.h> instead of getlogin_r.h.
60260
60261         * lib/getcwd.h: Remove file.
60262         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
60263         * lib/xgetcwd.c: Likewise.
60264         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
60265         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
60266         * modules/getcwd (Files): Remove lib/getcwd.h.
60267         (Depends-on): Add unistd.
60268         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60269         (Include): Use <unistd.h> instad of getcwd.h.
60270
60271         * lib/ftruncate.c: Include <unistd.h> first.
60272         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
60273         Set HAVE_FTRUNCATE.
60274         * modules/ftruncate (Depends-on): Add unistd.
60275         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60276
60277         * lib/fchdir.c: Include <unistd.h> first.
60278         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
60279         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
60280         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
60281         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60282         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
60283
60284         * lib/dup2.c: Include <unistd.h> first.
60285         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
60286         HAVE_DUP2.
60287         * modules/dup2 (Depends-on): Add unistd.
60288         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60289
60290         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
60291         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
60292         REPLACE_CHOWN. Don't define chown as a macro here.
60293         * modules/chown (Depends-on): Add unistd.
60294         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60295
60296         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
60297         Add definition for GL_LINK_WARNING.
60298         (chown, dup2): New declarations.
60299         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
60300         link warning.
60301         (ftruncate): New declaration.
60302         (getcwd): New declaration, taken from old getcwd.h.
60303         (getlogin_r): New declaration, taken from old getlogin_r.h.
60304         (readlink): New declaration.
60305         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
60306         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
60307         (gl_PREREQ_UNISTD): Remove macro.
60308         (gl_UNISTD_MODULE_INDICATOR): New macro.
60309         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
60310         many new variables. Don't set UNISTD_H.
60311         * modules/unistd (Description): Change.
60312         (Depends-on): Add link-warning.
60313         (configure.ac): Update.
60314         (Makefile.am): Create unistd.h always. Substitute many new variables
60315         into it.
60316
60317 2007-02-18  Bruno Haible  <bruno@clisp.org>
60318
60319         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
60320         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
60321         HAVE_GETSUBOPT.
60322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
60323         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
60324         * lib/getsubopt.h: Remove file.
60325         * modules/getsubopt (Files): Remove lib/getsubopt.h.
60326         (Depends-on): Add stdlib.
60327         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60328         (Includes): Use <stdlib.h> instead of getsubopt.h.
60329         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
60330         Set HAVE_GETSUBOPT.
60331         * lib/getsubopt.c: Don't include getsubopt.h.
60332
60333 2007-02-18  Bruno Haible  <bruno@clisp.org>
60334
60335         * modules/fchdir (Depends-on): Add dup2.
60336
60337 2007-02-18  Bruno Haible  <bruno@clisp.org>
60338
60339         * lib/stdlib_.h: Handle glibc's special invocation convention
60340         specially.
60341
60342 2007-02-18  Bruno Haible  <bruno@clisp.org>
60343
60344         * modules/stdlib-tests: New file.
60345         * tests/test-stdlib.c: New file.
60346
60347         * modules/mkstemp (Files): Remove lib/mkstemp.h.
60348         (Depends-on): Add stdlib.
60349         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60350         (Includes): Use <stdlib.h> instead of mkstemp.h.
60351         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
60352         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
60353         * lib/mkstemp.c: Don't include mkstemp.h.
60354         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
60355         * lib/stdlib--.h: Don't include mkstemp.h.
60356
60357         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
60358         (Depends-on): Add stdlib.
60359         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60360         (Includes): Use <stdlib.h> instead of mkdtemp.h.
60361         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
60362         HAVE_MKDTEMP.
60363         * lib/mkdtemp.c: Don't include mkdtemp.h.
60364         * lib/clean-temp.c: Don't include mkdtemp.h.
60365
60366         * modules/exit (Files): Remove lib/exit.h.
60367         (Depends-on): Add stdlib.
60368         (Makefile.am): Remove lib_SOURCES.
60369         (Include): Use <stdlib.h> instead of exit.h.
60370         * lib/argmatch.c: Don't include exit.h.
60371         * lib/execute.c: Likewise.
60372         * lib/pagealign_alloc.c: Likewise.
60373         * lib/pipe.c: Likewise.
60374         * lib/wait-process.c: Likewise.
60375         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
60376         * lib/exitfail.c: Likewise.
60377         * lib/savewd.c: Likewise.
60378         * lib/xsetenv.c: Likewise.
60379
60380         * modules/stdlib: New file.
60381         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
60382         and extra comments about mkstemp().
60383         * lib/exit.h: Remove file.
60384         * lib/mkdtemp.h: Remove file.
60385         * lib/mkstemp.h: Remove file.
60386         * m4/stdlib_h.m4: New file.
60387         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
60388
60389 2007-02-18  Bruno Haible  <bruno@clisp.org>
60390
60391         * modules/math-tests: New file.
60392         * tests/test-math.c: New file.
60393
60394         * modules/math: New file.
60395         * modules/mathl (Files): Remove lib/mathl.h.
60396         (Depends-on): Add math.
60397         (Makefile.am): Don't mention mathl.h.
60398         (Include): Use <math.h> instead of mathl.h.
60399         * lib/math_.h: New file.
60400         * lib/mathl.h: Remove file.
60401         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
60402         mathl.h.
60403         * lib/asinl.c: Likewise.
60404         * lib/atanl.c: Likewise.
60405         * lib/ceill.c: Likewise.
60406         * lib/cosl.c: Likewise.
60407         * lib/expl.c: Likewise.
60408         * lib/floorl.c: Likewise.
60409         * lib/frexpl.c: Likewise.
60410         * lib/ldexpl.c: Likewise.
60411         * lib/logl.c: Likewise.
60412         * lib/sincosl.c: Likewise.
60413         * lib/sinl.c: Likewise.
60414         * lib/sqrtl.c: Likewise.
60415         * lib/tanl.c: Likewise.
60416         * lib/trigl.c: Likewise.
60417         * m4/math_h.m4: New file.
60418         * MODULES.html.sh (Mathematics): Add math.
60419
60420 2007-02-17  Bruno Haible  <bruno@clisp.org>
60421
60422         * modules/wctype-tests: New file.
60423         * tests/test-wctype.c: New file.
60424
60425         * modules/wchar-tests: New file.
60426         * tests/test-wchar.c: New file.
60427
60428         * modules/unistd-tests: New file.
60429         * tests/test-unistd.c: New file.
60430
60431         * modules/time-tests: New file.
60432         * tests/test-time.c: New file.
60433
60434         * modules/sysexits-tests: New file.
60435         * tests/test-sysexits.c: New file.
60436
60437         * modules/sys_time-tests: New file.
60438         * tests/test-sys_time.c: New file.
60439
60440         * modules/sys_stat-tests: New file.
60441         * tests/test-sys_stat.c: New file.
60442
60443         * modules/sys_socket-tests: New file.
60444         * tests/test-sys_socket.c: New file.
60445
60446         * modules/sys_select-tests: New file.
60447         * tests/test-sys_select.c: New file.
60448
60449         * modules/string-tests: New file.
60450         * tests/test-string.c: New file.
60451
60452         * modules/stdbool-tests: New file.
60453         * tests/test-stdbool.c: New file.
60454
60455         * modules/netinet_in-tests: New file.
60456         * tests/test-netinet_in.c: New file.
60457
60458         * modules/inttypes-tests: New file.
60459         * tests/test-inttypes.c: New file.
60460
60461         * modules/fcntl-tests: New file.
60462         * tests/test-fcntl.c: New file.
60463
60464         * modules/byteswap-tests: New file.
60465         * tests/test-byteswap.c: New file.
60466
60467         * modules/arpa_inet-tests: New file.
60468         * tests/test-arpa_inet.c: New file.
60469
60470 2007-02-17  Bruno Haible  <bruno@clisp.org>
60471
60472         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
60473         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
60474         if the corresponding module is not enabled. Emit link warnings if
60475         the function is used nevertheless.
60476         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
60477         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
60478         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
60479         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
60480         * modules/inttypes (Depends-on): Add link-warning.
60481         (Makefile.am): Copy the contents of build-aux/link-warning.h into
60482         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
60483         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
60484         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
60485         * modules/imaxdiv (configure.ac): Likewise.
60486         * modules/strtoimax (configure.ac): Likewise.
60487         * modules/strtoumax (configure.ac): Likewise.
60488
60489 2007-02-17  Bruno Haible  <bruno@clisp.org>
60490
60491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
60492         gl_STRING_MODULE_INDICATOR_DEFAULTS.
60493         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
60494         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
60495
60496 2007-02-17  Bruno Haible  <bruno@clisp.org>
60497
60498         * modules/link-warning: New file.
60499         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
60500         * lib/string_.h (GL_LINK_WARNING): Remove definition.
60501         * modules/string (Depends-on): Add link-warning.
60502         (Makefile.am): Copy the contents of build-aux/link-warning.h into
60503         string.h.
60504         * MODULES.html.sh (Support for building libraries and executables): Add
60505         link-warning.
60506
60507 2007-02-17  Bruno Haible  <bruno@clisp.org>
60508
60509         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
60510         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
60511         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
60512         long lines.
60513
60514 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
60515             Bruno Haible  <bruno@clisp.org>
60516
60517         * modules/tmpfile: New file.
60518         * lib/tmpfile.c: New file.
60519         * m4/tmpfile.m4: New file.
60520         * MODULES.html.sh (func_all_modules): New section "Input/output".
60521
60522 2007-02-15  Bruno Haible  <bruno@clisp.org>
60523
60524         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
60525         (supports_delete_on_close): New function.
60526         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
60527
60528 2007-02-14  Bruno Haible  <bruno@clisp.org>
60529
60530         * modules/mbspcasecmp-tests: New file.
60531         * tests/test-mbspcasecmp.sh: New file.
60532         * tests/test-mbspcasecmp.c: New file.
60533
60534         New module mbspcasecmp.
60535         * modules/mbspcasecmp: New file.
60536         * lib/mbspcasecmp.c: New file.
60537         * lib/string_.h (strncasecmp): Change warning message.
60538         (mbspcasecmp): New declaration.
60539         * m4/mbspcasecmp.m4: New file.
60540         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60541         GNULIB_MBSPCASECMP.
60542         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
60543         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
60544
60545 2007-02-14  Bruno Haible  <bruno@clisp.org>
60546
60547         * modules/mbsncasecmp-tests: New file.
60548         * tests/test-mbsncasecmp.sh: New file.
60549         * tests/test-mbsncasecmp.c: New file.
60550
60551         New module mbsncasecmp.
60552         * modules/mbsncasecmp: New file.
60553         * lib/mbsncasecmp.c: New file.
60554         * lib/string_.h (mbsncasecmp): New declaration.
60555         * m4/mbsncasecmp.m4: New file.
60556         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60557         GNULIB_MBSNCASECMP.
60558         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
60559         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
60560
60561 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60562
60563         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
60564         Verify that it doesn't overlap with our flags.
60565         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
60566         do not have the desired effect in multibyte locales; instead, use
60567         mbscasecmp.
60568         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
60569         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
60570         we don't require GNU fnmatch ourselves (if our users require it, they
60571         should do so explicitly).
60572
60573         Fix regex code so it doesn't rely on strcasecmp.
60574         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
60575         Otherwise, include gnulib's langinfo.h.
60576         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
60577         undesirable behavior in non-C locales.  Instead, rely on localecharset.
60578         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
60579         * modules/regex (FILES): Remove m4/codeset.m4.
60580         (Depends-on): Add localcharset.  Remove strcase.
60581
60582 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60583
60584         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
60585         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
60586
60587 2007-02-13  Bruno Haible  <bruno@clisp.org>
60588
60589         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
60590         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60591
60592 2007-02-12  Bruno Haible  <bruno@clisp.org>
60593
60594         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
60595         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
60596         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
60597         time warning rather than a link error.
60598
60599 2007-02-12  Bruno Haible  <bruno@clisp.org>
60600
60601         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
60602         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60603         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60604
60605 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
60606
60607         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
60608         args, not 2.
60609
60610 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
60611
60612         New module 'time', so that apps can include <time.h> as per
60613         POSIX and GNU instead of separate include files like time_r.h
60614         and timegm.h.  This implementation tries out a simpler approach
60615         for replacing decls in standard include files (as compared to
60616         the string module), somewhat as an experiment.
60617
60618         * config/srclist.txt: Comment out mktime.c for now.
60619         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
60620         since it doesn't apply any more.  Use generic wording instead.
60621         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
60622         'time'.
60623         * lib/time_.h, m4/time_h.m4, modules/time: New files.
60624         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
60625         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
60626         Don't include <sys/types.h>; no longer needed since we assume C89.
60627         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
60628         * lib/strftime.c: Likewise.
60629         * lib/time_r.c: Likewise.
60630         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
60631         * lib/nanosleep.c: Include <time.h> first, to check interface.
60632         * lib/strptime.c: Likewise.
60633         * lib/time_r.c: Likewise.
60634         * lib/timegm.c: Likewise.
60635         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
60636         needed.
60637         * lib/timegm.c: Don't include timegm.h; no longer needed.
60638         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
60639         time.h now handles any problems in that area.
60640         (struct timespec, nanosleep): Remove; time.h now arranges for these.
60641         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
60642         that time.h defines struct timespec.
60643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
60644         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
60645         handles that.
60646         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
60647         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
60648         needed.  Set REPLACE_LOCALTIME.
60649         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
60650         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
60651         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
60652         nanosleep; time_h.m4 now does that.  Don't require
60653         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
60654         module handles this now.
60655         * modules/getdate (Depends-on): Remove timespec.  Add time.
60656         * modules/nanosleep (Depends-on): Likewise.
60657         * modules/stat-time (Depends-on): Likewise.
60658         * modules/nanosleep (Include): Include time.h, not timespec.h.
60659         * modules/strptime (Files): Remove lib/strptime.h.
60660         (Depends-on): Add extensions, time.
60661         (Include): Include time.h, not strptime.h.
60662         * modules/time_r (Files): Remove lib/time_r.h.
60663         (Depends-on): Add time.
60664         (Include): Include time.h, not time_r.h.
60665         * modules/timegm: Likewise.
60666         * modules/timespec (Description): Now does timespec-related decls
60667         of our own, instead of struct timespec itself.
60668         (Depends-on): Add time; remove extensions.
60669         (Maintainer): Add self.
60670         * modules/utimecmp (Depends-on): Add time; remove timespec.
60671         * modules/utimens (Depends-on): Likewise.
60672         * modules/xnanosleep (Depends-on): Likewise.
60673
60674 2007-02-11  Bruno Haible  <bruno@clisp.org>
60675
60676         * lib/c-strstr.c: Include allocsa.h.
60677         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
60678         * lib/c-strcasestr.c: Include allocsa.h.
60679         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
60680         * lib/strcasestr.c: Include allocsa.h.
60681         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
60682         * lib/mbsstr.c: Include allocsa.h.
60683         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
60684         allocsa/freesa instead of malloc/free.
60685         * lib/mbscasestr.c: Include allocsa.h.
60686         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
60687         allocsa/freesa instead of malloc/free.
60688         * modules/c-strstr (Depends-on): Add allocsa.
60689         * modules/c-strcasestr (Depends-on): Likewise.
60690         * modules/strcasestr (Depends-on): Likewise.
60691         * modules/mbsstr (Depends-on): Likewise.
60692         * modules/mbscasestr (Depends-on): Likewise.
60693
60694 2007-02-11  Bruno Haible  <bruno@clisp.org>
60695
60696         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
60697
60698         * modules/mbsspn-tests: New file.
60699         * tests/test-mbsspn.sh: New file.
60700         * tests/test-mbsspn.c: New file.
60701
60702 2007-02-11  Bruno Haible  <bruno@clisp.org>
60703
60704         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
60705
60706         * modules/mbspbrk-tests: New file.
60707         * tests/test-mbspbrk.sh: New file.
60708         * tests/test-mbspbrk.c: New file.
60709
60710 2007-02-11  Bruno Haible  <bruno@clisp.org>
60711
60712         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
60713         unneeded cast.
60714
60715         * modules/mbscspn-tests: New file.
60716         * tests/test-mbscspn.sh: New file.
60717         * tests/test-mbscspn.c: New file.
60718
60719 2007-02-11  Bruno Haible  <bruno@clisp.org>
60720
60721         * modules/mbscasecmp-tests: New file.
60722         * tests/test-mbscasecmp.sh: New file.
60723         * tests/test-mbscasecmp.c: New file.
60724
60725 2007-02-11  Bruno Haible  <bruno@clisp.org>
60726
60727         Ensure O(n) worst-case complexity of mbscasestr.
60728         * lib/mbscasestr.c: Include stdbool.h.
60729         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
60730         functions.
60731         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
60732         the bookkeeping indicates that it's worth it.
60733         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
60734
60735         * modules/mbscasestr-tests: New file.
60736         * tests/test-mbscasestr1.c: New file.
60737         * tests/test-mbscasestr2.sh: New file.
60738         * tests/test-mbscasestr2.c: New file.
60739         * tests/test-mbscasestr3.sh: New file.
60740         * tests/test-mbscasestr3.c: New file.
60741         * tests/test-mbscasestr4.sh: New file.
60742         * tests/test-mbscasestr4.c: New file.
60743         * m4/locale-tr.m4: New file.
60744
60745 2007-02-11  Bruno Haible  <bruno@clisp.org>
60746
60747         Ensure O(n) worst-case complexity of mbsstr.
60748         * lib/mbsstr.c: Include stdbool.h.
60749         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
60750         functions.
60751         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
60752         bookkeeping indicates that it's worth it.
60753         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
60754
60755         * modules/mbsstr-tests: New file.
60756         * tests/test-mbsstr1.c: New file.
60757         * tests/test-mbsstr2.sh: New file.
60758         * tests/test-mbsstr2.c: New file.
60759         * tests/test-mbsstr3.sh: New file.
60760         * tests/test-mbsstr3.c: New file.
60761         * m4/locale-fr.m4: New file.
60762
60763 2007-02-11  Bruno Haible  <bruno@clisp.org>
60764
60765         * lib/mbsrchr.c (mbsrchr): Fix bug.
60766
60767         * modules/mbsrchr-tests: New file.
60768         * tests/test-mbsrchr.sh: New file.
60769         * tests/test-mbsrchr.c: New file.
60770
60771 2007-02-11  Bruno Haible  <bruno@clisp.org>
60772
60773         * lib/mbschr.c (mbschr): Fix bug.
60774
60775         * modules/mbschr-tests: New file.
60776         * tests/test-mbschr.sh: New file.
60777         * tests/test-mbschr.c: New file.
60778         * m4/locale-zh.m4: New file.
60779
60780 2007-02-11  Bruno Haible  <bruno@clisp.org>
60781
60782         Support for copying multibyte string iterators.
60783         * lib/mbiter.h: Include <string.h>.
60784         (mbiter_multi_copy): New function.
60785         (mbi_copy): New macro.
60786         * lib/mbuiter.h: Include <string.h>.
60787         (mbuiter_multi_copy): New function.
60788         (mbui_copy): New macro.
60789
60790 2007-02-11  Bruno Haible  <bruno@clisp.org>
60791
60792         New module mbslen.
60793         * modules/mbslen: New file.
60794         * lib/mbslen.c: New file.
60795         * lib/string_.h (mbslen): New declaration.
60796         * m4/mbslen.m4: New file.
60797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60798         GNULIB_MBSLEN.
60799         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
60800         * MODULES.html.sh (Internationalization functions): Add mbslen.
60801
60802 2007-02-11  Bruno Haible  <bruno@clisp.org>
60803
60804         Ensure O(n) worst-case complexity of strcasestr substitute.
60805         * lib/strcasestr.c: Include stdbool.h.
60806         (knuth_morris_pratt): New function.
60807         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
60808         bookkeeping indicates that it's worth it.
60809         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
60810
60811         * modules/strcasestr-tests: New file.
60812         * tests/test-strcasestr.c: New file.
60813
60814 2007-02-11  Bruno Haible  <bruno@clisp.org>
60815
60816         Ensure O(n) worst-case complexity of c_strcasestr.
60817         * lib/c-strcasestr.c: Include stdbool.h, string.h.
60818         (knuth_morris_pratt): New function.
60819         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
60820         the bookkeeping indicates that it's worth it.
60821         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
60822
60823         * modules/c-strcasestr-tests: New file.
60824         * tests/test-c-strcasestr.c: New file.
60825
60826 2007-02-11  Bruno Haible  <bruno@clisp.org>
60827
60828         Ensure O(n) worst-case complexity of c_strstr.
60829         * lib/c-strstr.c: Include stdbool.h, string.h.
60830         (knuth_morris_pratt): New function.
60831         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
60832         bookkeeping indicates that it's worth it.
60833         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
60834
60835         * lib/c-strstr.c: Complete rewrite for maintainability.
60836
60837         * modules/c-strstr-tests: New file.
60838         * tests/test-c-strstr.c: New file.
60839
60840 2007-02-11  Bruno Haible  <bruno@clisp.org>
60841
60842         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
60843         5.2.1 and earlier, whereby \055 was treated just like the range
60844         delimiter '-'.
60845         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60846
60847 2007-02-08  Bruno Haible  <bruno@clisp.org>
60848
60849         * modules/regex (Depends-on): Add stdbool.
60850         Reported by Dalibor Topic <robilad@kaffe.org>.
60851
60852 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60853
60854         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
60855         Prefer returning from main to exiting from it.
60856         Remove unnecessary parens after sizeof.
60857
60858 2007-02-05  Bruno Haible  <bruno@clisp.org>
60859
60860         New module mbssep.
60861         * modules/mbssep: New file.
60862         * lib/mbssep.c: New file.
60863         * lib/string_.h (strsep): Add a conditional link warning.
60864         (mbssep): New declaration.
60865         * m4/mbssep.m4: New file.
60866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60867         GNULIB_MBSSEP.
60868         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
60869         * MODULES.html.sh (Internationalization functions): Add mbssep.
60870
60871 2007-02-05  Bruno Haible  <bruno@clisp.org>
60872
60873         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
60874         Optimize search in case of 1 delimiter.
60875
60876 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
60877
60878         * lib/acl.h: Include sys/types.h before sys/acl.h.
60879
60880 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
60881
60882         Merge upstream fix for glibc bugzilla #3957:
60883
60884         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
60885
60886         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
60887         bit for RE_HAT_LISTS_NOT_NEWLINE.
60888         (build_charclass_op): Remove bogus comment.
60889
60890 2007-02-05  Simon Josefsson  <simon@josefsson.org>
60891
60892         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
60893
60894 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60895
60896         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
60897         * lib/memmem.c [!defined _LIBC]: Include config.h.
60898
60899 2007-02-04  Bruno Haible  <bruno@clisp.org>
60900
60901         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
60902         warning message.
60903
60904 2007-02-04  Bruno Haible  <bruno@clisp.org>
60905
60906         New module mbstok_r.
60907         * modules/mbstok_r: New file.
60908         * lib/mbstok_r.c: New file.
60909         * lib/string_.h (strtok_r): Change argument names to match the
60910         comments. Add a conditional link warning.
60911         (mbstok_r): New declaration.
60912         * m4/mbstok_r.m4: New file.
60913         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60914         GNULIB_MBSTOK_R.
60915         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
60916         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
60917
60918 2007-02-04  Bruno Haible  <bruno@clisp.org>
60919
60920         New module mbsspn.
60921         * modules/mbsspn: New file.
60922         * lib/mbsspn.c: New file.
60923         * lib/string_.h (strspn): Add a conditional link warning.
60924         (mbsspn): New declaration.
60925         * m4/mbsspn.m4: New file.
60926         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60927         GNULIB_MBSSPN.
60928         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
60929         * MODULES.html.sh (Internationalization functions): Add mbsspn.
60930
60931 2007-02-04  Bruno Haible  <bruno@clisp.org>
60932
60933         New module mbspbrk.
60934         * modules/mbspbrk: New file.
60935         * lib/mbspbrk.c: New file.
60936         * lib/string_.h (strpbrk): Add a conditional link warning.
60937         (mbspbrk): New declaration.
60938         * m4/mbspbrk.m4: New file.
60939         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60940         GNULIB_MBSPBRK.
60941         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
60942         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
60943
60944 2007-02-04  Bruno Haible  <bruno@clisp.org>
60945
60946         New module mbscspn.
60947         * modules/mbscspn: New file.
60948         * lib/mbscspn.c: New file.
60949         * lib/string_.h (strcspn): Add a conditional link warning.
60950         (mbscspn): New declaration.
60951         * m4/mbscspn.m4: New file.
60952         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60953         GNULIB_MBSCSPN.
60954         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
60955         * MODULES.html.sh (Internationalization functions): Add mbscspn.
60956
60957 2007-02-04  Bruno Haible  <bruno@clisp.org>
60958
60959         New module mbscasestr, reduced goal of strcasestr.
60960         * modules/mbscasestr: New file.
60961         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
60962         (mbscasestr): Renamed from strcasestr.
60963         * lib/strcasestr.c: Don't include mbuiter.h.
60964         (strcasestr): Remove support for multibyte locales.
60965         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
60966         Change the conditional link warning.
60967         (mbscasestr): New declaration.
60968         * m4/mbscasestr.m4: New file.
60969         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
60970         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
60971         REPLACE_STRCASESTR.
60972         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
60973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60974         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
60975         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
60976         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
60977         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
60978         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
60979         (Depends-on): Remove mbuiter.
60980         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
60981
60982 2007-02-04  Bruno Haible  <bruno@clisp.org>
60983
60984         Simplify handling of strncasecmp.
60985         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
60986         the conditional link warning.
60987         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60988         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
60989         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
60990         * modules/strcase (configure.ac): Don't invoke
60991         gl_STRING_MODULE_INDICATOR.
60992         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
60993
60994 2007-02-04  Bruno Haible  <bruno@clisp.org>
60995
60996         New module mbscasecmp, reduced goal of strcasecmp.
60997         * modules/mbscasecmp: New file.
60998         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
60999         (mbscasecmp): Renamed from strcasecmp.
61000         * lib/strcasecmp.c: Don't include mbuiter.h.
61001         (strcasecmp): Remove support for multibyte locales.
61002         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
61003         Change the conditional link warning.
61004         (mbscasecmp): New declaration.
61005         * m4/mbscasecmp.m4: New file.
61006         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
61007         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
61008         REPLACE_STRCASECMP.
61009         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
61010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61011         GNULIB_MBSCASECMP.
61012         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
61013         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
61014         * modules/strcase (Files): Remove m4/mbrtowc.m4.
61015         (Depends-on): Remove mbuiter.
61016         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
61017
61018 2007-02-04  Bruno Haible  <bruno@clisp.org>
61019
61020         New module mbsstr. Remove module strstr.
61021         * modules/mbsstr: New file.
61022         * modules/strstr: Remove file.
61023         * lib/mbsstr.c: Renamed from lib/strstr.c.
61024         (mbsstr): Renamed from strstr.
61025         * lib/string_.h (strstr): Remove declaration. Change the conditional
61026         link warning.
61027         (mbsstr): New declaration.
61028         * m4/mbsstr.m4: New file.
61029         * m4/strstr.m4: Remove file.
61030         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
61031         REPLACE_STRSTR.
61032         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
61033         Don't initialize GNULIB_STRSTR.
61034         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
61035         substitute GNULIB_STRSTR and REPLACE_STRSTR.
61036         * MODULES.html.sh (Internationalization functions): Add mbsstr.
61037         (Support for systems lacking ANSI C 89): Remove strstr.
61038
61039 2007-02-04  Bruno Haible  <bruno@clisp.org>
61040
61041         New module mbsrchr.
61042         * modules/mbsrchr: New file.
61043         * lib/mbsrchr.c: New file.
61044         * lib/string_.h (strrchr): Add a conditional link warning.
61045         (mbsrchr): New declaration.
61046         * m4/mbsrchr.m4: New file.
61047         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61048         GNULIB_MBSRCHR.
61049         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
61050         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
61051
61052 2007-02-04  Bruno Haible  <bruno@clisp.org>
61053
61054         New module mbschr.
61055         * modules/mbschr: New file.
61056         * lib/mbschr.c: New file.
61057         * lib/string_.h (strchr): Add a conditional link warning.
61058         (mbschr): New declaration.
61059         * m4/mbschr.m4: New file.
61060         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61061         GNULIB_MBSCHR.
61062         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
61063         * MODULES.html.sh (Internationalization functions): Add mbschr.
61064
61065 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
61066
61067         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
61068
61069         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
61070
61071 2007-02-04  Bruno Haible  <bruno@clisp.org>
61072
61073         New module description section 'configure.ac-early'.
61074         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
61075         (func_get_autoconf_early_snippet): New function.
61076         (func_import, func_create_testdir): Use it. Remove special cases for
61077         modules 'extensions' and 'lock'.
61078         * modules/extensions (configure.ac-early): Require
61079         gl_USE_SYSTEM_EXTENSIONS.
61080         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
61081
61082 2007-02-04  Bruno Haible  <bruno@clisp.org>
61083
61084         Make use of gcj-4.3's -fsource and -ftarget option.
61085         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
61086         and if so try the options -fsource and -ftarget.
61087         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
61088         source_version, ftarget_option, target_version arguments.
61089         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
61090         (is_envjavac_oldgcj_14_14_usable): Renamed from
61091         is_envjavac_gcj_14_14_usable.
61092         (is_envjavac_oldgcj_14_13_usable): Renamed from
61093         is_envjavac_gcj_14_13_usable.
61094         (is_gcj_present): Update.
61095         (is_gcj_43, is_gcj43_usable): New functions.
61096         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
61097         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
61098         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
61099         try the options -fsource and -ftarget.
61100
61101 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61102
61103         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
61104         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
61105         larger value.
61106
61107 2007-02-03  Jim Meyering  <jim@meyering.net>
61108
61109         Give tools a better chance to allocate space for very large buffers.
61110         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
61111
61112         Make pwd and readlink work also when run with an unreadable parent dir
61113         on systems with openat support.
61114         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
61115         provided getcwd function, even when we have openat support.
61116         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
61117
61118 2007-02-02  Bruno Haible  <bruno@clisp.org>
61119
61120         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
61121         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
61122         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
61123         portability problems if one of these functions is only used on specific
61124         platforms.
61125         Reported by Paul Eggert.
61126
61127 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61128
61129         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
61130         is causing more trouble than it's curing.
61131         * lib/regex_internal.h (__mempcpy): Remove.
61132         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
61133         (and make the code a tad smaller to boot).
61134         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
61135
61136 2007-02-02  Jim Meyering  <jim@meyering.net>
61137
61138         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
61139         section, not in the Makefile.am: one.
61140
61141 2007-02-02  Eric Blake  <ebb9@byu.net>
61142
61143         * lib/strchrnul.c: Always include config.h first.
61144
61145         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
61146         gnulib strstr is not necessary here.
61147
61148 2007-02-02  Simon Josefsson  <simon@josefsson.org>
61149
61150         * m4/socklen.m4: Fix typo.
61151
61152 2007-02-02  Eric Blake  <ebb9@byu.net>
61153
61154         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
61155         * modules/netinet_in (Makefile.am): Likewise.
61156
61157 2007-02-01  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/string_.h (GL_LINK_WARNING): New macro.
61160         (strcasecmp, strstr, strcasestr): If provided by the system,
61161         conditionally define as a macro that leads to a warning instead of to
61162         an error.
61163         (strncasecmp): Conditionally define as a macro that leads to a warning.
61164
61165 2007-02-01  Karl Berry  <karl@gnu.org>
61166
61167         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
61168
61169 2007-02-01  Bruno Haible  <bruno@clisp.org>
61170
61171         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
61172         renamings.
61173
61174 2007-02-01  Eric Blake  <ebb9@byu.net>
61175
61176         * modules/regex (Depends-on): Revert dependence on mempcpy.
61177         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
61178         module's definition of mempcpy.
61179         Reported by Paul Eggert.
61180
61181 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
61182
61183         * lib/string_.h: If the gnulib module XYZ is not present, undefine
61184         the symbol XYZ before redefining it.  This fixes a problem with
61185         programs that don't use XYZ, when compiled on systems that define
61186         XYZ to something else.
61187
61188 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
61189
61190         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
61191         occurs when "mkdir -m foo" creates a setgid directory that is (1)
61192         writeable to group or other and (2) is intended to have a special
61193         mode bit that is set or cleared.  In such a case, the directory
61194         should be neither group- nor other-writeable until the special
61195         mode bits are right.
61196
61197 2007-01-31  Eric Blake  <ebb9@byu.net>
61198
61199         * modules/mountlist (Depends-on): Add strstr.
61200
61201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
61202         bug.
61203         * modules/string (Makefile.am): Remove redundant replacement.
61204         * modules/regex (Depends-on): Add mempcpy.
61205
61206 2007-01-31  Bruno Haible  <bruno@clisp.org>
61207
61208         New module description field 'Link'.
61209         * gnulib-tool (func_usage): Document --extract-link-directive.
61210         (sed_extract_prog): Recognize 'Link' directive.
61211         (func_get_link_directive): New function.
61212         (func_import): Show summary of link directives.
61213         Handle --extract-link-directive option.
61214         * modules/acl (Link): New section.
61215         * modules/clock-time (Link): New section.
61216         * modules/euidaccess (Link): New section.
61217         * modules/gettext (Link): New section.
61218         * modules/iconv (Link): New section.
61219         * modules/lock (Link): New section.
61220         * modules/nanosleep (Link): New section.
61221         * modules/readline (Link): New section.
61222
61223 2007-01-27  Bruno Haible  <bruno@clisp.org>
61224
61225         Enforce the use of gnulib modules for unportable <string.h> functions.
61226         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
61227         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
61228         (gl_HEADER_STRING_H_BODY): Require it.
61229         * lib/string_.h: If the gnulib module XYZ is not present, redefine
61230         the symbol XYZ to one that gives a link error.
61231         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
61232         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
61233         * modules/mempcpy (configure.ac): Likewise.
61234         * modules/memrchr (configure.ac): Likewise.
61235         * modules/stpcpy (configure.ac): Likewise.
61236         * modules/stpncpy (configure.ac): Likewise.
61237         * modules/strcase (configure.ac): Likewise.
61238         * modules/strcasestr (configure.ac): Likewise.
61239         * modules/strchrnul (configure.ac): Likewise.
61240         * modules/strdup (configure.ac): Likewise.
61241         * modules/strndup (configure.ac): Likewise.
61242         * modules/strnlen (configure.ac): Likewise.
61243         * modules/strpbrk (configure.ac): Likewise.
61244         * modules/strsep (configure.ac): Likewise.
61245         * modules/strstr (configure.ac): Likewise.
61246         * modules/strtok_r (configure.ac): Likewise.
61247
61248 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
61249
61250         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
61251
61252 2007-01-30  Jim Meyering  <jim@meyering.net>
61253
61254         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
61255
61256 2007-01-29  Bruno Haible  <bruno@clisp.org>
61257
61258         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
61259         * lib/execute.c: Likewise.
61260         * lib/pipe.c: Likewise.
61261         * lib/printf-args.h: Likewise.
61262         * lib/printf-args.c: Likewise.
61263         * lib/printf-parse.c: Likewise.
61264         * lib/vasnprintf.c: Likewise.
61265
61266 2007-01-29  Eric Blake  <ebb9@byu.net>
61267
61268         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
61269         declaration.
61270
61271 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
61272
61273         * lib/strptime.h (strptime): Use 'restrict' for args where
61274         POSIX requires this.
61275         * lib/strptime.c (strptime): Likewise.
61276         Change license notice from LGPL to GPL, since gnulib-tool will
61277         change this as needed.
61278         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
61279         defined.
61280         Include "strptime.h" first, to check interface.
61281         Do not #undef _LIBC and _NL_CURRENT.
61282         Do not include <stdlib.h>; no longer needed.
61283         Include "time_r.h" and declare ptime_locale_status
61284         only if _LIBC is not defined.
61285         (__P): Remove unused macro.
61286         (match_string): Bring back glibc version, but use it only if _LIBC
61287         is defined.
61288         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
61289         Remove unnecessary assertion and abort() call.
61290         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
61291         * m4/strptime.m4: Fix serial number comment.
61292         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
61293         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
61294         (Depends-on): Add time_r.
61295
61296 2007-01-29  Bruno Haible  <bruno@clisp.org>
61297
61298         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61299         strptime.
61300         * modules/strptime (Depends-on): Add stdbool.
61301         * lib/strptime.h: Include <time.h> always. Add comments.
61302
61303 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
61304
61305         * modules/strptime: New file.
61306         * lib/strptime.h: New file.
61307         * lib/strptime.c: New file.
61308         * m4/strptime.m4: New file.
61309
61310 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61311
61312         * MODULES.html.sh: New module mpsort.
61313         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
61314
61315         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
61316         a circularity problem with HP-UX ia64 reported by Bob Proulx in
61317         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
61318         All uses changed.
61319         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
61320         All uses changed.
61321         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
61322         to _Restrict_.
61323         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
61324         the parameter matches the prototype.
61325
61326 2007-01-28  Jim Meyering  <jim@meyering.net>
61327
61328         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
61329         sys/time.h here, reverting that part of the previous patch:
61330         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
61331
61332 2007-01-28  Bruno Haible  <bruno@clisp.org>
61333
61334         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
61335         value of $(SYS_TIME_H).
61336         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
61337         remove it conditionally, too. [added by Jim Meyering]
61338         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
61339         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
61340         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
61341         GETTIMEOFDAY_REPLACEMENT to 1.
61342
61343 2007-01-28  Bruno Haible  <bruno@clisp.org>
61344
61345         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
61346         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
61347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
61348         Set UNISTD_H instead of UNISTD_H2.
61349         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
61350
61351 2007-01-28  Bruno Haible  <bruno@clisp.org>
61352
61353         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
61354         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
61355
61356 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61357
61358         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
61359         (func_create_testdir): Ensure C locale for `grep' and `tr'
61360         character ranges.
61361         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
61362         ACLOCAL_AMFLAGS parsing state machine.
61363
61364 2007-01-27  Bruno Haible  <bruno@clisp.org>
61365
61366         * modules/unistr/base: Update.
61367
61368 2007-01-27  Bruno Haible  <bruno@clisp.org>
61369
61370         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
61371         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
61372         * modules/unistr/u32-mbtouc-unsafe: Renamed from
61373         modules/unistr/u32-mbtouc.
61374         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
61375         * lib/unistr.h: Update.
61376         * lib/linebreak.c: Update.
61377         * modules/unistr/u32-mbtouc: Renamed from
61378         modules/unistr/u32-mbtouc-safe.
61379         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
61380         * lib/unistr.h: Update.
61381         * lib/unistr/u32-to-u8.c: Update.
61382         * lib/unistr/u32-to-u16.c: Update.
61383
61384 2007-01-27  Bruno Haible  <bruno@clisp.org>
61385
61386         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
61387         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
61388         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
61389         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
61390         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
61391         * modules/unistr/u16-mbtouc-unsafe: Renamed from
61392         modules/unistr/u16-mbtouc.
61393         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
61394         * lib/unistr.h: Update.
61395         * lib/linebreak.c: Update.
61396         * modules/linebreak: Update.
61397         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
61398         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
61399         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
61400         * modules/unistr/u16-mbtouc: Renamed from
61401         modules/unistr/u16-mbtouc-safe.
61402         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
61403         * lib/unistr.h: Update.
61404         * lib/unistr/u16-to-u8.c: Update.
61405         * modules/unistr/u16-to-u8: Update.
61406         * lib/unistr/u16-to-u32.c: Update.
61407         * modules/unistr/u16-to-u32: Update.
61408
61409 2007-01-27  Bruno Haible  <bruno@clisp.org>
61410
61411         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
61412         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
61413         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
61414         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
61415         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
61416         * modules/unistr/u8-mbtouc-unsafe: Renamed from
61417         modules/unistr/u8-mbtouc.
61418         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
61419         * lib/unistr.h: Update.
61420         * lib/striconveh.c: Update.
61421         * modules/striconveh: Update.
61422         * lib/linebreak.c: Update.
61423         * modules/linebreak: Update.
61424         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
61425         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
61426         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
61427         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
61428         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
61429         * lib/unistr.h: Update.
61430         * lib/striconveh.c: Update.
61431         * modules/striconveh: Update.
61432         * lib/unistr/u8-to-u16.c: Update.
61433         * modules/unistr/u8-to-u16: Update.
61434         * lib/unistr/u8-to-u32.c: Update.
61435         * modules/unistr/u8-to-u32: Update.
61436
61437 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61438
61439         Sync from Libtool.
61440         * lib/argz.c: Do not include strings.h nor memory.h, include
61441         string.h unconditionally.  Patch by Simon Josefsson.
61442
61443 2007-01-27  Bruno Haible  <bruno@clisp.org>
61444
61445         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
61446         from gl_HEADER_STRING_H_BODY.
61447         (gl_HEADER_STRING_H_BODY): Require it.
61448         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
61449         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61450         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61451         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61452         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61453         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
61454         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
61455         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61456         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
61457         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61458         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61459         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
61460         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61461         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
61462         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61463
61464 2007-01-27  Bruno Haible  <bruno@clisp.org>
61465
61466         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
61467         check_PROGRAMS into noinst_PROGRAMS.
61468         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
61469         check_PROGRAMS in this case.
61470         (func_import): Set for_test to false.
61471         (func_create_testdir): Set for_test to true.
61472
61473 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
61474             Bruno Haible  <bruno@clisp.org>
61475
61476         * modules/strcasestr (Files): Remove lib/strcasestr.h.
61477         (Depends-on): Add string.
61478         (Includes): Use <string.h> instead of strcasestr.h.
61479         * modules/string (Makefile.am): Also substitute the value of
61480         REPLACE_STRCASESTR.
61481         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
61482         assume strcasestr is declared in <string.h> not <strings.h>. Also
61483         set REPLACE_STRCASESTR.
61484         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
61485         REPLACE_STRCASESTR.
61486         * lib/strcasestr.h: Remove file.
61487         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
61488         * lib/string_.h (strcasestr): New declaration.
61489
61490 2007-01-27  Bruno Haible  <bruno@clisp.org>
61491
61492         * lib/string_.h: Use 'extern'.
61493
61494 2007-01-27  Jim Meyering  <jim@meyering.net>
61495
61496         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
61497         of set-but-not-used local, "q".
61498
61499         * lib/mempcpy.c: Include <config.h> before <string.h>.
61500         This fixes a compilation error on HP-UX, due to the system's
61501         "restrict"-using mempcpy prototype.
61502
61503 2007-01-26  Bruno Haible  <bruno@clisp.org>
61504
61505         Small optimization.
61506         * lib/javacomp.c: Include c-strstr.h.
61507          (is_envjavac_gcj): Use c_strstr instead of strstr.
61508         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
61509
61510 2007-01-26  Bruno Haible  <bruno@clisp.org>
61511
61512         * MODULES.html.sh (Unicode string functions): Add the new modules.
61513
61514         * modules/uniconv/u32-strconv-to-locale: New file.
61515         * lib/uniconv/u32-strconv-to-locale.c: New file.
61516
61517         * modules/uniconv/u16-strconv-to-locale: New file.
61518         * lib/uniconv/u16-strconv-to-locale.c: New file.
61519
61520         * modules/uniconv/u8-strconv-to-locale: New file.
61521         * lib/uniconv/u8-strconv-to-locale.c: New file.
61522
61523         * modules/uniconv/u32-strconv-from-locale: New file.
61524         * lib/uniconv/u32-strconv-from-locale.c: New file.
61525
61526         * modules/uniconv/u16-strconv-from-locale: New file.
61527         * lib/uniconv/u16-strconv-from-locale.c: New file.
61528
61529         * modules/uniconv/u8-strconv-from-locale: New file.
61530         * lib/uniconv/u8-strconv-from-locale.c: New file.
61531
61532         * modules/uniconv/u32-strconv-to-enc: New file.
61533         * lib/uniconv/u32-strconv-to-enc.c: New file.
61534         * modules/uniconv/u32-strconv-to-enc-tests: New file.
61535         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
61536
61537         * modules/uniconv/u16-strconv-to-enc: New file.
61538         * lib/uniconv/u16-strconv-to-enc.c: New file.
61539         * lib/uniconv/u-strconv-to-enc.h: New file.
61540         * modules/uniconv/u16-strconv-to-enc-tests: New file.
61541         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
61542
61543         * modules/uniconv/u8-strconv-to-enc: New file.
61544         * lib/uniconv/u8-strconv-to-enc.c: New file.
61545         * modules/uniconv/u8-strconv-to-enc-tests: New file.
61546         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
61547
61548         * modules/uniconv/u32-strconv-from-enc: New file.
61549         * lib/uniconv/u32-strconv-from-enc.c: New file.
61550         * modules/uniconv/u32-strconv-from-enc-tests: New file.
61551         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
61552
61553         * modules/uniconv/u16-strconv-from-enc: New file.
61554         * lib/uniconv/u16-strconv-from-enc.c: New file.
61555         * modules/uniconv/u16-strconv-from-enc-tests: New file.
61556         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
61557
61558         * modules/uniconv/u8-strconv-from-enc: New file.
61559         * lib/uniconv/u8-strconv-from-enc.c: New file.
61560         * lib/uniconv/u-strconv-from-enc.h: New file.
61561         * modules/uniconv/u8-strconv-from-enc-tests: New file.
61562         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
61563
61564         * modules/uniconv/u32-conv-from-enc: New file.
61565         * lib/uniconv/u32-conv-from-enc.c: New file.
61566         * modules/uniconv/u32-conv-from-enc-tests: New file.
61567         * tests/uniconv/test-u32-conv-from-enc.c: New file.
61568
61569         * modules/uniconv/u16-conv-from-enc: New file.
61570         * lib/uniconv/u16-conv-from-enc.c: New file.
61571         * lib/uniconv/u-conv-from-enc.h: New file.
61572         * modules/uniconv/u16-conv-from-enc-tests: New file.
61573         * tests/uniconv/test-u16-conv-from-enc.c: New file.
61574
61575         * modules/uniconv/u8-conv-from-enc: New file.
61576         * lib/uniconv/u8-conv-from-enc.c: New file.
61577         * modules/uniconv/u8-conv-from-enc-tests: New file.
61578         * tests/uniconv/test-u8-conv-from-enc.c: New file.
61579
61580         * modules/uniconv/base: New file.
61581         * lib/uniconv.h: New file.
61582
61583 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61584
61585         * doc/gnulib-tool.texi (Initial import): Update to match current
61586         behavior with strdup module.
61587         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
61588         * lib/memmem.h: Remove; all uses removed.  This is now done
61589         by <string.h>.
61590         * lib/mempcpy.h: Likewise.
61591         * lib/memrchr.h: Likewise.
61592         * lib/stpcpy.h: Likewise.
61593         * lib/stpncpy.h: Likewise.
61594         * lib/strcase.h: Likewise.
61595         * lib/strchrnul.h: Likewise.
61596         * lib/strdup.h: Likewise.
61597         * lib/strndup.h: Likewise.
61598         * lib/strnlen.h: Likewise.
61599         * lib/strpbrk.h: Likewise.
61600         * lib/strsep.h: Likewise.
61601         * lib/strstr.h: Likewise.
61602         * lib/strtok_r.h: Likewise.
61603         * lib/string_.h: New file.
61604         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
61605         Rely on <string.h> instead.
61606         * lib/canon-host.c: Likewise.
61607         * lib/chdir-long.c: Likewise.
61608         * lib/concatpath.c: Likewise.
61609         * lib/exclude.c: Likewise.
61610         * lib/fchdir.c: Likewise.
61611         * lib/getaddrinfo.c: Likewise.
61612         * lib/getcwd.c: Likewise.
61613         * lib/getsubopt.c: Likewise.
61614         * lib/glob.c: Likewise.
61615         * lib/hard-locale.c: Likewise.
61616         * lib/iconvme.c: Likewise.
61617         * lib/javacomp.c: Likewise.
61618         * lib/mempcpy.c: Likewise.
61619         * lib/memrchr.c: Likewise.
61620         * lib/regex_internal.h: Likewise.
61621         * lib/stpncpy.c: Likewise.
61622         * lib/strcasecmp.c: Likewise.
61623         * lib/strchrnul.c: Likewise.
61624         * lib/strdup.c: Likewise.
61625         * lib/striconv.c: Likewise.
61626         * lib/striconveh.c: Likewise.
61627         * lib/striconveha.c: Likewise.
61628         * lib/strncasecmp.c: Likewise.
61629         * lib/strndup.c: Likewise.
61630         * lib/strnlen.c: Likewise.
61631         * lib/strsep.c: Likewise.
61632         * lib/strstr.c: Likewise.
61633         * lib/strtok_r.c: Likewise.
61634         * lib/userspec.c: Likewise.
61635         * lib/w32spawn.h: Likewise.
61636         * lib/xstrndup.c: Likewise.
61637         * lib/mountlist.c (strstr): Remove decl.
61638         * m4/string_h.m4: New file.
61639         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
61640         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
61641         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
61642         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
61643         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
61644         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
61645         Set REPLACE_STRCASECMP if necessary.
61646         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
61647         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
61648         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
61649         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
61650         HAVE_DECL_STRDUP if necessary.
61651         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
61652         since gl_FUNC_STRNDUP does that now.
61653         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
61654         Check for decl here...
61655         (gl_PREREQ_STRNLEN): ... not here.
61656         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
61657         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
61658         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
61659         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
61660         necessary.
61661         * modules/string: New file.
61662         * modules/memmem (Files): Remove special-purpose include file.
61663         (Depends-on): Add string.
61664         (Include): Include <string.h>, not the removed file.
61665         * modules/mempcpy: Likewise.
61666         * modules/memrchr: Likewise.
61667         * modules/stpcpy: Likewise.
61668         * modules/stpncpy: Likewise.
61669         * modules/strcase: Likewise.
61670         * modules/strchrnul: Likewise.
61671         * modules/strdup: Likewise.
61672         * modules/strndup: Likewise.
61673         * modules/strnlen: Likewise.
61674         * modules/strpbrk: Likewise.
61675         * modules/strsep: Likewise.
61676         * modules/strstr: Likewise.
61677         * modules/strtok_r: Likewise.
61678         * tests/test-dirname.c: Don't include "strdup.h", since
61679         <string.h> now suffices.
61680         * tests/test-memmem.c: Don't include "memmem.h", since
61681         <string.h> now suffices.
61682
61683 2007-01-25  Bruno Haible  <bruno@clisp.org>
61684
61685         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
61686         *resultp is 0.
61687
61688         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
61689         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
61690         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
61691         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
61692
61693         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
61694         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
61695         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
61696         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
61697         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
61698         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
61699
61700 2007-01-24  Bruno Haible  <bruno@clisp.org>
61701
61702         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
61703         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
61704         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
61705         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
61706         gl_FUNC_FTS_CORE.
61707         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
61708         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
61709         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61710         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
61711         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
61712         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
61713         gl_FUNC_FCHOWNAT.
61714         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
61715         gl_FUNC_STRFTIME.
61716         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
61717         Reported by Ralf Wildenhues.
61718
61719 2007-01-24  Bruno Haible  <bruno@clisp.org>
61720
61721         Drop AC_REQUIRE calls that are redundant with the module dependencies.
61722         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
61723         gl_GETADDRINFO.
61724         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
61725         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
61726         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
61727
61728 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
61729
61730         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
61731         Don't use 'exit'; just return from 'main'.
61732         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
61733
61734         * lib/fnmatch_.h: Readjust white space and comments to match
61735         glibc, to avoid spurious diffs.
61736
61737 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61738
61739         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
61740         2004-12-01 change by Jakub Jelinek, since this code won't compile
61741         if !LIBC.  Problem reported by Bob Proulx.
61742
61743 2007-01-23  Bruno Haible  <bruno@clisp.org>
61744
61745         * lib/striconveh.c: Include c-strcaseeq.h.
61746         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
61747         * modules/striconveh (Depends-on): Add c-strcaseeq.
61748
61749 2007-01-23  Bruno Haible  <bruno@clisp.org>
61750
61751         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
61752
61753         * modules/c-strcaseeq: New file.
61754         * lib/c-strcaseeq.h: New file.
61755
61756         * modules/streq: New file.
61757         * lib/streq.h: New file.
61758
61759 2007-01-23  Bruno Haible  <bruno@clisp.org>
61760
61761         * modules/striconveha-tests: New file.
61762         * tests/test-striconveha.c: New file.
61763
61764         * lib/striconveha.h: Include <stdbool.h>.
61765         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
61766         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
61767         (mem_iconveha_notranslit): Renamed from mem_iconveha.
61768         (mem_iconveha): New function.
61769         (str_iconveha_notranslit): Renamed from str_iconveha.
61770         (str_iconveha): New function.
61771         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
61772         c-strcase.
61773
61774 2007-01-23  Bruno Haible  <bruno@clisp.org>
61775
61776         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
61777         encodings without forgiving before trying any encoding with handler.
61778         (str_iconveha): Try all encodings without forgiving before trying any
61779         encoding with handler.
61780
61781 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61782
61783         Import the following changes from libc.
61784
61785         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61786
61787         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
61788
61789         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
61790
61791         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
61792         normal_bracket label.
61793
61794         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
61795
61796         [BZ #361]
61797         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
61798         to normal_bracket after fetching the next character.
61799
61800 2007-01-22  Bruno Haible  <bruno@clisp.org>
61801
61802         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
61803         argument.
61804         * lib/striconveh.c (iconv_carefully_1): New function.
61805         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
61806         argument.
61807         (str_cd_iconveh): Update.
61808         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
61809         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
61810         * tests/test-striconveh.c (MAGIC): New macro.
61811         (new_offsets): New function.
61812         (main): Test call with and without offsets.
61813
61814 2007-01-22  Bruno Haible  <bruno@clisp.org>
61815
61816         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
61817         * modules/sys_select (Makefile.am): Likewise.
61818         * modules/sys_socket (Makefile.am): Likewise.
61819         * modules/sys_time (Makefile.am): Likewise.
61820
61821 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61822
61823         * modules/gettimeofday (License): Change from GPL to LGPL, since
61824         gettimeofday is a library function.
61825
61826 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61827
61828         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
61829
61830 2007-01-21  Bruno Haible  <bruno@clisp.org>
61831
61832         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
61833
61834 2007-01-21  Bruno Haible  <bruno@clisp.org>
61835
61836         * modules/striconveha: New file.
61837         * lib/striconveha.h: New file.
61838         * lib/striconveha.c: New file.
61839         * MODULES.html.sh (Internationalization functions): Add striconveha.
61840         * lib/striconv.c (str_iconv): Optimize the case of an empty input
61841         string.
61842         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
61843
61844 2007-01-21  Bruno Haible  <bruno@clisp.org>
61845
61846         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
61847         * lib/striconveh.c (str_iconveh): Likewise.
61848
61849 2007-01-21  Bruno Haible  <bruno@clisp.org>
61850
61851         * lib/striconveh.h (mem_iconveh): New declaration.
61852         * lib/striconveh.c (mem_iconveh): New function.
61853         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
61854
61855 2007-01-21  Bruno Haible  <bruno@clisp.org>
61856
61857         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
61858
61859         * lib/striconveh.h (mem_cd_iconveh): Change specification.
61860         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
61861         original result buffer.
61862         (str_cd_iconveh): Update.
61863         * tests/test-striconveh.c (main): Update.
61864
61865         * lib/striconv.h (mem_cd_iconv): Change specification.
61866         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
61867         result buffer.
61868         (str_cd_iconv): Update.
61869         * tests/test-striconv.c (main): Update.
61870
61871 2007-01-21  Bruno Haible  <bruno@clisp.org>
61872
61873         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
61874
61875 2007-01-20  Jim Meyering  <jim@meyering.net>
61876
61877         * lib/userspec.c (parse_with_separator): If a user or group string
61878         starts with "+", skip the corresponding name-to-ID look-up, since
61879         such a look-up must fail: user and group names may not include "+".
61880
61881 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61882
61883         * lib/poll.c: Include sys/time.h and time.h unconditionally,
61884         since we now assume the sys_time module.
61885         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
61886         check for sys/time.h; no longer needed.
61887         * modules/poll (Depends-on): Depend on sys_time.
61888
61889 2007-01-18  Bruno Haible  <bruno@clisp.org>
61890
61891         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
61892         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
61893
61894         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
61895         gettimeofday.
61896
61897         * tests/test-gettimeofday.c: Include <time.h>.
61898         (dummy): Remove variable.
61899
61900         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
61901         gl_HEADER_SYS_TIME_H.
61902         (gl_HEADER_SYS_TIME_H): New macro.
61903
61904         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
61905         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61906         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
61907         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
61908         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61909         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
61910         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
61911         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61912         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
61913         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
61914         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61915
61916         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
61917         last change; it caused a compilation error when cross-compiling to
61918         Cygwin.
61919
61920 2007-01-18  Jim Meyering  <jim@meyering.net>
61921
61922         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
61923         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
61924         than the race-prone "test -d sys || mkdir sys".
61925         (configure.ac): Use AC_PROG_MKDIR_P.
61926         * modules/sys_select: Likewise.
61927         * modules/sys_socket: Likewise.
61928         * modules/sys_time: Likewise.
61929
61930 2007-01-18  Eric Blake  <ebb9@byu.net>
61931
61932         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
61933         replace gettimeofday.
61934         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
61935         name, to avoid infinite recursion.
61936
61937 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
61938
61939         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
61940         module sys_time.
61941         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
61942         assume timespec.h defines struct timeval.
61943         * lib/settime.c: Likewise.
61944         * lib/utimens.c: Likewise.
61945         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
61946         since we now assume the gettimeofday module.
61947         * lib/tempname.c (__gen_tempname): Likewise.
61948         * lib/gettimeofday.h: Remove.
61949         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
61950         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
61951         Include <time.h>, for 'time()'.
61952         (localtime_buffer_addr): Also use this workaround if
61953         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
61954         to simplify the uses.  All uses changed.
61955         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
61956         that #undef is inside {}, and 'const' follows type name consistently.
61957         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
61958         (gettimeofday): Do not use the maximum possible value for
61959         tv->tv_usec, since that might break usages other than ls.c.
61960         Instead, we'll leave ls.c alone.  This undoes today's patch
61961         by Bruno.  Add a compile-time warning for 1s-clock resolution;
61962         we've never observed the problem but might as well keep the
61963         canary.
61964         * lib/nanosleep.c: Include timespec.h first, for interface check.
61965         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
61966         now assume the sys_time module.
61967         * lib/tempname.c: Likewise.
61968         * lib/timespec.h: Likewise.
61969         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
61970         needed.
61971         * lib/strftime.c: Likewise.
61972         * lib/timespec.h: Likewise.
61973         * lib/posixtm.c: Include posixtm.h first, for interface check.
61974         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
61975         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
61976         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
61977         * lib/sys_time_.h: New file.
61978         * lib/timespec.h (struct timespec): Use long int, not long.
61979         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
61980         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
61981         Remove obsolescent call to AC_HEADER_TIME.
61982         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
61983         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61984         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
61985         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
61986         Likewise.
61987         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
61988         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
61989         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
61990         into the sys_time module.  Check for gettimeofday just once.
61991         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
61992         for gettimeofday signature to just check the signature.  Merely
61993         compile it, since linking doesn't test signature.  Improve test for
61994         whether gettimeofday.o is actually needed.
61995         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
61996         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
61997         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
61998         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61999         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
62000         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
62001         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
62002         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
62003         than worrying about sys/time.h.
62004         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62005         Don't bother worrying about TIME_WITH_SYS_TIME.
62006         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
62007         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
62008         * m4/sys_time_h.m4: New file.
62009         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
62010         Don't include sys/time.h.  Return from main rather than exiting.
62011         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
62012         all uses changed.
62013         * modules/gethrxtime (Depends-on): Add sys_time.
62014         * modules/gettime (Depends-on): Likewise.
62015         * modules/gettimeofday (Depends-on): Likewise.
62016         * modules/nanosleep (Depends-on): Likewise.
62017         * modules/settime (Depends-on): Likewise.
62018         * modules/tempname (Depends-on): Likewise.
62019         * modules/utimens (Depends-on): Likewise.
62020         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
62021         (Include): Change back to <sys/time.h>.
62022         (Maintainer): Add self.
62023         * modules/sys_time: New file.
62024         * modules/tempname (Depends-on): Add gettimeofday.
62025         * tests/test-gettimeofday.c: Include <sys/time.h>
62026         rather than gettimeofday.h.
62027
62028 2007-01-17  Bruno Haible  <bruno@clisp.org>
62029
62030         * gnulib-tool (func_get_license): Revert last patch. Instead, let
62031         the license default to GPL.
62032         (func_create_testdir): Don't complain if a module is LGPL and its
62033         tests module depends on GPLed modules.
62034
62035 2007-01-17  Bruno Haible  <bruno@clisp.org>
62036
62037         * lib/gettimeofday.c (gettimeofday): Add code for the case
62038         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
62039         maximum possible value for tv->tv_usec, rather than the minimum one.
62040
62041 2005-10-08  Martin Lambers  <marlam@marlam.de>
62042 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62043 2007-01-16  Bruno Haible  <bruno@clisp.org>
62044
62045         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
62046         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
62047         gl_FUNC_GETTIMEOFDAY.
62048         (Include): Add gettimeofday.h.
62049         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
62050         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
62051         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
62052         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
62053         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
62054         * lib/gettimeofday.h: New file.
62055         * lib/gettimeofday.c: Include <sys/timeb.h>.
62056         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
62057         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62058         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
62059         fall back on time().
62060
62061         * tests/test-gettimeofday.c: New file.
62062         * modules/gettimeofday-tests: New file.
62063
62064 2007-01-16  Eric Blake  <ebb9@byu.net>
62065
62066         * modules/fnmatch (Depends-on): Depend on wchar.
62067         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
62068         * m4/fnmatch.m4: Likewise.
62069         * modules/mbchar (Makefile.am): Assume <wchar.h>.
62070         * m4/mbchar.m4: Likewise.
62071         * modules/mbswidth (Depends-on): Depend on wchar.
62072         * lib/mbswidth.c: Assume <wchar.h>.
62073         * m4/mbswidth.m4: Likewise.
62074         * modules/quotearg (Depends-on): Depend on wchar.
62075         * lib/quotearg.c: Assume <wchar.h>.
62076         * m4/quotearg.m4: Likewise.
62077         * modules/regex (Depends-on): Depend on wchar.
62078         * lib/regex_internal.h: Assume <wchar.h>.
62079         * m4/regex.m4: Likewise.
62080         * modules/stdint (Depends-on): Depend on wchar.
62081         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
62082         * m4/stdint.m4: Likewise.
62083         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
62084         * modules/strftime (Depends-on): Depend on wchar.
62085         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
62086         * modules/strtol (Depends-on): Depend on wchar.
62087         * lib/strtol.c: Assume <wchar.h>.
62088         * modules/wcwidth (Depends-on): Depend on wchar.
62089         * lib/wcwidth.h: Assume <wchar.h>.
62090         * m4/wcwidth.m4: Likewise.
62091
62092 2007-01-16  Bruno Haible  <bruno@clisp.org>
62093
62094         * modules/csharpexec-script: New, created from...
62095         * modules/csharpexec: ... this.
62096
62097 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62098
62099         * modules/javaexec-script: New, created from...
62100         * modules/javaexec: ... this.
62101
62102 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62103
62104         * modules/poll (Dependencies): Add sys_select.
62105
62106 2007-01-15  Jim Meyering  <jim@meyering.net>
62107
62108         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
62109         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
62110         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
62111         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
62112
62113 2007-01-15  Bruno Haible  <bruno@clisp.org>
62114
62115         * modules/striconveh: New file.
62116         * lib/striconveh.h: New file.
62117         * lib/striconveh.c: New file.
62118         * MODULES.html.sh (Internationalization functions): Add striconveh.
62119
62120         * modules/striconveh-tests: New file.
62121         * tests/test-striconveh.c: New file.
62122
62123 2007-01-15  Bruno Haible  <bruno@clisp.org>
62124
62125         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
62126         not from GNU libiconv or GNU libc.
62127
62128 2007-01-15  Bruno Haible  <bruno@clisp.org>
62129
62130         * doc/gnulib-intro.texi (Copyright): Explain the different license
62131         terms for module descriptions, autoconf macros, tests, documentation.
62132
62133 2007-01-14  Bruno Haible  <bruno@clisp.org>
62134
62135         * modules/striconv-tests: New file.
62136         * tests/test-striconv.c: New file.
62137
62138 2007-01-14  Bruno Haible  <bruno@clisp.org>
62139
62140         * modules/iconv-tests: New file.
62141         * tests/test-iconv.c: New file.
62142
62143 2007-01-14  Bruno Haible  <bruno@clisp.org>
62144
62145         * gnulib-tool (func_get_license): For test modules, use the license of
62146         the main module.
62147
62148 2007-01-14  Bruno Haible  <bruno@clisp.org>
62149
62150         * modules/iconv (Include): Clarify that <iconv.h> can only be included
62151         if iconv is found to exist.
62152
62153 2007-01-14  Bruno Haible  <bruno@clisp.org>
62154
62155         * modules/c-ctype-tests: New file.
62156         * tests/test-c-ctype.c: New file.
62157
62158 2007-01-14  Bruno Haible  <bruno@clisp.org>
62159
62160         * modules/binary-io-tests: New file.
62161         * tests/test-binary-io.sh: New file.
62162         * tests/test-binary-io.c: New file.
62163
62164 2007-01-14  Bruno Haible  <bruno@clisp.org>
62165
62166         * modules/array-oset-tests: New file.
62167         * tests/test-array_oset.c: New file.
62168
62169 2007-01-14  Bruno Haible  <bruno@clisp.org>
62170
62171         * modules/array-list-tests: New file.
62172         * tests/test-array_list.c: New file.
62173
62174 2007-01-14  Bruno Haible  <bruno@clisp.org>
62175
62176         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
62177         and make.
62178         Reported by Simon Josefsson in
62179         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
62180
62181 2007-01-14  Bruno Haible  <bruno@clisp.org>
62182
62183         * modules/allocsa-tests: New file.
62184         * tests/test-allocsa.c: New file.
62185
62186 2007-01-14  Bruno Haible  <bruno@clisp.org>
62187
62188         * modules/fchdir (Depends-on): Add absolute-header.
62189         * modules/unistd (Depends-on): Likewise.
62190
62191 2006-12-30  Bruno Haible  <bruno@clisp.org>
62192
62193         * modules/fchdir: New file.
62194         * modules/unistd (Files): Add lib/unistd_.h.
62195         (Makefile.am): Generate unistd.h from unistd_.h.
62196         * lib/fchdir.c: New file.
62197         * lib/dirent_.h: New file.
62198         * lib/unistd_.h: New file.
62199         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
62200         * m4/fchdir.m4: New file.
62201         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
62202         (gl_HEADER_UNISTD): Invoke it.
62203         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
62204         function.
62205         * lib/backupfile.c (opendir, closedir): Undefine.
62206         * lib/chown.c (open, close): Undefine.
62207         * lib/clean-temp.c (open, close): Undefine.
62208         * lib/copy-file.c (open, close): Undefine.
62209         * lib/execute.c (open, close): Undefine.
62210         * lib/fsusage.c (open, close): Undefine.
62211         * lib/gc-gnulib.c (open, close): Undefine.
62212         * lib/getcwd.c (opendir, closedir): Undefine.
62213         * lib/glob.c (opendir, closedir): Undefine.
62214         * lib/javacomp.c (open, close): Undefine.
62215         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
62216         * lib/openat-proc.c (open, close): Undefine.
62217         * lib/pagealign_alloc.c (open, close): Undefine.
62218         * lib/pipe.c (open, close): Undefine.
62219         * lib/progreloc.c (open, close): Undefine.
62220         * lib/savedir.c (opendir, closedir): Undefine.
62221         * lib/utime.c (open, close): Undefine.
62222         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
62223
62224 2007-01-10  Bruno Haible  <bruno@clisp.org>
62225
62226         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
62227
62228 2007-01-12  Eric Blake  <ebb9@byu.net>
62229
62230         Provide a robust <wchar.h>.  Further simplifications are now
62231         possible in other modules, but not included here.
62232         * modules/wchar: New module.
62233         * m4/wchar.m4: New file.
62234         * lib/wchar_.h: Likewise.
62235         * modules/mbchar (Depends-on): Depend on wchar, as the first use
62236         of the new module.
62237         * MODULES.html.sh (Extended multibyte and wide character utilities):
62238         New section.
62239
62240 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
62241
62242         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
62243         to a reasonable default for memory allocation.
62244         (xreadlink): Don't allocate a huge buffer, to work around a buggy
62245         file system that reports garbage st_size values for symlinks.
62246         Problem reported by Liyang Hu.
62247
62248 2007-01-11  Simon Josefsson  <simon@josefsson.org>
62249
62250         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
62251         Emacs .#* auto-save files).
62252
62253 2007-01-11  Bruno Haible  <bruno@clisp.org>
62254
62255         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
62256         directory.
62257
62258 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62259
62260         Use @...@ consistently in lib/wctype_.h.
62261         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
62262         on it being set to 1 or 0.
62263         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
62264         go back to AC_SUBSTing it.
62265         * modules/wctype (Makefile.am): Undo previous change.
62266
62267 2007-01-10  Eric Blake  <ebb9@byu.net>
62268
62269         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
62270         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
62271         * modules/wctype (Makefile.am): Likewise.
62272         Reported by Chris McGuire.
62273
62274 2007-01-10  Jim Meyering  <jim@meyering.net>
62275
62276         fts.c: a small readability/maintainability improvement
62277         * lib/fts.c (fts_read): Make this code slightly more readable and
62278         maintainable by hoisting the "sp->fts_cur = p" assignments to
62279         immediately follow the statements that set P.  Derived from
62280         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
62281
62282 2007-01-10  Eric Blake  <ebb9@byu.net>
62283
62284         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
62285         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
62286         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62287         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
62288         Reported by Chris McGuire.
62289
62290 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62291
62292         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
62293         in sed script.
62294
62295 2007-01-09  Bruno Haible  <bruno@clisp.org>
62296
62297         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
62298         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
62299         variables.
62300         (func_module): Use them.
62301
62302 2007-01-09  Bruno Haible  <bruno@clisp.org>
62303
62304         * modules/unistr/base: New file.
62305         * lib/unistr.h: New file.
62306
62307         * modules/unistr/u8-to-u16: New file.
62308         * lib/unistr/u8-to-u16.c: New file.
62309
62310         * modules/unistr/u8-to-u32: New file.
62311         * lib/unistr/u8-to-u32.c: New file.
62312
62313         * modules/unistr/u16-to-u8: New file.
62314         * lib/unistr/u16-to-u8.c: New file.
62315
62316         * modules/unistr/u16-to-u32: New file.
62317         * lib/unistr/u16-to-u32.c: New file.
62318
62319         * modules/unistr/u32-to-u8: New file.
62320         * lib/unistr/u32-to-u8.c: New file.
62321
62322         * modules/unistr/u32-to-u16: New file.
62323         * lib/unistr/u32-to-u16.c: New file.
62324
62325         * modules/unistr/u8-check: New file.
62326         * modules/unistr/u16-check: New file.
62327         * modules/unistr/u32-check: New file.
62328         * lib/unistr/u8-check.c: New file.
62329         * lib/unistr/u16-check.c: New file.
62330         * lib/unistr/u32-check.c: New file.
62331
62332         * modules/unistr/u8-chr: New file.
62333         * modules/unistr/u16-chr: New file.
62334         * modules/unistr/u32-chr: New file.
62335         * lib/unistr/u8-chr.c: New file.
62336         * lib/unistr/u16-chr.c: New file.
62337         * lib/unistr/u32-chr.c: New file.
62338
62339         * modules/unistr/u8-cmp: New file.
62340         * modules/unistr/u16-cmp: New file.
62341         * modules/unistr/u32-cmp: New file.
62342         * lib/unistr/u8-cmp.c: New file.
62343         * lib/unistr/u16-cmp.c: New file.
62344         * lib/unistr/u32-cmp.c: New file.
62345
62346         * modules/unistr/u8-cpy: New file.
62347         * modules/unistr/u16-cpy: New file.
62348         * modules/unistr/u32-cpy: New file.
62349         * lib/unistr/u8-cpy.c: New file.
62350         * lib/unistr/u16-cpy.c: New file.
62351         * lib/unistr/u32-cpy.c: New file.
62352         * lib/unistr/u-cpy.h: New file.
62353
62354         * modules/unistr/u8-cpy-alloc: New file.
62355         * modules/unistr/u16-cpy-alloc: New file.
62356         * modules/unistr/u32-cpy-alloc: New file.
62357         * lib/unistr/u8-cpy-alloc.c: New file.
62358         * lib/unistr/u16-cpy-alloc.c: New file.
62359         * lib/unistr/u32-cpy-alloc.c: New file.
62360         * lib/unistr/u-cpy-alloc.h: New file.
62361
62362         * modules/unistr/u8-endswith: New file.
62363         * modules/unistr/u16-endswith: New file.
62364         * modules/unistr/u32-endswith: New file.
62365         * lib/unistr/u8-endswith.c: New file.
62366         * lib/unistr/u16-endswith.c: New file.
62367         * lib/unistr/u32-endswith.c: New file.
62368         * lib/unistr/u-endswith.h: New file.
62369
62370         * modules/unistr/u8-mblen: New file.
62371         * modules/unistr/u16-mblen: New file.
62372         * modules/unistr/u32-mblen: New file.
62373         * lib/unistr/u8-mblen.c: New file.
62374         * lib/unistr/u16-mblen.c: New file.
62375         * lib/unistr/u32-mblen.c: New file.
62376
62377         * modules/unistr/u8-mbtouc: New file.
62378         * modules/unistr/u16-mbtouc: New file.
62379         * modules/unistr/u32-mbtouc: New file.
62380         * lib/unistr/u8-mbtouc.c: New file.
62381         * lib/unistr/u16-mbtouc.c: New file.
62382         * lib/unistr/u32-mbtouc.c: New file.
62383
62384         * modules/unistr/u8-mbtouc-safe: New file.
62385         * modules/unistr/u16-mbtouc-safe: New file.
62386         * modules/unistr/u32-mbtouc-safe: New file.
62387         * lib/unistr/u8-mbtouc-safe.c: New file.
62388         * lib/unistr/u16-mbtouc-safe.c: New file.
62389         * lib/unistr/u32-mbtouc-safe.c: New file.
62390
62391         * modules/unistr/u8-move: New file.
62392         * modules/unistr/u16-move: New file.
62393         * modules/unistr/u32-move: New file.
62394         * lib/unistr/u8-move.c: New file.
62395         * lib/unistr/u16-move.c: New file.
62396         * lib/unistr/u32-move.c: New file.
62397         * lib/unistr/u-move.h: New file.
62398
62399         * modules/unistr/u8-next: New file.
62400         * modules/unistr/u16-next: New file.
62401         * modules/unistr/u32-next: New file.
62402         * lib/unistr/u8-next.c: New file.
62403         * lib/unistr/u16-next.c: New file.
62404         * lib/unistr/u32-next.c: New file.
62405
62406         * modules/unistr/u8-prev: New file.
62407         * modules/unistr/u16-prev: New file.
62408         * modules/unistr/u32-prev: New file.
62409         * lib/unistr/u8-prev.c: New file.
62410         * lib/unistr/u16-prev.c: New file.
62411         * lib/unistr/u32-prev.c: New file.
62412
62413         * modules/unistr/u8-set: New file.
62414         * modules/unistr/u16-set: New file.
62415         * modules/unistr/u32-set: New file.
62416         * lib/unistr/u8-set.c: New file.
62417         * lib/unistr/u16-set.c: New file.
62418         * lib/unistr/u32-set.c: New file.
62419         * lib/unistr/u-set.h: New file.
62420
62421         * modules/unistr/u8-startswith: New file.
62422         * modules/unistr/u16-startswith: New file.
62423         * modules/unistr/u32-startswith: New file.
62424         * lib/unistr/u8-startswith.c: New file.
62425         * lib/unistr/u16-startswith.c: New file.
62426         * lib/unistr/u32-startswith.c: New file.
62427         * lib/unistr/u-startswith.h: New file.
62428
62429         * modules/unistr/u8-stpcpy: New file.
62430         * modules/unistr/u16-stpcpy: New file.
62431         * modules/unistr/u32-stpcpy: New file.
62432         * lib/unistr/u8-stpcpy.c: New file.
62433         * lib/unistr/u16-stpcpy.c: New file.
62434         * lib/unistr/u32-stpcpy.c: New file.
62435         * lib/unistr/u-stpcpy.h: New file.
62436
62437         * modules/unistr/u8-stpncpy: New file.
62438         * modules/unistr/u16-stpncpy: New file.
62439         * modules/unistr/u32-stpncpy: New file.
62440         * lib/unistr/u8-stpncpy.c: New file.
62441         * lib/unistr/u16-stpncpy.c: New file.
62442         * lib/unistr/u32-stpncpy.c: New file.
62443         * lib/unistr/u-stpncpy.h: New file.
62444
62445         * modules/unistr/u8-strcat: New file.
62446         * modules/unistr/u16-strcat: New file.
62447         * modules/unistr/u32-strcat: New file.
62448         * lib/unistr/u8-strcat.c: New file.
62449         * lib/unistr/u16-strcat.c: New file.
62450         * lib/unistr/u32-strcat.c: New file.
62451         * lib/unistr/u-strcat.h: New file.
62452
62453         * modules/unistr/u8-strchr: New file.
62454         * modules/unistr/u16-strchr: New file.
62455         * modules/unistr/u32-strchr: New file.
62456         * lib/unistr/u8-strchr.c: New file.
62457         * lib/unistr/u16-strchr.c: New file.
62458         * lib/unistr/u32-strchr.c: New file.
62459
62460         * modules/unistr/u8-strcmp: New file.
62461         * modules/unistr/u16-strcmp: New file.
62462         * modules/unistr/u32-strcmp: New file.
62463         * lib/unistr/u8-strcmp.c: New file.
62464         * lib/unistr/u16-strcmp.c: New file.
62465         * lib/unistr/u32-strcmp.c: New file.
62466
62467         * modules/unistr/u8-strcpy: New file.
62468         * modules/unistr/u16-strcpy: New file.
62469         * modules/unistr/u32-strcpy: New file.
62470         * lib/unistr/u8-strcpy.c: New file.
62471         * lib/unistr/u16-strcpy.c: New file.
62472         * lib/unistr/u32-strcpy.c: New file.
62473         * lib/unistr/u-strcpy.h: New file.
62474
62475         * modules/unistr/u8-strcspn: New file.
62476         * modules/unistr/u16-strcspn: New file.
62477         * modules/unistr/u32-strcspn: New file.
62478         * lib/unistr/u8-strcspn.c: New file.
62479         * lib/unistr/u16-strcspn.c: New file.
62480         * lib/unistr/u32-strcspn.c: New file.
62481         * lib/unistr/u-strcspn.h: New file.
62482
62483         * modules/unistr/u8-strdup: New file.
62484         * modules/unistr/u16-strdup: New file.
62485         * modules/unistr/u32-strdup: New file.
62486         * lib/unistr/u8-strdup.c: New file.
62487         * lib/unistr/u16-strdup.c: New file.
62488         * lib/unistr/u32-strdup.c: New file.
62489         * lib/unistr/u-strdup.h: New file.
62490
62491         * modules/unistr/u8-strlen: New file.
62492         * modules/unistr/u16-strlen: New file.
62493         * modules/unistr/u32-strlen: New file.
62494         * lib/unistr/u8-strlen.c: New file.
62495         * lib/unistr/u16-strlen.c: New file.
62496         * lib/unistr/u32-strlen.c: New file.
62497         * lib/unistr/u-strlen.h: New file.
62498
62499         * modules/unistr/u8-strmblen: New file.
62500         * modules/unistr/u16-strmblen: New file.
62501         * modules/unistr/u32-strmblen: New file.
62502         * lib/unistr/u8-strmblen.c: New file.
62503         * lib/unistr/u16-strmblen.c: New file.
62504         * lib/unistr/u32-strmblen.c: New file.
62505
62506         * modules/unistr/u8-strmbtouc: New file.
62507         * modules/unistr/u16-strmbtouc: New file.
62508         * modules/unistr/u32-strmbtouc: New file.
62509         * lib/unistr/u8-strmbtouc.c: New file.
62510         * lib/unistr/u16-strmbtouc.c: New file.
62511         * lib/unistr/u32-strmbtouc.c: New file.
62512
62513         * modules/unistr/u8-strncat: New file.
62514         * modules/unistr/u16-strncat: New file.
62515         * modules/unistr/u32-strncat: New file.
62516         * lib/unistr/u8-strncat.c: New file.
62517         * lib/unistr/u16-strncat.c: New file.
62518         * lib/unistr/u32-strncat.c: New file.
62519         * lib/unistr/u-strncat.h: New file.
62520
62521         * modules/unistr/u8-strncmp: New file.
62522         * modules/unistr/u16-strncmp: New file.
62523         * modules/unistr/u32-strncmp: New file.
62524         * lib/unistr/u8-strncmp.c: New file.
62525         * lib/unistr/u16-strncmp.c: New file.
62526         * lib/unistr/u32-strncmp.c: New file.
62527
62528         * modules/unistr/u8-strncpy: New file.
62529         * modules/unistr/u16-strncpy: New file.
62530         * modules/unistr/u32-strncpy: New file.
62531         * lib/unistr/u8-strncpy.c: New file.
62532         * lib/unistr/u16-strncpy.c: New file.
62533         * lib/unistr/u32-strncpy.c: New file.
62534         * lib/unistr/u-strncpy.h: New file.
62535
62536         * modules/unistr/u8-strnlen: New file.
62537         * modules/unistr/u16-strnlen: New file.
62538         * modules/unistr/u32-strnlen: New file.
62539         * lib/unistr/u8-strnlen.c: New file.
62540         * lib/unistr/u16-strnlen.c: New file.
62541         * lib/unistr/u32-strnlen.c: New file.
62542         * lib/unistr/u-strnlen.h: New file.
62543
62544         * modules/unistr/u8-strpbrk: New file.
62545         * modules/unistr/u16-strpbrk: New file.
62546         * modules/unistr/u32-strpbrk: New file.
62547         * lib/unistr/u8-strpbrk.c: New file.
62548         * lib/unistr/u16-strpbrk.c: New file.
62549         * lib/unistr/u32-strpbrk.c: New file.
62550         * lib/unistr/u-strpbrk.h: New file.
62551
62552         * modules/unistr/u8-strrchr: New file.
62553         * modules/unistr/u16-strrchr: New file.
62554         * modules/unistr/u32-strrchr: New file.
62555         * lib/unistr/u8-strrchr.c: New file.
62556         * lib/unistr/u16-strrchr.c: New file.
62557         * lib/unistr/u32-strrchr.c: New file.
62558
62559         * modules/unistr/u8-strspn: New file.
62560         * modules/unistr/u16-strspn: New file.
62561         * modules/unistr/u32-strspn: New file.
62562         * lib/unistr/u8-strspn.c: New file.
62563         * lib/unistr/u16-strspn.c: New file.
62564         * lib/unistr/u32-strspn.c: New file.
62565         * lib/unistr/u-strspn.h: New file.
62566
62567         * modules/unistr/u8-strstr: New file.
62568         * modules/unistr/u16-strstr: New file.
62569         * modules/unistr/u32-strstr: New file.
62570         * lib/unistr/u8-strstr.c: New file.
62571         * lib/unistr/u16-strstr.c: New file.
62572         * lib/unistr/u32-strstr.c: New file.
62573         * lib/unistr/u-strstr.h: New file.
62574
62575         * modules/unistr/u8-strtok: New file.
62576         * modules/unistr/u16-strtok: New file.
62577         * modules/unistr/u32-strtok: New file.
62578         * lib/unistr/u8-strtok.c: New file.
62579         * lib/unistr/u16-strtok.c: New file.
62580         * lib/unistr/u32-strtok.c: New file.
62581         * lib/unistr/u-strtok.h: New file.
62582
62583         * modules/unistr/u8-uctomb: New file.
62584         * modules/unistr/u16-uctomb: New file.
62585         * modules/unistr/u32-uctomb: New file.
62586         * lib/unistr/u8-uctomb.c: New file.
62587         * lib/unistr/u16-uctomb.c: New file.
62588         * lib/unistr/u32-uctomb.c: New file.
62589
62590         * MODULES.html.sh (Unicode string functions): Add the new modules.
62591
62592 2007-01-08  Bruno Haible  <bruno@clisp.org>
62593
62594         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
62595         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
62596         subdirectories.
62597
62598 2007-01-08  Karl Berry  <karl@gnu.org>
62599
62600         * doc/error.texi: mention that main() fns must set program_name
62601         when progname is used.
62602
62603 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
62604
62605         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
62606         WCTYPE_H is empty, for the benefit of builds from non-distclean
62607         directories.  Problem reported by Eric Blake in
62608         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
62609
62610 2007-01-08  Bruno Haible  <bruno@clisp.org>
62611
62612         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
62613         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
62614         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
62615         PROVIDE_CANONICALIZE_FILENAME_MODE.
62616         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
62617
62618 2007-01-08  Bruno Haible  <bruno@clisp.org>
62619
62620         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
62621         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
62622         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
62623         * lib/fts.c: Likewise.
62624         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
62625
62626 2006-12-25  Bruno Haible  <bruno@clisp.org>
62627
62628         * modules/utf8-ucs4-safe: New file.
62629         * lib/utf8-ucs4-safe.h: New file.
62630         * lib/unistr/utf8-ucs4-safe.c: New file.
62631
62632         * modules/utf16-ucs4-safe: New file.
62633         * lib/utf16-ucs4-safe.h: New file.
62634         * lib/unistr/utf16-ucs4-safe.c: New file.
62635
62636         * MODULES.html.sh (Unicode string functions): Add the new modules.
62637
62638 2007-01-08  Bruno Haible  <bruno@clisp.org>
62639
62640         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
62641         (Depends-on): Add unitypes.
62642         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
62643         (u8_mbtouc_aux): Move out to separate file.
62644         (u8_mbtouc): Use ucs4_t, uint8_t types.
62645         * lib/unistr/utf8-ucs4.c: New file.
62646
62647         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
62648         (Depends-on): Add unitypes.
62649         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
62650         (u16_mbtouc_aux): Move out to separate file.
62651         (u16_mbtouc): Use ucs4_t, uint16_t types.
62652         * lib/unistr/utf16-ucs4.c: New file.
62653
62654         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
62655         (Depends-on): Add unitypes.
62656         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
62657         (u8_uctomb_aux): Move out to separate file.
62658         (u8_uctomb): Use ucs4_t, uint8_t types.
62659         * lib/unistr/ucs4-utf8.c: New file.
62660
62661         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
62662         (Depends-on): Add unitypes.
62663         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
62664         (u16_uctomb_aux): Move out to separate file.
62665         (u16_uctomb): Use ucs4_t, uint16_t types.
62666         * lib/unistr/ucs4-utf16.c: New file.
62667
62668 2006-12-25  Bruno Haible  <bruno@clisp.org>
62669
62670         * modules/unitypes: New file.
62671         * lib/unitypes.h: New file.
62672         * MODULES.html.sh (func_all_modules): New section "Unicode string
62673         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
62674         this section. Add unitypes.
62675
62676 2007-01-08  Bruno Haible  <bruno@clisp.org>
62677
62678         Avoid variable names that conflict with those from libtool.
62679         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
62680         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
62681         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
62682         library_names_spec to acl_library_names_spec, hardcode_* to
62683         acl_hardcode_*.
62684         Reported by Ralf Wildenhues.
62685
62686 2007-01-08  Bruno Haible  <bruno@clisp.org>
62687
62688         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
62689         definition.
62690         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
62691         definition.
62692         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
62693         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
62694         definition.
62695         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
62696         definition.
62697         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
62698         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
62699         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
62700         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
62701         definition.
62702         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
62703         definition.
62704         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
62705         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
62706         GC_USE_<algorithm>.
62707         * lib/gc-libgcrypt.c: Likewise.
62708         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
62709         * modules/gc-arctwo (configure.ac): Likewise.
62710         * modules/gc-des (configure.ac): Likewise.
62711         * modules/gc-hmac-md5 (configure.ac): Likewise.
62712         * modules/gc-hmac-sha1 (configure.ac): Likewise.
62713         * modules/gc-md2 (configure.ac): Likewise.
62714         * modules/gc-md4 (configure.ac): Likewise.
62715         * modules/gc-md5 (configure.ac): Likewise.
62716         * modules/gc-random (configure.ac): Likewise.
62717         * modules/gc-rijndael (configure.ac): Likewise.
62718         * modules/gc-sha1 (configure.ac): Likewise.
62719
62720 2007-01-08  Bruno Haible  <bruno@clisp.org>
62721
62722         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
62723         macro definition.
62724         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
62725         definition.
62726         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
62727         definition.
62728         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
62729         * modules/fcntl-safer (configure.ac): Likewise.
62730         * modules/fopen-safer (configure.ac): Likewise.
62731         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
62732         GNULIB_FWRITEERROR macro definition.
62733
62734 2007-01-08  Bruno Haible  <bruno@clisp.org>
62735
62736         * m4/gnulib-common.m4: New file.
62737         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
62738         (func_get_filelist): Add m4/gnulib-common.m4.
62739
62740 2007-01-08  Bruno Haible  <bruno@clisp.org>
62741
62742         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
62743         command.
62744
62745 2007-01-08  Jim Meyering  <jim@meyering.net>
62746
62747         Use a more robust test for a "can't happen" condition.
62748         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
62749         narrowed the st_size value.  Presuming the "can't happen" condition
62750         is true, that narrowing could conceivably convert an invalid st_size
62751         value into a valid one.  Instead, use a change based on Matthew
62752         Woehlke's original patch.
62753
62754         Slight readability improvement: use an assert-like macro
62755         in place of literal "abort ()" uses.
62756         * lib/fts.c (fts_assert): Define.
62757         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
62758         Use this macro instead of a bare 'abort'.
62759
62760 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
62761
62762         Don't worry about using IRIX 5.3's wctype.h broken definitions;
62763         simply work around them.
62764         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
62765         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
62766         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
62767         declaring.
62768         Don't bother to define as macros, since the standard doesn't require it.
62769         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
62770         longer worry about IRIX 5.3.
62771         (HAVE_WCTYPE_CTMP_BUG): Remove.
62772
62773 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62774
62775         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
62776         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
62777         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62778         Problems reported by Georg Schwarz for IRIX 5.3.
62779
62780         * gnulib-tool (autoconf_minversion): Take the maximum version number
62781         found, not the minimum.  Problem reported by James Youngman.
62782
62783 2007-01-03  Karl Berry  <karl@gnu.org>
62784
62785         * doc/error.texi: new file, explaining interaction with progname.
62786         * doc/gnulib.texi: include it.  Update copyright.
62787
62788 2007-01-03  Simon Josefsson  <simon@josefsson.org>
62789
62790         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
62791         AC_CANONICAL_HOST, to improve autobuild outputs.
62792
62793 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
62794             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
62795
62796         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
62797         sockets, server sockets, and other file descriptors.  Count errors
62798         to compute the return value.  Reorder the code a bit to be easier
62799         to follow.  Don't set event bits that were not requested (except
62800         POLLERR and POLLHUP).
62801
62802 2007-01-01  Bruno Haible  <bruno@clisp.org>
62803
62804         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
62805
62806 2007-01-03  Jim Meyering  <jim@meyering.net>
62807
62808         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
62809
62810 2007-01-02  Bruno Haible  <bruno@clisp.org>
62811
62812         * modules/settime (Include): Require timespec.h.
62813         * modules/nanosleep (Include): Likewise.
62814
62815 2007-01-01  Bruno Haible  <bruno@clisp.org>
62816
62817         * gnulib-tool (func_emit_copyright_notice): Bump year.
62818         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
62819
62820 2007-01-01  Bruno Haible  <bruno@clisp.org>
62821
62822         Improve support for OpenBSD.
62823         * build-aux/config.rpath (libname_spec): Export.
62824         (library_names_spec): New variable. Export.
62825         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
62826         library_names_spec from the config.rpath output. Locate shared library
62827         through the name pattern in library_names_spec.
62828
62829 2007-01-01  Eric Blake  <ebb9@byu.net>
62830
62831         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
62832
62833 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
62834
62835         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
62836         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
62837         assume the C locale, and avoid an "eval" that could cause trouble.
62838         Problem with SORT reported by Bob Proulx.
62839
62840         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
62841         Define.  Trivial patch from Henning Nielsen Lund, originally
62842         sent to bug-grep@gnu.org today.
62843
62844 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62845
62846         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
62847         struct stat.  Problem reported by Henning Nielsen Lund.
62848         * lib/acl.c: Include acl.h first, to check interface.  Don't
62849         bother to include sys/types.h and sys/stat.h again.
62850
62851 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         Import the following change from libc; problem reported by
62854         Sven Verdoolaege.
62855
62856         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
62857
62858         [BZ #1373]
62859         * lib/argp.h: Remove __NTH for __argp_usage inline function.
62860
62861 2006-12-28  Jim Meyering  <jim@meyering.net>
62862
62863         * build-aux/announce-gen: Do not assume that the package
62864         builds any of tar.gz, tar.bz2, and .xdelta files.
62865         Suggestion from Simon Josefsson.
62866
62867 2006-12-28  Simon Josefsson  <simon@josefsson.org>
62868
62869         * modules/announce-gen: New file.
62870
62871 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62872
62873         * lib/mbchar.h: Just include <wctype.h>; the wctype module
62874         handles its gotchas now.
62875         * lib/mbswidth.c: Likewise.
62876         * lib/wcwidth.h: Likewise.
62877         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
62878         and iswcntrl; the wctype module does this stuff now.
62879         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
62880         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62881         * modules/mbchar (Depends-on): Add wctype.
62882         * modules/mbswidth (Depends-on): Likewise.
62883         * modules/wcwidth (Depends-on): Likewise.
62884
62885 2006-12-27  Eric Blake  <ebb9@byu.net>
62886
62887         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
62888         module uses more than what <wctype.h> is required to provide.
62889
62890 2006-12-26  Eric Blake  <ebb9@byu.net>
62891
62892         * gnulib-tool (sed_extract_prog): Avoid space-tab.
62893
62894 2006-12-26  Eric Blake  <ebb9@byu.net>
62895
62896         * modules/absolute-header: New module.
62897         * modules/fcntl (Depends-on): Depend on it.
62898         * modules/inttypes (Depends-on): Likewise.
62899         * modules/stdint (Depends-on): Likewise.
62900         * modules/sys_stat (Depends-on): Likewise.
62901         * modules/wctype (Depends-on): Likewise.
62902         * MODULES.html.sh (Support for building libraries and
62903         executables): Document it.
62904
62905 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62906
62907         * gnulib-tool (SED): Remove, undoing previous change.
62908         The problem was that it broke coreutils on Solaris, because
62909         "sed --posix" leaked into a makefile.
62910         (sed): New alias, if 'alias' and GNU sed.
62911
62912 2006-12-24  Jim Meyering  <jim@meyering.net>
62913
62914         Work around an fchownat bug in glibc-2.4:
62915         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
62916         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
62917         in spite of the -P option.
62918         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
62919         New macros.
62920         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
62921         * modules/openat (Files): Add lib/fchownat.c.
62922         * lib/openat.c (fchownat): Don't define here.  Move to...
62923         * lib/fchownat.c: ...this new file.
62924
62925 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62926
62927         Fix bug reported by Bruno Haible in
62928         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
62929         where quotearg.c didn't compile on Mac OS X 10.2 because it
62930         lacks <wchar.h> and wint_t.
62931         * lib/wctype_.h (__wctype_wint_t): New type.
62932         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
62933         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
62934         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
62935         Arg is now of type __wctype_wint_t, not wint_t.
62936         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
62937         substitute HAVE_WINT_T.
62938         * modules/wctype (Files): Add m4/wint_t.m4.
62939         (wctype.h): Substitute HAVE_WINT_T.
62940
62941 2006-12-23  Bruno Haible  <bruno@clisp.org>
62942
62943         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
62944
62945 2006-12-23  Bruno Haible  <bruno@clisp.org>
62946
62947         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
62948         S_ISLNK.
62949         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
62950         mingw.
62951
62952 2006-12-22  Bruno Haible  <bruno@clisp.org>
62953
62954         * lib/copy-file.c: Include acl.h.
62955         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
62956         Close the file descriptors only after being done with copy_acl.
62957         * modules/copy-file (Depends-on): Add acl.
62958
62959 2006-12-22  Bruno Haible  <bruno@clisp.org>
62960
62961         * gnulib-tool (SED): New variable.
62962         Use $SED instead of sed everywhere.
62963
62964 2006-12-22  Bruno Haible  <bruno@clisp.org>
62965
62966         * modules/no-c++: New file.
62967         * m4/no-c++.m4: New file.
62968         * MODULES.html.sh (Support for building libraries and executables):
62969         Add no-c++.
62970
62971 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62972
62973         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
62974         Include <limits.h>, and use its INT_MAX to rewrite the
62975         j loop so that it does not overflow 'int'.  Problem reported by
62976         Ralf Wildenhues in
62977         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
62978         Play it safe by shifting left by 1 rather than multiplying by 2,
62979         as GCC is less likely to optimize this away when the value
62980         is signed (when it assumes overflow leads to undefined behavior).
62981         Also, don't assume time_t uses two's complement.
62982
62983 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62984
62985         * MODULES.html.sh: New module wctype.
62986         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
62987         * lib/fnmatch.c: Don't bother to include <wchar.h> before
62988         <wctype.h>, since the new wctype module should fix this.
62989         * lib/quotearg.c: Include <wctype.h> unconditionally, since
62990         the wctype module should arrange for it.
62991         * lib/regex_internal.h: Likewise.
62992         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
62993         since the wctype module should handle this now.
62994         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
62995         * modules/fnmatch (Depends-on): Add wctype.
62996         * modules/quotearg (Depends-on): Likewise.
62997         * modules/regex (Depends-on): Likewise.
62998
62999 2006-12-19  Bruno Haible  <bruno@clisp.org>
63000
63001         * lib/strdup.h [C++]: Wrap definitions in extern "C".
63002         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
63003
63004 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63005
63006         * modules/savewd (Depends-on): Fix dependency on fcntl.
63007
63008 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63009
63010         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
63011         conforms to C99, rather than relying on the user's environment
63012         setting of STDINT_H.
63013
63014 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63015         and Eric Blake  <ebb9@byu.net>
63016
63017         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
63018         This is more consistent with the other defines here.
63019         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
63020         Port to z/OS.  Problem reported by Paul Gilmartin.
63021         Change local vars to use gl_ prefix rather than ac_.
63022         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
63023         with other defines.
63024         * modules/double-slash-root: New module.
63025         * modules/dirname (Files): Remove m4/double-slash-root.m4.
63026         (Depends-on): Add double-slash-root.
63027         * MODULES.html.sh (File system functions): Mention new module.
63028
63029 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
63030
63031         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
63032         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
63033         This is for the benefit of gzip, which doesn't do i18n.
63034
63035 2006-12-12  Jim Meyering  <jim@meyering.net>
63036
63037         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
63038         Reported by Andreas Schwab <schwab@suse.de>.
63039
63040 2006-12-12  Bruno Haible  <bruno@clisp.org>
63041
63042         Merge these changes.
63043         2006-09-05  Bruno Haible  <bruno@clisp.org>
63044         * lib/iconvme.c (iconv_string): No need to save and restore errno when
63045         iconv_alloc succeeded.
63046         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
63047         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
63048         test for " && dest " at the end - dest is always != NULL there. Call
63049         iconv with 4xNULL arguments initially, to reset the state. Call iconv
63050         with 2xNULL arguments, also to flush the state storage. Handle the
63051         IRIX iconv behaviour. Realloc the final result, to throw away unused
63052         memory.
63053
63054 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
63055
63056         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
63057         and fchmodat unconditionally, since glibc 2.4 has them.
63058         Problem reported by Arkadiusz Miskiewicz.
63059
63060 2006-12-10  Bruno Haible  <bruno@clisp.org>
63061
63062         * gnulib-tool (func_import): Show the include files only for those
63063         modules that are copied and specified.
63064         Reported by Karl Berry.
63065
63066 2006-12-08  Jim Meyering  <jim@meyering.net>
63067
63068         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
63069         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
63070
63071         * build-aux/announce-gen: Add two new options, both optional:
63072         --bootstrap-tools=TOOL_LIST
63073               a comma-separated list of tools, e.g.,
63074               autoconf,automake,bison,gnulib
63075         --gnulib-snapshot-date=DATE
63076               if gnulib is in the bootstrap tool list,
63077               then report this as the snapshot date.
63078               If not specified, use the current date/time.
63079               If you specify a date here, be sure it's UTC.
63080
63081 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63082
63083         * tests/test-argp-2.sh: Fix test to match actual output.
63084         (func_compare): Fix sed script to be portable.
63085
63086 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
63087
63088         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
63089         workaround for this case.  It is not autoconfigured now; offhand
63090         it's hard to see how to autoconfigure it.
63091
63092 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63093
63094         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
63095         a directory that is about to be chowned.  Such a directory's
63096         initial file permissions should permit the owner only and this
63097         should not be changed until after the chown, since the group and
63098         other bits would be incorrect if they granted permission before
63099         the chown.
63100
63101         Fix porting problem for iswctype reported by Georg Schwarz in:
63102         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
63103         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
63104         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
63105         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
63106         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63107
63108 2006-12-03  Jim Meyering  <jim@meyering.net>
63109
63110         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
63111         p->fts_statp may not yet be defined.
63112         (fts_read): Instead, set it in the caller, once p->fts_statp is
63113         sure to be defined, and corresponds to a top-level directory.
63114         This bug made du -x fail.  Here's the coreutils test case:
63115         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
63116         Reported by Mike Frysinger.
63117
63118 2006-12-01  Jim Meyering  <jim@meyering.net>
63119
63120         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
63121         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
63122         Reported by Simon Josefsson.
63123
63124 2006-11-30  Jim Meyering  <jim@meyering.net>
63125
63126         * m4/warning.m4: Use the all-permissive copyright notice
63127         recommended by RMS (rather than LGPL).
63128         * m4/vararrays.m4: Likewise.
63129         * m4/flexmember.m4: Likewise.
63130
63131 2006-11-29  Bruno Haible  <bruno@clisp.org>
63132
63133         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63134         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
63135         using +=.
63136         Reported by Simon Josefsson <simon@josefsson.org>.
63137
63138 2006-11-28  James Youngman <jay@gnu.org>
63139
63140         * README: Advise users that they might find the bug-gnulib@gnu.org
63141         and autotools-announce@gnu.org mailing lists useful.
63142
63143 2006-11-28  Bruno Haible  <bruno@clisp.org>
63144
63145         * m4/ptrdiff_max.m4: Remove file.
63146
63147 2006-11-21  Bruno Haible  <bruno@clisp.org>
63148
63149         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
63150         _AC_COMPUTE_INT.
63151         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63152         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
63153         _AC_COMPUTE_INT.
63154         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63155         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
63156         _AC_COMPUTE_INT.
63157         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63158
63159 2006-11-28  Jim Meyering  <jim@meyering.net>
63160
63161         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
63162         warning from "gcc -Wshadow" about shadowing the builtin.
63163
63164 2006-11-27  Bruno Haible  <bruno@clisp.org>
63165
63166         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
63167         _AC_COMPUTE_INT.
63168         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63169
63170 2006-11-27  Bruno Haible  <bruno@clisp.org>
63171             Paul Eggert  <eggert@cs.ucla.edu>
63172
63173         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
63174
63175 2006-11-26  Bruno Haible  <bruno@clisp.org>
63176
63177         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63178         noinst_LTLIBRARIES.
63179
63180 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
63181             Bruno Haible  <bruno@clisp.org>
63182
63183         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
63184         if compiling with "gcc -ansi".
63185
63186 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
63187
63188         Fix some incompatibilities with gcc -ansi -pedantic.
63189         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
63190         if compiling pedantically with GCC, unless it's C99 or later.
63191         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
63192         it mishandles gcc -ansi -pedantic as well.
63193         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
63194         if gcc -pedantic.
63195         * lib/regexec.c (check_node_accept_bytes): Don't use auto
63196         initializers for struct if -pedantic, unless it's C99 or later.
63197
63198 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
63199
63200         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
63201         Don't close an fd more than once. Identical atimes indicate
63202         success, not failure.
63203
63204 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
63205
63206         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
63207
63208 2006-11-23  Jim Meyering  <jim@meyering.net>
63209
63210         * build-aux/announce-gen: New file.  From coreutils.
63211
63212 2006-11-22  Jim Meyering  <jim@meyering.net>
63213
63214         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
63215         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
63216         (fts_read): Use a temporary to narrow the overused st_size member
63217         before using it in a switch statement.  Reported by Matthew Woehlke.
63218
63219         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
63220         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
63221
63222 2006-11-20  Bruno Haible  <bruno@clisp.org>
63223
63224         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
63225         changequote instead of pairs of brackets.
63226         Reported by Andreas Schwab <schwab@suse.de>.
63227
63228 2006-11-21  Jim Meyering  <jim@meyering.net>
63229
63230         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
63231         so as to remain compatible with older compilers.
63232         Patch from Michael Deutschmann.
63233
63234 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
63235
63236         * MODULES.html.sh (File system functions): Add openat.
63237
63238         * lib/openat.h (rpl_fstatat): New macro, if
63239         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
63240         (fstatat): Define to rpl_fstatat under the same conditions,
63241         unless COMPILING_FSTATAT.
63242         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
63243         seems to have the bug.
63244         * lib/fstatat.c: New file.
63245         * modules/openat (Files): Add it.
63246
63247 2006-11-20  Bruno Haible  <bruno@clisp.org>
63248
63249         * Makefile: New file.
63250
63251 2006-11-20  Jim Meyering  <jim@meyering.net>
63252
63253         The beginnings of syntax-related checks for gnulib.
63254         * lib/Makefile: New file.
63255         * lib/t-idcache: New script.  Ensure that the two halves of
63256         idcache.c stay in sync.
63257
63258         * lib/idcache.c: Adjust comments in user- and group- portions to
63259         be more accurate, and to be consistent with one another.
63260
63261 2006-11-20  Jim Meyering  <jim@meyering.net>
63262
63263         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
63264         continue using the flexible array member (thus, this module performs
63265         half as many malloc calls), with the addition that...
63266         (getgroup, getuser): Consistently record a non-match via an empty
63267         "name" string, and map an empty string match to a NULL return value.
63268         * modules/idcache (Depends-on): Re-add flexmember.
63269
63270         * lib/idcache.c (getuser): Remove all uses of the register keyword.
63271         (getuidbyname, getgroup, getgidbyname): Likewise.
63272
63273         Use cleaner syntax: NULL rather than 0.
63274         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
63275
63276 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
63277
63278         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
63279         It mishandled the case where the group was missing.
63280         Problem reported by Greg Schafer.
63281         * modules/idcache: Likewise.
63282
63283 2006-11-18  Jim Meyering  <jim@meyering.net>
63284
63285         * check-module (%exempt_header): Add exception for some
63286         conditionally-included headers.
63287
63288         * modules/i-ring (Depends-on): Add verify.
63289         (License): Change to LGPL.
63290
63291 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63292
63293         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
63294         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
63295         and inttostr.h.  Use snprintf rather than uinttostr, so that
63296         LGPLed code doesn't depend on GPLed.
63297
63298 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * modules/inline (License): Change from GPL to LGPL.
63301
63302 2006-11-17  Jim Meyering  <jim@meyering.net>
63303
63304         * modules/d-type (License): Switch to LGPL.
63305
63306 2006-11-15  Bruno Haible  <bruno@clisp.org>
63307
63308         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
63309
63310 2006-11-15  Eric Blake  <ebb9@byu.net>
63311
63312         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
63313         the module dependency.
63314
63315 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63316             Bruno Haible  <bruno@clisp.org>
63317
63318         * gnulib-tool (func_create_testdir): Add license consistency check.
63319
63320 2006-11-15  Eric Blake  <ebb9@byu.net>
63321
63322         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
63323         random "(cached)" in configure output.
63324
63325 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63326
63327         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
63328         test for conforming inttypes.h is both announced and cached.
63329
63330         * MODULES.html.sh (seen_modules, seen_files): New variables.
63331         (func_module): Rewrite to use a few less gnulib-tool and sed
63332         invocations.  Avoid a couple of quadratic algorithms for ...
63333         (missed_modules, missed_files): ... these, with ...
63334         (func_append, func_tmpdir): ... these new functions, from
63335         gnulib-tool.  Analogously, install traps for cleanup.
63336
63337         * tests/test-gc.c (main): Remove unused variables.
63338         * tests/test-read-file.c: Include stdlib.h, for 'free'.
63339
63340 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
63341
63342         * modules/inttostr (License): Change to LGPL.
63343
63344 2006-11-14  Eric Blake  <ebb9@byu.net>
63345
63346         * modules/tempname (License): Change to LGPL.
63347
63348 2006-11-14  Eric Blake  <ebb9@byu.net>
63349
63350         * doc/functions.texi (Function Portability): *printf functions on
63351         Cygwin now understand all POSIX size specifiers.
63352
63353 2006-11-14  Bruno Haible  <bruno@clisp.org>
63354
63355         * modules/c-ctype (License): Change to LGPL.
63356
63357 2006-11-12  Bruno Haible  <bruno@clisp.org>
63358
63359         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
63360         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
63361         for GNOME libraries, for which the include files are installed in
63362         subdirectories of $prefix/include.
63363
63364 2006-11-12  Bruno Haible  <bruno@clisp.org>
63365
63366         * m4/lib-link.m4: Require at least autoconf-2.54.
63367         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
63368         name to underscores for the --with option.
63369
63370 2006-11-13  Bruno Haible  <bruno@clisp.org>
63371
63372         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
63373         the tests directory.
63374         Reported by Ralf Wildenhues.
63375
63376 2006-11-13  Bruno Haible  <bruno@clisp.org>
63377
63378         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
63379         (func_emit_initmacro_end): Undo the override here.
63380         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
63381         Works around the famous automake error in coreutils.
63382
63383 2006-11-13  Eric Blake  <ebb9@byu.net>
63384
63385         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
63386         element, not its node.
63387
63388 2006-11-12  Bruno Haible  <bruno@clisp.org>
63389
63390         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
63391         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
63392
63393 2006-11-12  Bruno Haible  <bruno@clisp.org>
63394
63395         * gnulib-tool: New option --local-symlink.
63396         (func_usage): Document it.
63397         (lsymbolic): New variable.
63398         (func_import, func_create_testdir): If --symlink was not specified,
63399         test whether --local-symlink was specified and the file comes from
63400         the local_gnulib_dir.
63401
63402 2006-11-12  Bruno Haible  <bruno@clisp.org>
63403
63404         * gnulib-tool (func_ln): New function.
63405         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
63406
63407 2006-11-12  Bruno Haible  <bruno@clisp.org>
63408
63409         Finish support for source files in subdirectories.
63410         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
63411         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
63412         AUTOMAKE_OPTIONS.
63413         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
63414
63415 2006-11-12  Bruno Haible  <bruno@clisp.org>
63416
63417         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63418         EXTRA_lib_SOURCES augmentation.
63419         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
63420
63421 2006-11-12  Jim Meyering  <jim@meyering.net>
63422
63423         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
63424         file descriptors.  This also averts a failure on systems with
63425         native openat support when a traversed directory lacks "x" access.
63426         * lib/fts_.h: Include "i-ring.h"
63427         (struct FTS) [fts_fd_ring]: New member.
63428         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
63429         (FCHDIR): Add parentheses.
63430         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
63431         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
63432         When descending, rather than simply closing the previous
63433         fts_cwd_fd value, push that file descriptor onto the ring.
63434         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
63435         (fts_open): Initialize the new fd_ring member.
63436         (fts_close): Clear the ring.
63437         (fts_safe_changedir): When possible, use our new fd_ring to skip
63438         the diropen and fstat and dev/ino comparison that would normally
63439         accompany a virtual `chdir ("..")'.
63440
63441         * modules/fts (Depends-on): Add i-ring.
63442         * modules/i-ring: New module.
63443         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
63444         * m4/i-ring.m4: New file.
63445
63446 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63447
63448         * gnulib-tool (func_create_testdir): Fix replacement of
63449         `build-aux' in configure.ac.  Run autotools in gltests
63450         subdirectory.
63451         (func_create_testdir, func_create_megatestdir, test): There is
63452         no need for '--force' in most autotool invocations in a new
63453         tree.  Actually fail the whole test if any of the tools, or the
63454         configure or make stages fail.
63455
63456         Sync from Automake.
63457         * build-aux/gnupload: Revert last change.  Add pointer to upload
63458         instructions of the GNU Maintenance Instructions.
63459         Suggestion by Karl Berry.
63460
63461 2006-11-10  Jim Meyering  <jim@meyering.net>
63462
63463         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
63464
63465 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63466
63467         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
63468         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
63469         (bind_textdomain_codeset) [! ENABLE_NLS]:
63470         Evaluate all the arguments.  That way, callers get compatible behavior
63471         if the arguments have side effects.  Also, it avoids some GCC
63472         diagnostics in some cases; Joel E. Denny reported problems when Bison
63473         was configured with --enable-gcc-warnigs.
63474
63475 2006-11-10  Jim Meyering  <jim@meyering.net>
63476
63477         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
63478         relevant options in CFLAGS (like -O, -fno-inline) are taken into
63479         account.
63480
63481 2006-11-10  Jim Meyering  <jim@meyering.net>
63482
63483         * modules/inline: New file/module.
63484         * modules/xalloc (Files): Remove m4/inline.m4.
63485         (Depends-on): Add inline, instead.
63486         * modules/oset: Likewise.
63487         * modules/list: Likewise.
63488
63489 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63490
63491         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
63492         Problem reported by Matthew Woehlke.
63493
63494 2006-11-09  Bruno Haible  <bruno@clisp.org>
63495
63496         * lib/tempname.c (gen_tempname): Remove variant that invokes
63497         __gen_tempname.
63498         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
63499         __gen_tempname.
63500
63501 2006-11-08  Bruno Haible  <bruno@clisp.org>
63502
63503         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
63504         to 'yes' instead of 'cross-compiling'.
63505
63506 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
63507
63508         * lib/quotearg.h (quotearg_free): New decl.
63509         * lib/quotearg.c (quotearg_free): New function.
63510         (slot0, nslots, slotvec0, slotvec):
63511         Now file-scope so that quotearg_free can get at them.
63512
63513 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63514
63515         Sync from Automake.
63516         * build-aux/gnupload: Add missing 'gnu' to example URL.
63517         Report by Karl Berry.
63518
63519 2006-11-08  Bruno Haible  <bruno@clisp.org>
63520
63521         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
63522         Suggested by Paul Eggert.
63523
63524 2006-11-08  Jim Meyering  <jim@meyering.net>
63525
63526         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
63527         It's already included if !_LIBC.
63528         (fts_safe_changedir): Add a comment.
63529
63530 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63531
63532         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
63533         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
63534         Matthew Woehlke.
63535
63536         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
63537         definitions up, to avoid colliding with change below.
63538         (static_inline) [HAVE_INLINE]: New macro.
63539         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
63540         Provide extern decls when !HAVE_INLINE.  Do not define unless
63541         static_inline is defined, either by us or by xmalloc.c.  Use
63542         static_inline rather than static inline.
63543         (XCALLOC): Optimize sizeof(T) = 1 case.
63544         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
63545
63546 2006-11-07  Bruno Haible  <bruno@clisp.org>
63547
63548         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
63549         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
63550         AC_C_INLINE.
63551         * modules/xalloc (Files): Add m4/inline.m4.
63552
63553 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63554
63555         * README: Fix typo.
63556         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
63557         (Miscellanous Notes): ...from this.
63558
63559 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63560
63561         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
63562         Mention that offsetof should be used instead of sizeof.
63563         From Bruno Haible.
63564
63565 2006-11-07  Bruno Haible  <bruno@clisp.org>
63566
63567         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
63568
63569 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
63570
63571         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
63572         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
63573         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
63574         (gl_tree_add_before, gl_tree_add_after):
63575         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
63576         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
63577         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
63578         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
63579         (gl_linked_add_after, gl_linked_add_at): Likewise.
63580         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
63581         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
63582         (gl_tree_add_before, gl_tree_add_after): Likewise.
63583         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
63584         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
63585         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
63586
63587 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63588
63589         * lib/gl_oset.h: Use C comment style, not C++ comment style.
63590
63591 2006-11-06  Bruno Haible  <bruno@clisp.org>
63592
63593         * m4/inline.m4: New file.
63594         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
63595         * modules/list (Files): Add m4/inline.m4.
63596         * modules/oset (Files): Likewise.
63597
63598 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
63599
63600         * lib/idcache.c: Include <stddef.h>, for offsetof.
63601         (struct userid.name): Change from char * to a flexible array member.
63602         All uses changed.
63603         * modules/idcache (Depends-on): Add flexmember.
63604
63605         * MODULES.html.sh (Core language properties): New module flexmember.
63606         * modules/flexmember, m4/flexmember.m4: New files.
63607
63608         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
63609         inline functions that are identical with the old xnmalloc_inline,
63610         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
63611         that we can avoid some unnecessary integer multiplications and
63612         divisions in the common case where the element size is known at
63613         compile time.
63614         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
63615         needed.
63616         (xnboundedmalloc): Remove.
63617         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
63618         arguments, for consistency with rest of this header.
63619         (xcharalloc): Rewrite using XNMALLOC.
63620         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
63621         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
63622         versions have been moved to lib/xalloc.h and renamed to be the
63623         non-*_inline versions.
63624         (xmalloc, xrealloc): Implement without reference to the xnmalloc
63625         and xnrealloc functions, since those functions are now inline and
63626         now call us.
63627         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
63628         renaming described above.
63629         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
63630         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
63631         captures the dependency in AC_C_INLINE.
63632
63633         New module canonicalize-lgpl, proposed by Charles Wilson in
63634         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
63635         with a few small changes afterwards.
63636         * MODULES.html.sh (File system functions): New module
63637         canonicalize-lgpl.
63638         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
63639         and canonicalize_file_name.
63640         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
63641         * modules/canonicalize-lgpl: New files.
63642
63643 2006-11-05  Bruno Haible  <bruno@clisp.org>
63644
63645         * gnulib-tool (func_import, func_create_testdir): Create directories
63646         also for files in subdirectories of lib/.
63647
63648 2006-11-05  Bruno Haible  <bruno@clisp.org>
63649
63650         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
63651         ANSI C compliant.
63652
63653 2006-11-03  Bruno Haible  <bruno@clisp.org>
63654
63655         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
63656         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
63657         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
63658         (xnboundedmalloc): New inline function.
63659         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
63660         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
63661         xmalloc.
63662         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
63663         xmalloc.
63664         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
63665         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
63666         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
63667         xmalloc.
63668         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
63669         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
63670         xmalloc.
63671         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
63672         gl_tree_add_after): Use XMALLOC instead of xmalloc.
63673         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
63674         xmalloc.
63675         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
63676         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
63677         gl_tree_add_after): Use XMALLOC instead of xmalloc.
63678         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
63679         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
63680         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
63681         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
63682
63683 2006-11-03  Bruno Haible  <bruno@clisp.org>
63684
63685         * lib/c-ctype.h [C++]: Define functions without name mangling.
63686         * lib/fwriteerror.h [C++]: Likewise.
63687         * lib/gcd.h [C++]: Likewise.
63688         * lib/linebreak.h [C++]: Likewise.
63689
63690 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
63691
63692         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
63693         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
63694         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
63695         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
63696         Check for functions and headers just once.
63697         Check for declaration of canonicalize_file_name.
63698         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
63699
63700 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63701
63702         * gnulib-tool (func_import): Fix typo in actioncmd.
63703
63704 2006-11-02  Bruno Haible  <bruno@clisp.org>
63705
63706         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
63707         newline sequence in the Makefile.am snippet as a space, like "make"
63708         does.
63709         Reported by Roger Persson <perrog@gmail.com>.
63710
63711 2006-11-01  Bruno Haible  <bruno@clisp.org>
63712
63713         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
63714         already declared in <string.h>.
63715         * lib/strcase.h (strncasecmp): Don't declare it if yes.
63716
63717 2006-11-01  Bruno Haible  <bruno@clisp.org>
63718
63719         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
63720         * lib/strcase.h: Include <string.h>.
63721         (strcasecmp): Define to rpl_strcasecmp here.
63722
63723 2006-11-01  Bruno Haible  <bruno@clisp.org>
63724
63725         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
63726
63727 2006-11-01  Eric Blake  <ebb9@byu.net>
63728
63729         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
63730
63731         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
63732
63733 2006-10-29  Bruno Haible  <bruno@clisp.org>
63734
63735         Make it compile in C++ mode.
63736         * lib/full-write.c (full_rw): Add a cast.
63737
63738 2006-11-01  Bruno Haible  <bruno@clisp.org>
63739
63740         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
63741         be POSIX compliant.
63742         Reported by Roger Persson <perrog@gmail.com>.
63743
63744 2006-11-01  Eric Blake  <ebb9@byu.net>
63745
63746         * lib/getopt_.h: Fix comments.
63747
63748 2006-10-31  Eric Blake  <ebb9@byu.net>
63749
63750         * modules/tmpdir (Depends-on): Add sys_stat.
63751         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
63752         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
63753         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
63754         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
63755         tempname.
63756
63757 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
63758
63759         Avoid some C++ diagnostics reported by Bruno Haible.
63760         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
63761         xmalloc.
63762         (quotearg_alloc): Use xcharalloc rather than xmalloc.
63763         (struct slotvec): Move to top level.
63764         (quotearg_n_options): Rewrite to avoid xmalloc.
63765         * lib/xalloc.h (xcharalloc): New function.
63766         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
63767         [defined __cplusplus]: Add function template that provides result
63768         type propagation.  This part of the change is from Bruno Haible.
63769
63770 2006-10-29  Bruno Haible  <bruno@clisp.org>
63771
63772         Make it compile in C++ mode.
63773         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
63774         * lib/strnlen1.c (strnlen1): Cast memchr result.
63775         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
63776         * lib/clean-temp.c (string_equals, string_hash): Add casts.
63777         (create_temp_dir): Rename local variable 'template'.
63778         (compile_csharp_using_sscli): Add cast.
63779         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
63780         * lib/findprog.c (find_in_path): Likewise.
63781         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
63782         * lib/wait-process.c (register_slave_subprocess): Likewise.
63783
63784 2006-10-22  Bruno Haible  <bruno@clisp.org>
63785
63786         * modules/tsearch: New file.
63787         * lib/tsearch.h: New file.
63788         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
63789         * m4/tsearch.m4: New file.
63790         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
63791
63792 2006-10-29  Eric Blake  <ebb9@byu.net>
63793
63794         * lib/arcfour.c: Assume config.h.
63795         * lib/arctwo.c: Likewise.
63796         * lib/base64.c: Likewise.
63797         * lib/check-version.c: Likewise.
63798         * lib/crc.c: Likewise.
63799         * lib/des.c: Likewise.
63800         * lib/gc-gnulib.c: Likewise.
63801         * lib/gc-libgcrypt.c: Likewise.
63802         * lib/gc-pbkdf2-sha1.c: Likewise.
63803         * lib/getaddrinfo.c: Likewise.
63804         * lib/getdelim.c: Likewise.
63805         * lib/getline.c: Likewise.
63806         * lib/hmac-md5.c: Likewise.
63807         * lib/hmac-sha1.c: Likewise.
63808         * lib/iconvme.c: Likewise.
63809         * lib/md2.c: Likewise.
63810         * lib/md4.c: Likewise.
63811         * lib/memxor.c: Likewise.
63812         * lib/read-file.c: Likewise.
63813         * lib/readline.c: Likewise.
63814         * lib/rijndael-alg-fst.c: Likewise.
63815         * lib/rijndael-api-fst.c: Likewise.
63816         * lib/xgetdomainname.c: Likewise.
63817
63818 2006-10-28  Eric Blake  <ebb9@byu.net>
63819
63820         * lib/xstrndup.c: Assume config.h.
63821
63822 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63823
63824         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
63825         stat-macros.h is now for our own macros, whereas stat_h is for
63826         macros in the <sys/stat.h> name space.
63827         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
63828         (STAT_MACROS_H): Remove.
63829         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
63830         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
63831         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
63832         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
63833         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
63834         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
63835         Move these macros to ...
63836         * lib/stat_.h: here.  Don't include stat-macros.h.
63837         * lib/canonicalize.c: Don't include stat-macros.h.
63838         * lib/chown.c: Likewise.
63839         * lib/euidaccess.c: Likewise.
63840         * lib/file-type.c: Likewise.
63841         * lib/filemode.c: Likewise.
63842         * lib/glob.c: Likewise.
63843         * lib/isapipe.c: Likewise.
63844         * lib/lchown.c: Likewise.
63845         * lib/lstat.c: Likewise.
63846         * lib/mkdir-p.c: Likewise.
63847         * lib/rmdir.c: Likewise.
63848         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
63849         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
63850         unless mkdir isn't declared, to speed up 'configure'.
63851         Always create sys/stat.h, since it's unlikely any real sys/stat.h
63852         would define all the S_* symbols.
63853         * modules/canonicalize (Depends-on):
63854         Depend on sys_stat, not stat-macros.
63855         * modules/chown: Likewise.
63856         * modules/euidaccess: Likewise.
63857         * modules/filemode: Likewise.
63858         * modules/file-type: Likewise.
63859         * modules/glob: Likewise.
63860         * modules/isapipe: Likewise.
63861         * modules/lchown: Likewise.
63862         * modules/lstat: Likewise.
63863         * modules/mkancesdirs: Likewise.
63864         * modules/rmdir: Likewise.
63865         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
63866         * modules/modechange: Likewise.
63867         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
63868         (configure.ac): Remove gl_STAT_MACROS.
63869         * modules/sys_stat (Depends-on): Remove stat-macros.
63870
63871 2006-10-27  Bruno Haible  <bruno@clisp.org>
63872
63873         * m4/signed.m4: Remove file.
63874         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
63875         invocation.
63876         * modules/vasnprintf (Files): Remove m4/signed.m4.
63877
63878 2006-10-27  Bruno Haible  <bruno@clisp.org>
63879
63880         Update to GNU gettext 0.16.
63881         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
63882         m4/inttypes-h.m4, m4/signed.m4.
63883         * m4/gettext.m4: Update to GNU gettext 0.16.
63884         * m4/intl.m4: New file, from GNU gettext.
63885         * m4/intldir.m4: New file, from GNU gettext.
63886         * config/srclist.txt: Update
63887
63888 2006-10-27  Eric Blake  <ebb9@byu.net>
63889
63890         * MODULES.html.sh: Document tempname.
63891         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
63892         dependencies.
63893         (Files): Move lib/tempname.c...
63894         * modules/tempname: ...to this new module.
63895         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
63896         (gl_PREREQ_TEMPNAME): Move...
63897         * m4/tempname.m4: ...to this new file.
63898         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
63899         * modules/sys_stat (Depends-on): Add stat-macros.
63900         * lib/stat_.h (includes): Pick up stat macros.
63901         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
63902         if stat macros are broken.
63903         * lib/tempname.c (includes): No need to include "stat-macros.h".
63904         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
63905         (direxists, __path_search) [!_LIBC]: Don't compile these in
63906         gnulib; the tmpdir module covers that.
63907         * lib/tempname.h: New file.
63908
63909 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63910
63911         * COPYING: Explain how gnulib-tool converts licence headers.
63912         Almost all wording by Eric Blake.
63913
63914 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
63915
63916         * lib/mbchar.h (is_basic_table): Make read-only.
63917         * lib/mbchar.c (is_basic_table): Likewise.
63918         Reported by John Darrington.
63919
63920 2006-10-25  Bruno Haible  <bruno@clisp.org>
63921
63922         * lib/progname.h (set_program_name): Undefine before defining.
63923
63924 2006-10-25  Bruno Haible  <bruno@clisp.org>
63925
63926         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
63927         false for non-gcc C++ compilers.
63928         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
63929
63930 2006-10-24  Bruno Haible  <bruno@clisp.org>
63931
63932         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
63933         iconv implementations like Irix iconv.
63934
63935 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63936
63937         * modules/vararrays: New file.
63938         * m4/vararrays.m4: New file, taken from diffutils.
63939         * MODULES.html.sh: New module vararrays.
63940
63941 2006-10-24  Karl Berry  <karl@gnu.org>
63942
63943         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
63944         Don't call GNU Unix.
63945
63946 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63947
63948         * users.txt: Add Libtool.
63949
63950         Sync from Libtool:
63951
63952         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63953
63954         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
63955         to gnulib's policy of including config.h unconditionally.
63956
63957 2006-10-24  Bruno Haible  <bruno@clisp.org>
63958
63959         * modules/wcwidth (Files): Add m4/wint_t.m4.
63960         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
63961         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
63962
63963 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63964
63965         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
63966         to pacify GCC with some -W flags enabled.  Problem reported by
63967         Bruno Haible.
63968
63969 2006-10-24  Jim Meyering  <jim@meyering.net>
63970
63971         * MODULES.html.sh: Remove uinttostr.  It's not a module.
63972         Reported by Karl Berry.
63973
63974 2006-10-23  Bruno Haible  <bruno@clisp.org>
63975
63976         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
63977
63978 2006-10-24  Bruno Haible  <bruno@clisp.org>
63979
63980         * lib/gl_list.h: Use C comment style, not C++ comment style.
63981
63982 2006-10-23  Eric Blake  <ebb9@byu.net>
63983
63984         * lib/getaddrinfo.c (includes): Add missing include.
63985
63986 2006-10-23  Bruno Haible  <bruno@clisp.org>
63987             Paul Eggert  <eggert@cs.ucla.edu>
63988
63989         Ability to rename obstack_free.
63990         * lib/obstack.h (__obstack_free): New macro. Declare instead of
63991         obstack_free.
63992         (obstack_free): Invoke the __obstack_free macro.
63993         * lib/obstack.c (obstack_free): Use __obstack_free macro.
63994
63995 2006-10-23  Bruno Haible  <bruno@clisp.org>
63996             Paul Eggert  <eggert@cs.ucla.edu>
63997
63998         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
63999         __argc, __argv from the declaration. (They are defined as macros on
64000         mingw.)
64001
64002 2006-10-22  Bruno Haible  <bruno@clisp.org>
64003
64004         * doc/gnulib-intro.texi: New file.
64005         * doc/gnulib.texi: Include it.
64006
64007 2006-10-21  Bruno Haible  <bruno@clisp.org>
64008
64009         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
64010         "Introduction", "Miscellanous Notes", "Particular Modules".
64011
64012 2006-10-21  Bruno Haible  <bruno@clisp.org>
64013
64014         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64015         Change mostlyclean-local rule to avoid sh syntax error from bash
64016         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
64017
64018 2006-10-23  Jim Meyering  <jim@meyering.net>
64019
64020         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
64021         in place of snprintf.
64022
64023         * modules/inttostr (Files): Add lib/uinttostr.c.
64024         * lib/uinttostr.c (inttostr): New file/function.
64025         * lib/inttostr.h (uinttostr): Declare.
64026         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
64027         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
64028         Add uinttostr.
64029         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
64030
64031 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
64032
64033         * lib/canonicalize.c (ELOOP): Define if not already defined.
64034         Problem reported by Bruno Haible in
64035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
64036
64037 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
64038
64039         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
64040         Problem reported by Perry Smith and Ville Laurikari.
64041
64042         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
64043         uses.
64044
64045 2006-10-19  Bruno Haible  <bruno@clisp.org>
64046
64047         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
64048         for mingw.
64049
64050 2006-10-19  Bruno Haible  <bruno@clisp.org>
64051
64052         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
64053         Needed for mingw.
64054
64055 2006-10-19  Bruno Haible  <bruno@clisp.org>
64056
64057         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
64058
64059 2006-10-19  Bruno Haible  <bruno@clisp.org>
64060
64061         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
64062         it.
64063
64064 2006-10-19  Bruno Haible  <bruno@clisp.org>
64065
64066         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
64067         invocation.
64068
64069 2006-10-19  Bruno Haible  <bruno@clisp.org>
64070
64071         * gnulib-tool (func_create_testdir): Don't include ftruncate and
64072         mountlist by default.
64073
64074 2006-10-16  Bruno Haible  <bruno@clisp.org>
64075
64076         * lib/c-strstr.c: Include c-strstr.h.
64077
64078 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
64079
64080         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
64081         in a slash.
64082
64083 2006-10-18  Bruno Haible  <bruno@clisp.org>
64084
64085         * lib/lock.h [C++]: Wrap definitions in extern "C".
64086
64087 2006-10-18  Bruno Haible  <bruno@clisp.org>
64088
64089         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
64090         gl_LIBOBJS list.
64091
64092 2006-10-18  Bruno Haible  <bruno@clisp.org>
64093
64094         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
64095
64096 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
64097
64098         * lib/xstrtol.h: Include gettext.h.
64099         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
64100         Problem reported by Eric Blake.
64101         * modules/xstrtol (Depends-on): Add gettext-h.
64102
64103 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
64104
64105         * lib/strftime.c (advance): New macro.
64106         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
64107         incomplete type, so you can't add 0 to it.  Problem and patch
64108         reported by Eelco Dolstra for dietlibc.
64109
64110 2006-10-18  Jim Meyering  <jim@meyering.net>
64111
64112         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
64113         type for a local, and rename it: s/up/user_proc/.
64114
64115 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
64116
64117         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
64118         READ_UTMP_USER_PROCESS.
64119         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
64120
64121 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64122
64123         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
64124         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
64125
64126 2006-10-17  Eric Blake  <ebb9@byu.net>
64127
64128         * lib/sigprocmask.c (sigprocmask): Fix typo.
64129
64130         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
64131
64132         * modules/clean-temp (Makefile.am): Don't add to make output...
64133         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
64134         config.h.
64135
64136 2006-10-17  Bruno Haible  <bruno@clisp.org>
64137
64138         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
64139         differently if DEFAULT_TEXT_DOMAIN is set.
64140
64141 2006-10-16  Bruno Haible  <bruno@clisp.org>
64142
64143         * lib/clean-temp.c: Include fwriteerror.h.
64144
64145 2006-10-16  Bruno Haible  <bruno@clisp.org>
64146
64147         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
64148
64149 2006-10-16  Bruno Haible  <bruno@clisp.org>
64150
64151         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
64152         * lib/sigprocmask.h: Include <sys/types.h>.
64153         (sigset_t): Use the system's definition if present.
64154
64155 2006-10-17  Eric Blake  <ebb9@byu.net>
64156
64157         * lib/xvasprintf.c (includes): Assume config.h.
64158         * lib/xasprintf.c (includes): Likewise.
64159
64160 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64161
64162         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
64163         at least as wide as intmax_t.
64164
64165 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
64166
64167         (Imported from Automake.)
64168         * build-aux/gnupload: Update to version 1.1 of directive file.
64169
64170 2006-10-16  Eric Blake  <ebb9@byu.net>
64171
64172         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
64173         match Automake 1.10a.
64174
64175 2006-10-14  Bruno Haible  <bruno@clisp.org>
64176
64177         * modules/sigprocmask: New file.
64178         * lib/sigprocmask.h: New file.
64179         * lib/sigprocmask.c: New file.
64180         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
64181         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
64182         request sigprocmask.o.
64183         (gl_PREREQ_SIGPROCMASK): New macro.
64184         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
64185         (Depends-on): Add sigprocmask.
64186         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
64187         gt_SIGNALBLOCKING. Test for 'raise' only once.
64188         * lib/fatal-signal.c: Include sigprocmask.h.
64189         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
64190         unblock_fatal_signals): Define always.
64191         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64192         sigprocmask.
64193
64194 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64195
64196         Sync from Automake.
64197         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
64198         which incorrectly sets the mode of an existing destination
64199         directory.  In some cases the unpatched install-sh could do the
64200         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
64201         system.  We hope this is rare in practice, but it's clearly worth
64202         fixing.  Problem reported by Alex Unleashed in
64203         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
64204         Also, don't bother to check for -m bugs unless we're using -m;
64205         suggested by Stepan Kasal.
64206
64207 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64208
64209         Sync from Automake.
64210         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
64211         `-c' flag, so they appear at the same position as in %FASTDEP%
64212         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
64213         which ignores unknown options only after the first non-option.
64214         Bug report against M4 by Nelson H. F. Beebe.
64215
64216 2006-10-13  Jim Meyering  <jim@meyering.net>
64217
64218         Fix a bug in yesterday's change.
64219         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
64220         p->fts_statp->st_dev would be used uninitialized.
64221         Ensures that we always call fts_stat on the very first entry.
64222         Miklos Szeredi reported that find -xdev stopped working.
64223
64224 2006-10-12  Bruno Haible  <bruno@clisp.org>
64225
64226         * gnulib-tool (func_get_automake_snippet): Append an automatically
64227         computed EXTRA_DIST augmentation.
64228         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
64229         * modules/alloca-opt (Makefile.am): Likewise.
64230         * modules/allocsa (Makefile.am): Likewise.
64231         * modules/arcfour (Makefile.am): Likewise.
64232         * modules/arctwo (Makefile.am): Likewise.
64233         * modules/argmatch (Makefile.am): Likewise.
64234         * modules/argz (Makefile.am): Likewise.
64235         * modules/atexit (Makefile.am): Likewise.
64236         * modules/backupfile (Makefile.am): Likewise.
64237         * modules/byteswap (Makefile.am): Likewise.
64238         * modules/c-strtod (Makefile.am): Likewise.
64239         * modules/c-strtold (Makefile.am): Likewise.
64240         * modules/calloc (Makefile.am): Likewise.
64241         * modules/canon-host (Makefile.am): Likewise.
64242         * modules/canonicalize (Makefile.am): Likewise.
64243         * modules/chdir-long (Makefile.am): Likewise.
64244         * modules/chdir-safer (Makefile.am): Likewise.
64245         * modules/check-version (Makefile.am): Likewise.
64246         * modules/chown (Makefile.am): Likewise.
64247         * modules/cloexec (Makefile.am): Likewise.
64248         * modules/close-stream (Makefile.am): Likewise.
64249         * modules/closeout (Makefile.am): Likewise.
64250         * modules/crc (Makefile.am): Likewise.
64251         * modules/csharpexec (Makefile.am): Likewise.
64252         * modules/cycle-check (Makefile.am): Likewise.
64253         * modules/des (Makefile.am): Likewise.
64254         * modules/dev-ino (Makefile.am): Likewise.
64255         * modules/dirfd (Makefile.am): Likewise.
64256         * modules/dirname (Makefile.am): Likewise.
64257         * modules/dup2 (Makefile.am): Likewise.
64258         * modules/eealloc (Makefile.am): Likewise.
64259         * modules/error (Makefile.am): Likewise.
64260         * modules/euidaccess (Makefile.am): Likewise.
64261         * modules/exclude (Makefile.am): Likewise.
64262         * modules/exitfail (Makefile.am): Likewise.
64263         * modules/fcntl-safer (Makefile.am): Likewise.
64264         * modules/fcntl (Makefile.am): Likewise.
64265         * modules/file-type (Makefile.am): Likewise.
64266         * modules/fileblocks (Makefile.am): Likewise.
64267         * modules/filemode (Makefile.am): Likewise.
64268         * modules/filenamecat (Makefile.am): Likewise.
64269         * modules/fnmatch (Makefile.am): Likewise.
64270         * modules/fopen-safer (Makefile.am): Likewise.
64271         * modules/fpending (Makefile.am): Likewise.
64272         * modules/fprintftime (Makefile.am): Likewise.
64273         * modules/free (Makefile.am): Likewise.
64274         * modules/fsusage (Makefile.am): Likewise.
64275         * modules/ftruncate (Makefile.am): Likewise.
64276         * modules/fts (Makefile.am): Likewise.
64277         * modules/gc-arcfour (Makefile.am): Likewise.
64278         * modules/gc-des (Makefile.am): Likewise.
64279         * modules/gc-hmac-md5 (Makefile.am): Likewise.
64280         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
64281         * modules/gc-md4 (Makefile.am): Likewise.
64282         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
64283         * modules/gc-sha1 (Makefile.am): Likewise.
64284         * modules/gc (Makefile.am): Likewise.
64285         * modules/getaddrinfo (Makefile.am): Likewise.
64286         * modules/getcwd (Makefile.am): Likewise.
64287         * modules/getdelim (Makefile.am): Likewise.
64288         * modules/getdomainname (Makefile.am): Likewise.
64289         * modules/getgroups (Makefile.am): Likewise.
64290         * modules/gethostname (Makefile.am): Likewise.
64291         * modules/gethrxtime (Makefile.am): Likewise.
64292         * modules/getline (Makefile.am): Likewise.
64293         * modules/getloadavg (Makefile.am): Likewise.
64294         * modules/getlogin_r (Makefile.am): Likewise.
64295         * modules/getndelim2 (Makefile.am): Likewise.
64296         * modules/getopt (Makefile.am): Likewise.
64297         * modules/getpagesize (Makefile.am): Likewise.
64298         * modules/getpass-gnu (Makefile.am): Likewise.
64299         * modules/getpass (Makefile.am): Likewise.
64300         * modules/getsubopt (Makefile.am): Likewise.
64301         * modules/gettime (Makefile.am): Likewise.
64302         * modules/gettimeofday (Makefile.am): Likewise.
64303         * modules/getugroups (Makefile.am): Likewise.
64304         * modules/getusershell (Makefile.am): Likewise.
64305         * modules/glob (Makefile.am): Likewise.
64306         * modules/group-member (Makefile.am): Likewise.
64307         * modules/hard-locale (Makefile.am): Likewise.
64308         * modules/hash (Makefile.am): Likewise.
64309         * modules/hmac-md5 (Makefile.am): Likewise.
64310         * modules/hmac-sha1 (Makefile.am): Likewise.
64311         * modules/human (Makefile.am): Likewise.
64312         * modules/idcache (Makefile.am): Likewise.
64313         * modules/imaxabs (Makefile.am): Likewise.
64314         * modules/imaxdiv (Makefile.am): Likewise.
64315         * modules/inet_ntop (Makefile.am): Likewise.
64316         * modules/inet_pton (Makefile.am): Likewise.
64317         * modules/intprops (Makefile.am): Likewise.
64318         * modules/inttostr (Makefile.am): Likewise.
64319         * modules/inttypes (Makefile.am): Likewise.
64320         * modules/isapipe (Makefile.am): Likewise.
64321         * modules/javaversion (Makefile.am): Likewise.
64322         * modules/lchmod (Makefile.am): Likewise.
64323         * modules/lchown (Makefile.am): Likewise.
64324         * modules/localcharset (Makefile.am): Likewise.
64325         * modules/long-options (Makefile.am): Likewise.
64326         * modules/lstat (Makefile.am): Likewise.
64327         * modules/malloc (Makefile.am): Likewise.
64328         * modules/mathl (Makefile.am): Likewise.
64329         * modules/mbchar (Makefile.am): Likewise.
64330         * modules/md2 (Makefile.am): Likewise.
64331         * modules/md4 (Makefile.am): Likewise.
64332         * modules/md5 (Makefile.am): Likewise.
64333         * modules/memcasecmp (Makefile.am): Likewise.
64334         * modules/memchr (Makefile.am): Likewise.
64335         * modules/memcmp (Makefile.am): Likewise.
64336         * modules/memcoll (Makefile.am): Likewise.
64337         * modules/memcpy (Makefile.am): Likewise.
64338         * modules/memmem (Makefile.am): Likewise.
64339         * modules/memmove (Makefile.am): Likewise.
64340         * modules/mempcpy (Makefile.am): Likewise.
64341         * modules/memrchr (Makefile.am): Likewise.
64342         * modules/memset (Makefile.am): Likewise.
64343         * modules/memxor (Makefile.am): Likewise.
64344         * modules/mkancesdirs (Makefile.am): Likewise.
64345         * modules/mkdir-p (Makefile.am): Likewise.
64346         * modules/mkdir (Makefile.am): Likewise.
64347         * modules/mkdtemp (Makefile.am): Likewise.
64348         * modules/mkstemp (Makefile.am): Likewise.
64349         * modules/mktime (Makefile.am): Likewise.
64350         * modules/modechange (Makefile.am): Likewise.
64351         * modules/mountlist (Makefile.am): Likewise.
64352         * modules/nanosleep (Makefile.am): Likewise.
64353         * modules/obstack (Makefile.am): Likewise.
64354         * modules/openat (Makefile.am): Likewise.
64355         * modules/pagealign_alloc (Makefile.am): Likewise.
64356         * modules/pathmax (Makefile.am): Likewise.
64357         * modules/physmem (Makefile.am): Likewise.
64358         * modules/poll (Makefile.am): Likewise.
64359         * modules/posixtm (Makefile.am): Likewise.
64360         * modules/posixver (Makefile.am): Likewise.
64361         * modules/putenv (Makefile.am): Likewise.
64362         * modules/quote (Makefile.am): Likewise.
64363         * modules/quotearg (Makefile.am): Likewise.
64364         * modules/raise (Makefile.am): Likewise.
64365         * modules/read-file (Makefile.am): Likewise.
64366         * modules/readline (Makefile.am): Likewise.
64367         * modules/readlink (Makefile.am): Likewise.
64368         * modules/readtokens (Makefile.am): Likewise.
64369         * modules/readutmp (Makefile.am): Likewise.
64370         * modules/realloc (Makefile.am): Likewise.
64371         * modules/regex (Makefile.am): Likewise.
64372         * modules/rename-dest-slash (Makefile.am): Likewise.
64373         * modules/rename (Makefile.am): Likewise.
64374         * modules/rijndael (Makefile.am): Likewise.
64375         * modules/rmdir (Makefile.am): Likewise.
64376         * modules/rpmatch (Makefile.am): Likewise.
64377         * modules/safe-read (Makefile.am): Likewise.
64378         * modules/safe-write (Makefile.am): Likewise.
64379         * modules/same-inode (Makefile.am): Likewise.
64380         * modules/same (Makefile.am): Likewise.
64381         * modules/save-cwd (Makefile.am): Likewise.
64382         * modules/savedir (Makefile.am): Likewise.
64383         * modules/setenv (Makefile.am): Likewise.
64384         * modules/settime (Makefile.am): Likewise.
64385         * modules/sha1 (Makefile.am): Likewise.
64386         * modules/sig2str (Makefile.am): Likewise.
64387         * modules/snprintf (Makefile.am): Likewise.
64388         * modules/stat-macros (Makefile.am): Likewise.
64389         * modules/stat-time (Makefile.am): Likewise.
64390         * modules/stdbool (Makefile.am): Likewise.
64391         * modules/stdint (Makefile.am): Likewise.
64392         * modules/stdlib-safer (Makefile.am): Likewise.
64393         * modules/stpcpy (Makefile.am): Likewise.
64394         * modules/stpncpy (Makefile.am): Likewise.
64395         * modules/strcase (Makefile.am): Likewise.
64396         * modules/strcasestr (Makefile.am): Likewise.
64397         * modules/strchrnul (Makefile.am): Likewise.
64398         * modules/strcspn (Makefile.am): Likewise.
64399         * modules/strdup (Makefile.am): Likewise.
64400         * modules/strerror (Makefile.am): Likewise.
64401         * modules/strftime (Makefile.am): Likewise.
64402         * modules/strndup (Makefile.am): Likewise.
64403         * modules/strnlen (Makefile.am): Likewise.
64404         * modules/strpbrk (Makefile.am): Likewise.
64405         * modules/strsep (Makefile.am): Likewise.
64406         * modules/strstr (Makefile.am): Likewise.
64407         * modules/strtod (Makefile.am): Likewise.
64408         * modules/strtoimax (Makefile.am): Likewise.
64409         * modules/strtok_r (Makefile.am): Likewise.
64410         * modules/strtol (Makefile.am): Likewise.
64411         * modules/strtoll (Makefile.am): Likewise.
64412         * modules/strtoul (Makefile.am): Likewise.
64413         * modules/strtoull (Makefile.am): Likewise.
64414         * modules/strtoumax (Makefile.am): Likewise.
64415         * modules/strverscmp (Makefile.am): Likewise.
64416         * modules/sys_socket (Makefile.am): Likewise.
64417         * modules/sys_stat (Makefile.am): Likewise.
64418         * modules/sysexits (Makefile.am): Likewise.
64419         * modules/time_r (Makefile.am): Likewise.
64420         * modules/timegm (Makefile.am): Likewise.
64421         * modules/timespec (Makefile.am): Likewise.
64422         * modules/tmpfile-safer (Makefile.am): Likewise.
64423         * modules/trim (Makefile.am): Likewise.
64424         * modules/unistd-safer (Makefile.am): Likewise.
64425         * modules/unlinkdir (Makefile.am): Likewise.
64426         * modules/unlocked-io (Makefile.am): Likewise.
64427         * modules/userspec (Makefile.am): Likewise.
64428         * modules/utime (Makefile.am): Likewise.
64429         * modules/utimecmp (Makefile.am): Likewise.
64430         * modules/utimens (Makefile.am): Likewise.
64431         * modules/vasnprintf (Makefile.am): Likewise.
64432         * modules/vasprintf (Makefile.am): Likewise.
64433         * modules/vsnprintf (Makefile.am): Likewise.
64434         * modules/xalloc (Makefile.am): Likewise.
64435         * modules/xgetcwd (Makefile.am): Likewise.
64436         * modules/xnanosleep (Makefile.am): Likewise.
64437         * modules/xreadlink (Makefile.am): Likewise.
64438         * modules/xstrtod (Makefile.am): Likewise.
64439         * modules/xstrtol (Makefile.am): Likewise.
64440         * modules/xstrtold (Makefile.am): Likewise.
64441         * modules/yesno (Makefile.am): Likewise.
64442         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
64443
64444 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64445
64446         * modules/error (Makefile.am): Distribute files through
64447         EXTRA_DIST, not lib_SOURCES.
64448
64449 2006-10-12  Eric Blake  <ebb9@byu.net>
64450
64451         * modules/error (Makefile.am): Distribute files in /lib.
64452         * modules/obstack (Makefile.am): Likewise.
64453
64454 2006-10-12  Bruno Haible  <bruno@clisp.org>
64455
64456         * modules/acl (Makefile.am): Distribute all files in lib/ through
64457         EXTRA_DIST.
64458         * modules/arcfour (Makefile.am): Likewise.
64459         * modules/arctwo (Makefile.am): Likewise.
64460         * modules/argmatch (Makefile.am): Likewise.
64461         * modules/argz (Makefile.am): Likewise.
64462         * modules/atexit (Makefile.am): Likewise.
64463         * modules/backupfile (Makefile.am): Likewise.
64464         * modules/c-strtod (Makefile.am): Likewise.
64465         * modules/c-strtold (Makefile.am): Likewise.
64466         * modules/calloc (Makefile.am): Likewise.
64467         * modules/canon-host (Makefile.am): Likewise.
64468         * modules/canonicalize (Makefile.am): Likewise.
64469         * modules/chdir-long (Makefile.am): Likewise.
64470         * modules/chdir-safer (Makefile.am): Likewise.
64471         * modules/check-version (Makefile.am): Likewise.
64472         * modules/chown (Makefile.am): Likewise.
64473         * modules/cloexec (Makefile.am): Likewise.
64474         * modules/close-stream (Makefile.am): Likewise.
64475         * modules/closeout (Makefile.am): Likewise.
64476         * modules/crc (Makefile.am): Likewise.
64477         * modules/cycle-check (Makefile.am): Likewise.
64478         * modules/des (Makefile.am): Likewise.
64479         * modules/dirfd (Makefile.am): Likewise.
64480         * modules/dirname (Makefile.am): Likewise.
64481         * modules/dup2 (Makefile.am): Likewise.
64482         * modules/euidaccess (Makefile.am): Likewise.
64483         * modules/exclude (Makefile.am): Likewise.
64484         * modules/exitfail (Makefile.am): Likewise.
64485         * modules/fcntl-safer (Makefile.am): Likewise.
64486         * modules/file-type (Makefile.am): Likewise.
64487         * modules/fileblocks (Makefile.am): Likewise.
64488         * modules/filemode (Makefile.am): Likewise.
64489         * modules/filenamecat (Makefile.am): Likewise.
64490         * modules/fnmatch (Makefile.am): Likewise.
64491         * modules/fopen-safer (Makefile.am): Likewise.
64492         * modules/fpending (Makefile.am): Likewise.
64493         * modules/fprintftime (Makefile.am): Likewise.
64494         * modules/free (Makefile.am): Likewise.
64495         * modules/fsusage (Makefile.am): Likewise.
64496         * modules/ftruncate (Makefile.am): Likewise.
64497         * modules/fts (Makefile.am): Likewise.
64498         * modules/gc (Makefile.am): Likewise.
64499         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
64500         * modules/getaddrinfo (Makefile.am): Likewise.
64501         * modules/getcwd (Makefile.am): Likewise.
64502         * modules/getdelim (Makefile.am): Likewise.
64503         * modules/getdomainname (Makefile.am): Likewise.
64504         * modules/getgroups (Makefile.am): Likewise.
64505         * modules/gethostname (Makefile.am): Likewise.
64506         * modules/gethrxtime (Makefile.am): Likewise.
64507         * modules/getline (Makefile.am): Likewise.
64508         * modules/getloadavg (Makefile.am): Likewise.
64509         * modules/getlogin_r (Makefile.am): Likewise.
64510         * modules/getopt (Makefile.am): Likewise.
64511         * modules/getpass (Makefile.am): Likewise.
64512         * modules/getpass-gnu (Makefile.am): Likewise.
64513         * modules/getsubopt (Makefile.am): Likewise.
64514         * modules/gettime (Makefile.am): Likewise.
64515         * modules/gettimeofday (Makefile.am): Likewise.
64516         * modules/getugroups (Makefile.am): Likewise.
64517         * modules/getusershell (Makefile.am): Likewise.
64518         * modules/glob (Makefile.am): Likewise.
64519         * modules/group-member (Makefile.am): Likewise.
64520         * modules/hard-locale (Makefile.am): Likewise.
64521         * modules/hash (Makefile.am): Likewise.
64522         * modules/hmac-md5 (Makefile.am): Likewise.
64523         * modules/hmac-sha1 (Makefile.am): Likewise.
64524         * modules/human (Makefile.am): Likewise.
64525         * modules/idcache (Makefile.am): Likewise.
64526         * modules/imaxabs (Makefile.am): Likewise.
64527         * modules/imaxdiv (Makefile.am): Likewise.
64528         * modules/inet_ntop (Makefile.am): Likewise.
64529         * modules/inet_pton (Makefile.am): Likewise.
64530         * modules/inttostr (Makefile.am): Likewise.
64531         * modules/isapipe (Makefile.am): Likewise.
64532         * modules/lchown (Makefile.am): Likewise.
64533         * modules/long-options (Makefile.am): Likewise.
64534         * modules/lstat (Makefile.am): Likewise.
64535         * modules/malloc (Makefile.am): Likewise.
64536         * modules/mathl (Makefile.am): Likewise.
64537         * modules/mbchar (Makefile.am): Likewise.
64538         * modules/md2 (Makefile.am): Likewise.
64539         * modules/md4 (Makefile.am): Likewise.
64540         * modules/md5 (Makefile.am): Likewise.
64541         * modules/memcasecmp (Makefile.am): Likewise.
64542         * modules/memchr (Makefile.am): Likewise.
64543         * modules/memcmp (Makefile.am): Likewise.
64544         * modules/memcoll (Makefile.am): Likewise.
64545         * modules/memcpy (Makefile.am): Likewise.
64546         * modules/memmem (Makefile.am): Likewise.
64547         * modules/memmove (Makefile.am): Likewise.
64548         * modules/mempcpy (Makefile.am): Likewise.
64549         * modules/memrchr (Makefile.am): Likewise.
64550         * modules/memset (Makefile.am): Likewise.
64551         * modules/memxor (Makefile.am): Likewise.
64552         * modules/mkancesdirs (Makefile.am): Likewise.
64553         * modules/mkdir (Makefile.am): Likewise.
64554         * modules/mkdir-p (Makefile.am): Likewise.
64555         * modules/mkdtemp (Makefile.am): Likewise.
64556         * modules/mkstemp (Makefile.am): Likewise.
64557         * modules/mktime (Makefile.am): Likewise.
64558         * modules/modechange (Makefile.am): Likewise.
64559         * modules/mountlist (Makefile.am): Likewise.
64560         * modules/nanosleep (Makefile.am): Likewise.
64561         * modules/openat (Makefile.am): Likewise.
64562         * modules/pagealign_alloc (Makefile.am): Likewise.
64563         * modules/physmem (Makefile.am): Likewise.
64564         * modules/poll (Makefile.am): Likewise.
64565         * modules/posixtm (Makefile.am): Likewise.
64566         * modules/posixver (Makefile.am): Likewise.
64567         * modules/putenv (Makefile.am): Likewise.
64568         * modules/quote (Makefile.am): Likewise.
64569         * modules/quotearg (Makefile.am): Likewise.
64570         * modules/raise (Makefile.am): Likewise.
64571         * modules/read-file (Makefile.am): Likewise.
64572         * modules/readline (Makefile.am): Likewise.
64573         * modules/readlink (Makefile.am): Likewise.
64574         * modules/readtokens (Makefile.am): Likewise.
64575         * modules/readutmp (Makefile.am): Likewise.
64576         * modules/realloc (Makefile.am): Likewise.
64577         * modules/regex (Makefile.am): Likewise.
64578         * modules/rename (Makefile.am): Likewise.
64579         * modules/rename-dest-slash (Makefile.am): Likewise.
64580         * modules/rijndael (Makefile.am): Likewise.
64581         * modules/rmdir (Makefile.am): Likewise.
64582         * modules/rpmatch (Makefile.am): Likewise.
64583         * modules/safe-read (Makefile.am): Likewise.
64584         * modules/safe-write (Makefile.am): Likewise.
64585         * modules/same (Makefile.am): Likewise.
64586         * modules/save-cwd (Makefile.am): Likewise.
64587         * modules/savedir (Makefile.am): Likewise.
64588         * modules/setenv (Makefile.am): Likewise.
64589         * modules/settime (Makefile.am): Likewise.
64590         * modules/sha1 (Makefile.am): Likewise.
64591         * modules/sig2str (Makefile.am): Likewise.
64592         * modules/snprintf (Makefile.am): Likewise.
64593         * modules/stdlib-safer (Makefile.am): Likewise.
64594         * modules/stpcpy (Makefile.am): Likewise.
64595         * modules/stpncpy (Makefile.am): Likewise.
64596         * modules/strcase (Makefile.am): Likewise.
64597         * modules/strcasestr (Makefile.am): Likewise.
64598         * modules/strchrnul (Makefile.am): Likewise.
64599         * modules/strcspn (Makefile.am): Likewise.
64600         * modules/strdup (Makefile.am): Likewise.
64601         * modules/strerror (Makefile.am): Likewise.
64602         * modules/strftime (Makefile.am): Likewise.
64603         * modules/strndup (Makefile.am): Likewise.
64604         * modules/strnlen (Makefile.am): Likewise.
64605         * modules/strpbrk (Makefile.am): Likewise.
64606         * modules/strsep (Makefile.am): Likewise.
64607         * modules/strstr (Makefile.am): Likewise.
64608         * modules/strtod (Makefile.am): Likewise.
64609         * modules/strtoimax (Makefile.am): Likewise.
64610         * modules/strtok_r (Makefile.am): Likewise.
64611         * modules/strtol (Makefile.am): Likewise.
64612         * modules/strtoll (Makefile.am): Likewise.
64613         * modules/strtoul (Makefile.am): Likewise.
64614         * modules/strtoull (Makefile.am): Likewise.
64615         * modules/strtoumax (Makefile.am): Likewise.
64616         * modules/strverscmp (Makefile.am): Likewise.
64617         * modules/time_r (Makefile.am): Likewise.
64618         * modules/timegm (Makefile.am): Likewise.
64619         * modules/tmpfile-safer (Makefile.am): Likewise.
64620         * modules/unistd-safer (Makefile.am): Likewise.
64621         * modules/unlinkdir (Makefile.am): Likewise.
64622         * modules/userspec (Makefile.am): Likewise.
64623         * modules/utime (Makefile.am): Likewise.
64624         * modules/utimecmp (Makefile.am): Likewise.
64625         * modules/utimens (Makefile.am): Likewise.
64626         * modules/vasnprintf (Makefile.am): Likewise.
64627         * modules/vasprintf (Makefile.am): Likewise.
64628         * modules/vsnprintf (Makefile.am): Likewise.
64629         * modules/xalloc (Makefile.am): Likewise.
64630         * modules/xgetcwd (Makefile.am): Likewise.
64631         * modules/xnanosleep (Makefile.am): Likewise.
64632         * modules/xreadlink (Makefile.am): Likewise.
64633         * modules/xstrtod (Makefile.am): Likewise.
64634         * modules/xstrtol (Makefile.am): Likewise.
64635         * modules/xstrtold (Makefile.am): Likewise.
64636         * modules/yesno (Makefile.am): Likewise.
64637
64638 2006-10-12  Jim Meyering  <jim@meyering.net>
64639
64640         * m4/getloadavg.m4: Revert the change below.
64641
64642         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
64643         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
64644         fail with a symlink, which is what coreutils' ./bootstrap now
64645         creates by default.
64646
64647 2006-10-12  Bruno Haible  <bruno@clisp.org>
64648
64649         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
64650         mingw.
64651         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
64652         MSVC and mingw explicitly.
64653
64654 2006-10-11  Simon Josefsson  <jas@extundo.com>
64655             Bruno Haible  <bruno@clisp.org>
64656
64657         Add support for multiple gnulib-tool invocations in the scope of a
64658         single configure.ac file.
64659         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
64660         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
64661         with the same contents as the _LIBADD variable.
64662         (func_emit_initmacro_start, func_emit_initmacro_end,
64663         func_emit_initmacro_done): New functions.
64664         (func_import, func_create_testdir): Invoke them. Allow the identifiers
64665         gl_LIBOBJS and gl_LTLIBOBJS.
64666
64667 2006-10-11  Bruno Haible  <bruno@clisp.org>
64668
64669         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
64670         (func_create_testdir): Don't create po/Makefile.am, don't invoke
64671         autoreconf. Instead, invoke autopoint explicitly but move back the
64672         *.m4 files from gnulib.
64673
64674 2006-10-11  Bruno Haible  <bruno@clisp.org>
64675
64676         * gnulib-tool (func_usage): Make module names after --create-testdir
64677         optional.
64678         (func_create_testdir): If no module was specified, use nearly all
64679         modules.
64680
64681 2006-10-12  Jim Meyering  <jim@meyering.net>
64682
64683         Big performance improvement for fts-based tools that use FTS_NOSTAT.
64684         Avoid spurious inode-mismatch problems on non-POSIX file systems.
64685         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
64686         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
64687         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
64688         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
64689         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
64690         (fts_set_stat_required): New function.
64691         (fts_open): Defer the calls to fts_stat, if possible or requested.
64692         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
64693         into fts_stat itself.
64694         (fts_read): Perform any required (deferred) fts_stat call.
64695         (fts_build): Likewise, for the directory we're about to open and read.
64696         In the readdir loop, carefully decide whether each entry will require
64697         an eventual call to fts_stat, using dirent.d_type info if available.
64698         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
64699         a command line argument into this function.  Update all callers.
64700         Map a return value of FTS_DOT to FTS_D for a command line argument.
64701         * modules/fts (Depends-on): Add d-type.  Alphabetize.
64702         Thanks to Miklos Szeredi for his tenacity and for the initial
64703         bug report about "find" failing on a FUSE-based file system.
64704
64705         * lib/fts.c (fts_open): Use consistent indentation.
64706
64707 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64708
64709         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
64710         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
64711         reported by Jim Meyering.  All uses of cache variables renamed
64712         to match Autoconf's.
64713         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
64714         the other one.
64715
64716         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
64717         Fix misspelling in diagnostic.
64718
64719 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64720
64721         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
64722         defined.  Problem reported by Matthew Woehlke.
64723
64724         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
64725         Add support for Tandem NonStop R series.
64726         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
64727         Use new macro.
64728
64729         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
64730         (has_trailing_slash): Omit size arg; all callers changed.
64731         Omit 'inline', since it doesn't help performance and we'd
64732         need to configure it.
64733         Don't count //, ///, etc. as having a trailing slash.
64734         As a side effect, this removes a C99ism reported by Matthew Woehlke.
64735         (rpl_rename_dest_slash): On failure, use rename's errno rather
64736         than (in some cases) an incorrect or junk errno.
64737         Simplify code by removing need to compute length; this does
64738         cause it to make two passes instead of one over the file name,
64739         but it's worth it.
64740
64741         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
64742         change, since Autoconf's version may no longer be appropriate now
64743         that we are using CVS Autoconf's version.  Add support for Tandem.
64744
64745 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64746             Bruno Haible  <bruno@clisp.org>
64747
64748         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
64749         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
64750         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
64751         gl_AC_TYPE_LONG_LONG.
64752
64753         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
64754         instead of HAVE_LONG_LONG.
64755         * lib/printf-args.c (printf_fetchargs): Likewise.
64756         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64757         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64758         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
64759         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
64760         gl_AC_TYPE_LONG_LONG.
64761
64762 2006-10-11  Bruno Haible  <bruno@clisp.org>
64763
64764         * m4/longlong.m4: Add comments.
64765         * m4/ulonglong.m4: Likewise.
64766
64767 2006-10-10  Bruno Haible  <bruno@clisp.org>
64768
64769         Make it possible to #define stpcpy, strdup to aliases.
64770         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
64771         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
64772
64773 2006-10-10  Bruno Haible  <bruno@clisp.org>
64774
64775         Make it possible to #define gcd to an alias.
64776         * lib/gcd.c: Include config.h.
64777
64778 2006-10-10  Bruno Haible  <bruno@clisp.org>
64779
64780         Make it possible to #define c_isascii to an alias.
64781         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
64782         defined. Undefine the macros before defining them, to avoid gcc
64783         warnings.
64784         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
64785         define NO_C_CTYPE_MACROS early.
64786
64787 2006-10-10  Bruno Haible  <bruno@clisp.org>
64788
64789         Make it possible to #define set_program_name to an alias.
64790         * lib/progname.c: Don't undefine set_program_name; instead, undefine
64791         ENABLE_RELOCATABLE early.
64792
64793 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64794
64795         Port to Tandem NSK OSS, which has 64-bit signed int but at most
64796         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
64797         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
64798         More generally, don't assume that 64-bit signed int is available
64799         if unsigned int is, and vice versa.
64800         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
64801         unsigned symbols, not on their signed counterparts.
64802         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
64803         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
64804         (UINT64_C, UINTMAX_C):
64805         Likewise.
64806         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
64807         unsigned counterparts.
64808         (Have_long_long, Unsigned): New macros.
64809         (Int): Renamed from INT.
64810         (strtoimax): Use the new macros.
64811         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
64812         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
64813         * modules/inttypes (inttypes.h): Substitute
64814         HAVE_UNSIGNED_LONG_LONG_INT.
64815         * modules/stdint (stdint.h): Likewise.
64816         (Files): Add m4/ulonglong.m4.
64817
64818 2006-10-10  Bruno Haible  <bruno@clisp.org>
64819
64820         Fix a gcc -Wshadow warning.
64821         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
64822         to 'bucket'.
64823         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
64824         gl_linked_indexof_from_to): Likewise.
64825         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
64826         Likewise.
64827         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
64828         Likewise.
64829         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
64830         Reported by Eric Blake.
64831
64832 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
64833
64834         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
64835         for NetBSD.  Problem reported by Bruno Haible.
64836
64837 2006-10-09  Jim Meyering  <jim@meyering.net>
64838
64839         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
64840         Patch from Bruno Haible.
64841
64842 2006-10-09  Jim Meyering  <jim@meyering.net>
64843
64844         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
64845         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
64846         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
64847
64848 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64849
64850         Don't include <config.h> twice; this doesn't work in some cases,
64851         e.g., when config.h has "#define intmax_t long long int" and
64852         we include <config.h>, <inttypes.h>, <config.h> in that order.
64853         Problem reported by Matthew Woehlke in:
64854         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
64855         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
64856         * lib/fts-cycle.c: Don't include config.h.
64857         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
64858         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
64859         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
64860         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
64861         inttypes.h.
64862         * lib/xstrtoumax.c: Likewise.
64863         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
64864         __strtol and the like, so that this module is more like its siblings.
64865         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
64866         Remove; no longer needed now that we assume gnulib inttypes.h.
64867
64868 2006-10-08  Bruno Haible  <bruno@clisp.org>
64869
64870         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
64871         option.
64872
64873 2006-10-07  Jim Meyering  <jim@meyering.net>
64874
64875         * modules/inttypes (inttypes.h): Revert what seems to have been
64876         an inadvertent part of today's change: use "|", not "/" in the
64877         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
64878
64879 2006-10-07  Bruno Haible  <bruno@clisp.org>
64880
64881         * modules/sublist: New file.
64882
64883 2006-10-07  Bruno Haible  <bruno@clisp.org>
64884
64885         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
64886         * modules/argz (argz.h): Likewise.
64887         * modules/arpa_inet (arpa/inet.h): Likewise.
64888         * modules/byteswap (byteswap.h): Likewise.
64889         * modules/configmake (configmake.h): Likewise.
64890         * modules/fcntl (fcntl.h): Likewise.
64891         * modules/fnmatch (fnmatch.h): Likewise.
64892         * modules/getopt (getopt.h): Likewise.
64893         * modules/glob (glob.h): Likewise.
64894         * modules/inttypes (inttypes.h): Likewise.
64895         * modules/netinet_in (netinet/in.h): Likewise.
64896         * modules/poll (poll.h): Likewise.
64897         * modules/stdbool (stdbool.h): Likewise.
64898         * modules/stdint (stdint.h): Likewise.
64899         * modules/sys_select (sys/select.h): Likewise.
64900         * modules/sys_socket (sys/socket.h): Likewise.
64901         * modules/sys_stat (sys/stat.h): Likewise.
64902         * modules/sysexits (sysexits.h): Likewise.
64903         * modules/unistd (unistd.h): Likewise.
64904         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64905         Add a "DO NOT EDIT" comment to the generated file.
64906         (func_import): Likewise for gnulib-comp.m4.
64907
64908 2006-10-07  Bruno Haible  <bruno@clisp.org>
64909
64910         * lib/gl_sublist.h: New file.
64911         * lib/gl_sublist.c: New file.
64912
64913 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64914
64915         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
64916         name (relative to the original working directory) and the file
64917         name component (relative to the temporary working directory).  All
64918         callers changed.
64919         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
64920         * lib/mkdir-p.c (make_dir_parents): Likewise.
64921         * lib/mkdir-p.h (make_dir_parents): Likewise.
64922
64923 2006-10-06  Eric Blake  <ebb9@byu.net>
64924
64925         Define several macros for use by the clean-temp module.
64926         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
64927         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
64928         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
64929
64930         * lib/clean-temp.h (close_stream_temp): New declaration.
64931         * lib/clean-temp.c (includes): Pull in headers according to what
64932         other modules are in use.
64933         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
64934
64935 2006-10-06  Bruno Haible  <bruno@clisp.org>
64936
64937         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
64938         instead of fopen, fwriteerror.
64939
64940 2006-10-06  Bruno Haible  <bruno@clisp.org>
64941
64942         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
64943         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
64944         int.
64945         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
64946         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
64947         Return an error indicator.
64948         Suggested by Eric Blake.
64949
64950 2006-10-06  Bruno Haible  <bruno@clisp.org>
64951
64952         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
64953         Reported by Eric Blake.
64954
64955 2006-10-06  Bruno Haible  <bruno@clisp.org>
64956
64957         * modules/closeout (Description): Mention stderr too.
64958
64959 2006-10-06  Bruno Haible  <bruno@clisp.org>
64960         and Paul Eggert  <eggert@cs.ucla.edu>
64961
64962         * lib/closeout.c (close_stdout): Also close stderr.
64963         * lib/closeout.h: Update comment.
64964
64965 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64966
64967         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
64968         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
64969         * lib/dirchownmod.c: Include lchown.h.
64970         * lib/lchown.c: Don't include files that lchown.h now includes.
64971         Don't declare chown, since lchown.h now does that.
64972         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
64973         (lchown): Define to rpl_chown if lchown is declared but
64974         does not exist.  Declare using a prototype if lchown is not
64975         declared.  Add a copyright notice.
64976         * lib/mkstemp.h: Include <unistd.h>.
64977         * lib/openat.c: Include lchown.h.
64978
64979         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
64980         we now test for that separately.
64981         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
64982         rather than O_NOFOLLOW, when testing whether it's possible to
64983         avoid a race condition reliably.
64984         * lib/savewd.c (savewd_chdir): Likewise.
64985
64986         Remove macros that are no longer needed now that stdint.h is
64987         reliable.
64988         * lib/fsusage.c (UINTMAX_MAX): Remove.
64989         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
64990         * lib/utimecmp.c (SIZE_MAX): Remove.
64991
64992         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
64993
64994         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
64995         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
64996         O_NOATIME works.
64997
64998 2006-10-05  Bruno Haible  <bruno@clisp.org>
64999
65000         * lib/gl_list.h (gl_sortedlist_search_from_to,
65001         gl_sortedlist_indexof_from_to): New declarations.
65002         (gl_list_implementation): New fields sortedlist_search_from_to,
65003         sortedlist_indexof_from_to.
65004         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
65005         inline functions.
65006         * lib/gl_list.c (gl_sortedlist_search_from_to,
65007         gl_sortedlist_indexof_from_to): New functions.
65008         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
65009         function.
65010         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
65011         (gl_array_sortedlist_search_from_to): New function.
65012         (gl_array_list_implementation): Update.
65013         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
65014         function.
65015         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
65016         (gl_carray_sortedlist_search_from_to): New function.
65017         (gl_carray_list_implementation): Update.
65018         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
65019         gl_linked_sortedlist_indexof_from_to): New functions.
65020         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
65021         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
65022         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
65023         gl_tree_sortedlist_indexof_from_to): New functions.
65024         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
65025         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
65026         Update.
65027         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
65028         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
65029         Update.
65030
65031 2006-10-05  Bruno Haible  <bruno@clisp.org>
65032
65033         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
65034         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
65035         (struct gl_list_implementation): Add fields search_from_to,
65036         indexof_from_to. Remove fields search, indexof.
65037         (gl_list_search): Use the search_from_to method.
65038         (gl_list_search_from, gl_list_search_from_to): New functions.
65039         (gl_list_indexof): Use the indexof_from_to method.
65040         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
65041         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
65042         (gl_list_search_from, gl_list_search_from_to): New functions.
65043         (gl_list_indexof): Use the indexof_from_to method.
65044         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
65045         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
65046         gl_array_indexof. Add start_index, end_index arguments.
65047         (gl_array_search_from_to): Renamed from gl_array_search. Add
65048         start_index, end_index arguments.
65049         (gl_array_remove, gl_array_list_implementation): Update.
65050         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
65051         gl_carray_indexof. Add start_index, end_index arguments.
65052         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
65053         start_index, end_index arguments.
65054         (gl_carray_remove, gl_carray_list_implementation): Update.
65055         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
65056         gl_linked_search. Add start_index, end_index arguments.
65057         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
65058         start_index, end_index arguments.
65059         (gl_linked_remove): Update.
65060         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
65061         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
65062         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
65063         field to 'size_t'.
65064         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
65065         gl_tree_search. Add start_index, end_index arguments.
65066         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
65067         start_index, end_index arguments.
65068         (gl_tree_remove): Update.
65069         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
65070         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
65071         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
65072         function.
65073         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
65074         gl_tree_search. Add start_index, end_index arguments.
65075         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
65076         start_index, end_index arguments.
65077         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
65078         Update.
65079         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
65080
65081 2006-10-05  Bruno Haible  <bruno@clisp.org>
65082
65083         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
65084
65085         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
65086         fwriteerror_temp): New declarations.
65087         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
65088         (descriptors): New variable.
65089         (cleanup): First, close the descriptors.
65090         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
65091         fclose_temp, fwriteerror_temp): New functions.
65092
65093 2006-10-04  Jim Meyering  <jim@meyering.net>
65094
65095         * lib/fts.c (fts_open): Tiny comment change.
65096
65097 2006-10-04  Bruno Haible  <bruno@clisp.org>
65098
65099         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
65100         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
65101         gl_LOCK_BODY.
65102         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
65103         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
65104         gl_LOCK_EARLY_BODY.
65105         (gl_LOCK): Require gl_LOCK_BODY.
65106
65107 2006-10-04  Bruno Haible  <bruno@clisp.org>
65108
65109         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
65110         (gl_oset_search_atleast): New declaration.
65111         (struct gl_oset_implementation): Add field 'search_atleast'.
65112         (gl_oset_search_atleast): New inline function.
65113         * lib/gl_oset.c (gl_oset_search_atleast): New function.
65114         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
65115         (gl_array_oset_implementation): Update.
65116         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
65117         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
65118         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
65119
65120 2006-10-04  Bruno Haible  <bruno@clisp.org>
65121
65122         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
65123
65124 2006-10-03  Bruno Haible  <bruno@clisp.org>
65125
65126         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
65127         from gl_avltreehash_list_implementation.
65128
65129 2006-10-03  Bruno Haible  <bruno@clisp.org>
65130
65131         * lib/gl_oset.c (gl_oset_add): Fix return type.
65132
65133 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
65134
65135         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
65136
65137 2006-10-02  Eric Blake  <ebb9@byu.net>
65138
65139         * modules/strnlen (Depends-on): Add extensions.
65140
65141 2006-10-02  Eric Blake  <ebb9@byu.net>
65142
65143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
65144         definition in 2.60+.
65145
65146 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
65147
65148         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
65149         checks.
65150
65151 2006-10-02  Bruno Haible  <bruno@clisp.org>
65152
65153         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
65154         to the AUTOMAKE_OPTIONS.
65155         Reported by Jim Meyering.
65156
65157 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65158
65159         Work around bug in Solaris 10 /proc file system:
65160         /proc/self/fd/NNN/.. isn't the parent directory of
65161         the directory whose file descriptor is NNN.  This needs to
65162         be worked around at run time, not compile time, since a
65163         program might be built on Solaris 8, where things work, and
65164         run on Solaris 10.
65165         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
65166         to use the following interface instead:
65167         (OPENAT_BUFFER_SIZE): New macro.
65168         (openat_proc_name): New function.
65169         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
65170         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
65171         Likewise.
65172         * lib/openat-proc.c: New file.
65173         * modules/openat (Files): Add lib/openat-proc.c.
65174         (Depends-on): Add same-inode, stdbool.
65175         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
65176
65177 2006-09-29  Bruno Haible  <bruno@clisp.org>
65178
65179         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
65180         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
65181         argument. Set stdout_closed before testing for ferror, not after.
65182         (fwriteerror, fwriteerror_no_ebadf): New functions.
65183
65184 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65185
65186         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
65187
65188 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
65189
65190         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
65191         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
65192
65193 2006-09-28  Jim Meyering  <jim@meyering.net>
65194
65195         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
65196         Include <unistd.h>.
65197
65198 2006-09-28  Bruno Haible  <bruno@clisp.org>
65199
65200         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
65201         * modules/linkedhash-list (Depends-on): Likewise.
65202         * modules/rbtreehash-list (Depends-on): Likewise.
65203
65204 2006-09-28  Bruno Haible  <bruno@clisp.org>
65205
65206         * lib/strndup.h: Simplify the redefinition of strndup.
65207         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
65208         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
65209
65210 2006-09-28  Bruno Haible  <bruno@clisp.org>
65211
65212         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
65213         * lib/gl_linkedhash_list.c: Likewise.
65214         * lib/gl_rbtreehash_list.c: Likewise.
65215
65216 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65217
65218         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
65219         getaddrinfo.
65220
65221         * lib/__fpending.h: Don't include <stdio_ext.h> unless
65222         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
65223         it causes <stdio_ext.h> to cause a compile-time error.
65224         Problem reported by Nelson H. F. Beebe.
65225         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
65226         of HAVE_DECL___PENDING.
65227
65228         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
65229         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
65230         declaration.
65231
65232 2006-09-27  Jim Meyering  <jim@meyering.net>
65233
65234         This file could end up with a definition for a function
65235         named __strndup, rather than rpl_strndup on a system with
65236         incomplete weak_alias support.
65237         * lib/strndup.c (strndup): Rename from __strndup.
65238         Remove #defines that used to map __strndup to strndup.
65239         Don't use K&R prototypes.
65240         Remove LIBC-related code, since this file is not sync'd with glibc.
65241         * lib/strndup.h: Revamp, accordingly.
65242         * m4/strndup.m4: Modernize.
65243
65244 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65245
65246         * modules/savewd (Depends-on): Add 'raise'.
65247         * lib/savewd.c: Include <signal.h>, for 'raise'.
65248
65249 2006-09-26  Jim Meyering  <jim@meyering.net>
65250
65251         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
65252         when we detect Darwin 8.7.0's acl_get_file bug.
65253         Rearrange to perform the new (below) run-test while $LIBS
65254         contains any acl-related library.  Set USE_ACL at the end.
65255         (gl_ACL_GET_FILE): New function.
65256
65257 2006-09-26  Eric Blake  <ebb9@byu.net>
65258
65259         * lib/verror.c: Include <config.h> unconditionally.
65260
65261 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
65262
65263         * modules/clock-time (Maintainer): Add self.
65264         * modules/getlogin_r (Depends-on): Add extensions.
65265
65266 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65267
65268         * modules/clock-time: New module.
65269         * modules/nanosleep (Depends-on): Add clock-time.
65270         * modules/gethrxtime (Depends-on): Likewise.
65271         * modules/gettime (Depends-on): Likewise.
65272         * modules/settime (Depends-on): Likewise.
65273
65274         * modules/fts-lgpl: Depend on openat.
65275         * modules/mkancesdirs: Depend on savewd.
65276         * modules/mkdir-p: Likewise.
65277
65278 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65279
65280         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
65281
65282         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
65283         `gl_have_arbitrary_file_name_length_limit' to
65284         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
65285         actually works between configure runs.
65286
65287 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65288             Bruno Haible  <bruno@clisp.org>
65289
65290         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
65291
65292 2006-09-25  Jim Meyering  <jim@meyering.net>
65293
65294         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
65295         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
65296
65297 2006-09-25  Eric Blake  <ebb9@byu.net>
65298
65299         * gnulib-tool (func_import, func_create_testdir): Fix typos in
65300         exec's in 2006-09-18 patch when shuffling fds.
65301
65302 2006-09-25  Bruno Haible  <bruno@clisp.org>
65303
65304         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
65305         Reported by Jim Meyering.
65306
65307 2006-09-24  Jim Meyering  <jim@meyering.net>
65308
65309         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
65310         compare a pointer against a literal "0".  That caused failures with
65311         at least HP-UX's hpcc.
65312
65313 2006-09-22  Simon Josefsson  <jas@extundo.com>
65314
65315         * modules/gc-sha1:
65316         * modules/gc-md4:
65317         * modules/gc-hmac-sha1:
65318         * modules/gc-hmac-md5:
65319         * modules/gc-des:
65320         * modules/gc-arcfour: Distribute more files.
65321
65322 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65323
65324         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
65325         (gl_linked_iterator_from_to): Initialize struct completely.
65326         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
65327         (gl_tree_iterator_from_to): Likewise
65328         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
65329         * lib/gl_array_list.c [lint] (gl_array_iterator)
65330         (gl_array_iterator_from_to): Likewise.
65331         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
65332         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
65333         (gl_carray_iterator_from_to): Likewise.
65334
65335         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
65336         * lib/md4.c (md4_process_block): Remove unused variable.
65337         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
65338         parentheses for clarity.
65339
65340 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65341
65342         * modules/bison-i18n (Depends-on): Add gettext.
65343
65344 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65345
65346         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
65347         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
65348         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
65349         also add missing comma that caused broken test.
65350         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
65351         stdlib.h, for `abort'.
65352         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
65353         variables.
65354         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
65355         include unistd.h if present, for `rmdir'.
65356         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
65357         variables.
65358         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
65359         in the process include standard headers for prototypes.
65360         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
65361         gets declared on GNU/Linux.
65362         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
65363         unistd.h, for `rmdir'.
65364         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
65365
65366         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
65367         always true.
65368         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
65369
65370         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
65371
65372 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65373
65374         * gnulib-tool (func_version): Create output all at once.  This
65375         may help avoid triggering unnecessary SIGPIPEs, and at any
65376         rate it doesn't hurt.
65377
65378 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65379             Bruno Haible  <bruno@clisp.org>
65380
65381         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
65382         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65383         * m4/signed.m4 (bh_C_SIGNED): Likewise.
65384
65385         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
65386         (gl_FUNC_VASPRINTF): Invoke it.
65387
65388 2006-09-22  Bruno Haible  <bruno@clisp.org>
65389
65390         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
65391         getloadavg.c as first argument.
65392
65393 2006-09-22  Bruno Haible  <bruno@clisp.org>
65394
65395         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
65396         at the beginning of the gl_INIT macro.
65397         * modules/getloadavg (configure.ac): Pass $gl_source_base to
65398         gl_GETLOADAVG.
65399
65400 2006-09-22  Bruno Haible  <bruno@clisp.org>
65401
65402         * gnulib-tool (func_create_megatestdir): Don't include the config-h
65403         module.
65404         Suggested by Ralf Wildenhues.
65405
65406 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65407
65408         Import this patch from libc:
65409
65410         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
65411
65412         * lib/regex_internal.c (re_string_reconstruct): Handle
65413         offset < pstr->valid_raw_len && pstr->offsets_needed case.
65414         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
65415         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
65416         re_string_context_at.
65417
65418         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
65419         now requires it.
65420         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
65421         gl_REGEX now does it for us.
65422         (gl_REGEX): Add test taken from
65423         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
65424
65425         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
65426         Check that large offsets work.  Modernize Autoconf usages.
65427         Prefer "yes" to mean a good thing rather than a bad.
65428         Don't put "#define mkstemp" in config.h, as this might interfere
65429         with standard system headers that "#define mkstemp mkstemp64".
65430
65431         * modules/mkstemp (Depends-on): Add extensions, so that
65432         mkstemp is visible on some platforms.
65433         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
65434         (Include): Change to "mkstemp.h" from <stdlib.h>.
65435         (Files): Add mkstemp.h.
65436
65437         * lib/mkstemp.h: New file, since some standard headers
65438         #define mkstemp.
65439         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
65440         Include "mkstemp.h".
65441         Make the _LIBC code resemble glibc original more,
65442         e.g., use K&R style.
65443         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
65444         (mkstemp): Remove, since mkstemp.h does this for us.
65445         * lib/stdlib--.h: Include mkstemp.h.
65446
65447         Import this patch from libc:
65448
65449         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
65450
65451         * lib/tempname.c (__gen_tempname): Change attempts_min
65452         into a macro.  Use preprocessor to decide how to initialize
65453         attempts [Coverity CID 67].
65454
65455 2006-09-20  Bruno Haible  <bruno@clisp.org>
65456
65457         * lib/mkdtemp.c: Import from libc.
65458         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
65459                 * sysdeps/posix/tempname.c (__gen_tempname): Change
65460                 attempts_min into a macro.  Use preprocessor to decide how to
65461                 initialize attempts [Coverity CID 67].
65462         2001-11-27  Paul Eggert  <eggert@twinsun.com>
65463                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
65464                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
65465
65466 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65467
65468         * gnulib-tool (func_exit): New function, to allow to pass the
65469         exit status portably through the trap.  Use everywhere.
65470         (--help, --version): Signal a write error.
65471         (trap): catch SIGPIPE, for write errors.
65472         Exit at the end of the trap, with the correct exit status.
65473
65474 2006-09-19  Karl Berry  <karl@gnu.org>
65475
65476         * doc/gnulib.texi: note about the license texinfo files.
65477
65478 2006-09-19  Eric Blake  <ebb9@byu.net>
65479
65480         * gnulib-tool: Avoid space-tab.
65481
65482 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
65483
65484         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
65485         that prevented coreutils 6.1 from building.  Problem reported
65486         by Petter Reinholdtsen.
65487
65488 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
65489
65490         * gnulib-tool (avoidlist): Fix typo that broke options like
65491         --avoid=lock that are used by coreutils bootstrap.
65492
65493 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
65494
65495         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
65496         more systematically.
65497
65498 2006-09-18  Jim Meyering  <jim@meyering.net>
65499
65500         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
65501
65502 2006-09-18  Bruno Haible  <bruno@clisp.org>
65503
65504         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
65505
65506 2006-09-18  Bruno Haible  <bruno@clisp.org>
65507
65508         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
65509         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
65510         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
65511         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
65512         * m4/gettext.m4: Require autoconf >= 2.52.
65513         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
65514         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
65515         of gl_cv_header_inttypes_h.
65516
65517 2006-09-18  Bruno Haible  <bruno@clisp.org>
65518
65519         * lib/javaversion.c: Include configmake.h.
65520
65521 2006-09-18  Bruno Haible  <bruno@clisp.org>
65522
65523         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
65524         avoid that the while loops be executed in a subshell.
65525
65526 2006-09-18  Bruno Haible  <bruno@clisp.org>
65527
65528         * MODULES.html.sh (func_module): Break long lines.
65529         Suggested by Bruce Korb <bkorb@gnu.org>.
65530
65531 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65532
65533         Speed up by a factor of 1.12.
65534         * gnulib-tool (nl): New variable.
65535         (func_import): Rewrite include directive extraction to only read each
65536         directive once.
65537
65538 2006-09-17  Bruno Haible  <bruno@clisp.org>
65539
65540         * modules/javaversion (Makefile.am): Remove DEFS setting.
65541         (Depends-on): Add configmake, for PKGDATADIR definition.
65542
65543 2006-09-17  Bruno Haible  <bruno@clisp.org>
65544
65545         * gnulib-tool (func_create_testdir): Rewrite all files at once.
65546
65547 2006-09-17  Bruno Haible  <bruno@clisp.org>
65548
65549         * gnulib-tool (func_append): New function, stolen from libtool.m4.
65550         (func_modules_transitive_closure, func_modules_add_dummy,
65551         func_modules_to_filelist, func_import, func_create_testdir,
65552         func_create_megatestdir, ...): Use it wherever possible.
65553         Suggested by Ralf Wildenhues.
65554
65555 2006-09-16  Karl Berry  <karl@gnu.org>
65556
65557         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
65558         to avoid sectioning errors.
65559         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
65560         [ifinfo]: blank line after @center-ed titles.
65561         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
65562         Spell FSF address consistently with others.
65563         (These changes approved by rms.)
65564
65565 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65566
65567         Speed up by a factor of 1.61.
65568         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
65569         already checked module names again.
65570
65571 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65572
65573         Speed up by a factor of 1.13.
65574         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
65575         for new_files, and the input to func_add_or_update.
65576
65577 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65578
65579         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
65580         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
65581
65582 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65583
65584         * modules/mkancesdirs (Depends-on): Add fcntl.
65585         * modules/savewd: New file.
65586         * MODULES.html.sh (File system functions): Add savewd.
65587
65588         * modules/configmake (Makefile.am): Add support for the
65589         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
65590
65591 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65592
65593         * m4/savewd.m4: New file.
65594
65595 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65596
65597         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
65598         (dirchownmod): New arg FD.  All callers changed.
65599         Use FD rather than opening the directory ourself, as opening is
65600         now the caller's responsibility.
65601         * lib/dirchownmod.h: Likewise.
65602         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
65603         hosts that require <sys/types.h> before <sys/stat.h>.  Include
65604         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
65605         (test_dir): Remove.
65606         (mkancesdirs): Return length of prefix of FILE that has already
65607         been made, or -2 if there is a child doing the work.  Redo
65608         algorithm so that it is O(N) rather than O(N**2).  Optimize away
65609         ".", and treat ".." specially since it might stray back into
65610         already-created areas.  Use a subprocess if necessary.  New arg
65611         WD; all users changed.  MAKE_DIR function should now return 1
65612         if it creates a directory that is not readable.  Return -2 if
65613         a child process is spun off.
65614         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
65615         Adjust signature to match code.
65616         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
65617         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
65618         all users changed.
65619         * lib/savewd.c, lib/savewd.h: New files.
65620
65621 2006-09-15  Jim Meyering  <jim@meyering.net>
65622
65623         * modules/rename-dest-slash: New module.
65624         * MODULES.html.sh (posix_compat): Add it here.
65625
65626         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
65627
65628 2006-09-15  Jim Meyering  <jim@meyering.net>
65629
65630         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
65631         file.
65632
65633         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
65634
65635 2006-09-15  Jim Meyering  <jim@meyering.net>
65636
65637         * lib/rename-dest-slash.c (has_trailing_slash): Use
65638         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
65639         (rpl_rename_dest_slash): Perform the cheaper trailing slash
65640         test before testing whether SRC is a directory.
65641         Suggestions from Bruno Haible.
65642
65643         Avoid a warning about an unused variable.
65644         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
65645         into the #ifdef block where it's used.
65646
65647         * lib/rename-dest-slash.c: New file.
65648
65649 2006-09-14  Bruno Haible  <bruno@clisp.org>
65650
65651         * lib/allocsa.c: Include <config.h> unconditionally.
65652         * lib/asnprintf.c: Likewise.
65653         * lib/asprintf.c: Likewise.
65654         * lib/c-strcasecmp.c: Likewise.
65655         * lib/c-strcasestr.c: Likewise.
65656         * lib/c-strncasecmp.c: Likewise.
65657         * lib/c-strstr.c: Likewise.
65658         * lib/classpath.c: Likewise.
65659         * lib/clean-temp.c: Likewise.
65660         * lib/concatpath.c: Likewise.
65661         * lib/copy-file.c: Likewise.
65662         * lib/csharpcomp.c: Likewise.
65663         * lib/csharpexec.c: Likewise.
65664         * lib/execute.c: Likewise.
65665         * lib/fatal-signal.c: Likewise.
65666         * lib/findprog.c: Likewise.
65667         * lib/fwriteerror.c: Likewise.
65668         * lib/gl_array_list.c: Likewise.
65669         * lib/gl_array_oset.c: Likewise.
65670         * lib/gl_avltree_list.c: Likewise.
65671         * lib/gl_avltree_oset.c: Likewise.
65672         * lib/gl_avltreehash_list.c: Likewise.
65673         * lib/gl_carray_list.c: Likewise.
65674         * lib/gl_linked_list.c: Likewise.
65675         * lib/gl_linkedhash_list.c: Likewise.
65676         * lib/gl_list.c: Likewise.
65677         * lib/gl_oset.c: Likewise.
65678         * lib/gl_rbtree_list.c: Likewise.
65679         * lib/gl_rbtree_oset.c: Likewise.
65680         * lib/gl_rbtreehash_list.c: Likewise.
65681         * lib/imaxabs.c: Likewise.
65682         * lib/imaxdiv.c: Likewise.
65683         * lib/javacomp.c: Likewise.
65684         * lib/javaexec.c: Likewise.
65685         * lib/javaversion.c: Likewise.
65686         * lib/linebreak.c: Likewise.
65687         * lib/localcharset.c: Likewise.
65688         * lib/lock.c: Likewise.
65689         * lib/mbchar.c: Likewise.
65690         * lib/mbswidth.c: Likewise.
65691         * lib/mkdtemp.c: Likewise.
65692         * lib/pipe.c: Likewise.
65693         * lib/printf-args.c: Likewise.
65694         * lib/printf-parse.c: Likewise.
65695         * lib/progname.c: Likewise.
65696         * lib/progreloc.c: Likewise.
65697         * lib/readlink.c: Likewise.
65698         * lib/sh-quote.c: Likewise.
65699         * lib/stpcpy.c: Likewise.
65700         * lib/stpncpy.c: Likewise.
65701         * lib/strcasecmp.c: Likewise.
65702         * lib/strcasestr.c: Likewise.
65703         * lib/strcspn.c: Likewise.
65704         * lib/striconv.c: Likewise.
65705         * lib/strncasecmp.c: Likewise.
65706         * lib/strnlen1.c: Likewise.
65707         * lib/strstr.c: Likewise.
65708         * lib/strtok_r.c: Likewise.
65709         * lib/tls.c: Likewise.
65710         * lib/tmpdir.c: Likewise.
65711         * lib/unicodeio.c: Likewise.
65712         * lib/unsetenv.c: Likewise.
65713         * lib/vasnprintf.c: Likewise.
65714         * lib/vasprintf.c: Likewise.
65715         * lib/wait-process.c: Likewise.
65716         * lib/xallocsa.c: Likewise.
65717         * lib/xsetenv.c: Likewise.
65718         * lib/xstriconv.c: Likewise.
65719
65720 2006-09-13  Simon Josefsson  <jas@extundo.com>
65721
65722         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
65723         that internally, suggested by Ralf Wildenhues
65724         <Ralf.Wildenhues@gmx.de>.
65725
65726 2006-09-13  Simon Josefsson  <jas@extundo.com>
65727
65728         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
65729         @LIBOBJS@.
65730         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65731
65732 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65733
65734         * lib/_fpending.c: Include <config.h> unconditionally, since we no
65735         longer worry about uses that don't define HAVE_CONFIG_H.
65736         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
65737         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
65738         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
65739         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
65740         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
65741         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
65742         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
65743         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
65744         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
65745         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
65746         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
65747         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
65748         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
65749         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
65750         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
65751         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
65752         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
65753         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
65754         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
65755         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
65756         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
65757         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
65758         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
65759         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
65760         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
65761         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
65762         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
65763         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
65764         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
65765         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
65766         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
65767         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
65768         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
65769         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
65770         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
65771         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
65772         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
65773         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
65774         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
65775         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
65776         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
65777         Likewise.
65778
65779 2006-09-13  Eric Blake  <ebb9@byu.net>
65780
65781         * lib/getopt.c: Fix typo in last commit.
65782
65783 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65784
65785         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
65786         dgettext.
65787
65788 2006-09-12  Jim Meyering  <jim@meyering.net>
65789
65790         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
65791         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
65792         Reported by Nelson H. F. Beebe.
65793
65794 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65795
65796         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
65797         program_invocation_name and program_invocation_short_name are
65798         initialized.
65799         * lib/argp-namefrob.h: Move declarations of program_invocation_name
65800         and program_invocation_short_name to argp.h, so they are visible
65801         to user programs.
65802         * lib/argp.h: Likewise
65803
65804 2006-09-10  Bruno Haible  <bruno@clisp.org>
65805
65806         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
65807         m4/inttypes_h.m4, m4/uintmax_t.m4.
65808
65809 2006-09-10  Bruno Haible  <bruno@clisp.org>
65810
65811         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
65812         gl_AC_TYPE_UINTMAX_T.
65813
65814 2006-09-10  Bruno Haible  <bruno@clisp.org>
65815
65816         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
65817
65818 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65819
65820         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
65821         convention.  Text proposed by Bruno Haible.
65822         (struct argp_option): Document the use of N_() wrappers.
65823
65824         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
65825         '\v', and translate the two parts separately, instead of feeding
65826         the whole string to gettext.  This allows to exclude
65827         '\v' from the strings visible to the translator by writing doc
65828         strings as N_("..") "\v" N_("..").
65829
65830 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
65831
65832         * config/srclist.txt: Undo latest change; the bug was fixed.
65833
65834 2006-09-09  Bruno Haible  <bruno@clisp.org>
65835
65836         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
65837         assignments if building a library without libtool.
65838         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
65839         in func_emit_lib_Makefile_am.
65840         (func_import): When building a static library libfoo.a, arrange to
65841         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
65842         (func_create_testdir): Likewise.
65843         * modules/gc (configure.ac, Makefile.am): If building statically,
65844         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
65845         * modules/iconvme (configure.ac, Makefile.am): Likewise.
65846         * modules/striconv (configure.ac, Makefile.am): Likewise.
65847         Based on a suggestion by Ralf Wildenhues.
65848
65849 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65850
65851         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65852         Check for unistd.h too, since Autoconf doesn't assume POSIX.
65853         Also:
65854
65855         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65856         Add year_2050_test to catch glibc bug 2821
65857         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
65858
65859         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65860         Prefer #ifdef to #if.
65861
65862         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
65863         Return from 'main' instead of calling 'exit'.
65864
65865 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65866
65867         * lib/mktime.c (guess_time_tm): Fix bug where mktime
65868         returned the maximum time_t value rather than (time_t) -1.
65869         Problem originally reported by William Bardwell
65870         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
65871
65872         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
65873         Moved to here ...
65874         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
65875         ... from here.
65876
65877 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65878
65879         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
65880         2821 is fixed.
65881
65882 2006-09-08  Jim Meyering  <jim@meyering.net>
65883
65884         Don't make generated files read-only.  That would bother too many
65885         people.  However, do retain the ability to work when targets are
65886         read-only: remove the destination and temporary files before writing
65887         them (when generated via sed or echo), or by using the -f option for
65888         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
65889         * modules/alloca-opt, modules/argz, modules/arpa_inet:
65890         * modules/byteswap, modules/configmake, modules/fcntl:
65891         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
65892         * modules/localcharset, modules/netinet_in, modules/poll:
65893         * modules/stdbool, modules/stdint, modules/sys_select:
65894         * modules/sys_socket, modules/sys_stat, modules/sysexits:
65895
65896 2006-09-08  Jim Meyering  <jim@meyering.net>
65897
65898         Avoid new build failure on FreeBSD 6.0.
65899         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
65900         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
65901         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
65902
65903 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65904
65905         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
65906
65907 2006-09-07  Jim Meyering  <jim@meyering.net>
65908
65909         Fix global typo in last change: use chmod u-w, not chmod u-x.
65910         Spotted by Paul Eggert and Bruce Korb.
65911         * modules/alloca-opt, modules/argz, modules/arpa_inet:
65912         * modules/byteswap, modules/configmake, modules/fcntl:
65913         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
65914         * modules/localcharset, modules/netinet_in, modules/poll:
65915         * modules/stdbool, modules/stdint, modules/sys_select:
65916         * modules/sys_socket, modules/sys_stat, modules/sysexits:
65917
65918 2006-09-06  Jim Meyering  <jim@meyering.net>
65919
65920         Make generated files be read-only.
65921         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
65922         Ensure that each generated file is now read-only.
65923         * modules/argz: Likewise.
65924         * modules/arpa_inet: Likewise.
65925         * modules/byteswap: Likewise.
65926         * modules/configmake: Likewise.
65927         * modules/fcntl: Likewise.
65928         * modules/fnmatch: Likewise.
65929         * modules/getopt: Likewise.
65930         * modules/glob: Likewise.
65931         * modules/inttypes: Likewise.
65932         * modules/netinet_in: Likewise.
65933         * modules/poll: Likewise.
65934         * modules/stdbool: Likewise.
65935         * modules/stdint: Likewise.
65936         * modules/sys_select: Likewise.
65937         * modules/sys_socket: Likewise.
65938         * modules/sys_stat: Likewise.
65939         * modules/sysexits: Likewise.
65940         * modules/localcharset: Same as above, but continue using temporary
65941         file named "t-$@" (why different?) rather than the "$@-t" used
65942         everywhere else.
65943
65944         * modules/sysexits (Makefile.am): Replace literal occurrences
65945         of "sysexit.h" more readable, and more consistent, "$@".
65946
65947 2006-09-06  Bruno Haible  <bruno@clisp.org>
65948
65949         * modules/striconv: New file.
65950         * modules/xstriconv: New file.
65951         * MODULES.html.sh (Internationalization functions): Add striconv,
65952         xstriconv.
65953
65954 2006-09-06  Bruno Haible  <bruno@clisp.org>
65955
65956         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
65957         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
65958         not using libtool correctly.
65959
65960 2006-09-06  Bruno Haible  <bruno@clisp.org>
65961
65962         * lib/striconv.h: New file.
65963         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
65964         iconvstring.c.
65965         * lib/xstriconv.h: New file.
65966         * lib/xstriconv.c: New file.
65967
65968 2006-09-06  Bruno Haible  <bruno@clisp.org>
65969
65970         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65971         lib_..._LDFLAGS.
65972
65973 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65974
65975         * lib/argz_.h: Sync from Libtool.
65976
65977         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
65978                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
65979
65980         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
65981
65982 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
65983
65984         * modules/trim: New file.
65985
65986 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
65987
65988         * lib/trim.h: New file.
65989         * lib/trim.c: New file.
65990
65991 2006-09-05  Bruno Haible  <bruno@clisp.org>
65992
65993         * MODULES.html.sh (String handling): Add trim.
65994
65995 2006-09-04  Karl Berry  <karl@gnu.org>
65996
65997         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
65998         until next release.
65999
66000 2006-09-03  Bruno Haible  <bruno@clisp.org>
66001
66002         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
66003         correctly.
66004
66005 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66006
66007         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
66008         not gl_GETLOADAVG.  Omit unneeded semicolons.
66009         Problems reported by Ralf Wildenhues in
66010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
66011         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
66012         at the end, which is the usual gnulib style.
66013
66014         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
66015         of doing all the work ourselves.
66016         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
66017         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
66018
66019 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66020
66021         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
66022         Problem reported by Ralf Wildenhues in
66023         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
66024
66025         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
66026         HAVE_STRUCT_STATFS_F_FSTYPENAME.
66027
66028 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66029
66030         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
66031         yesterday's patch by changing test -n to test -z.
66032
66033 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66034
66035         * modules/getloadavg (Files): Add m4/getloadavg.m4.
66036         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
66037         the former is now obsolescent.
66038
66039         * modules/chdir-long (Depends-on): Add fcntl.
66040
66041 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66042
66043         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
66044         obsolescent, and programs should use gnulib instead.
66045         * m4/getloadavg.m4: New file, with contents taken from Autoconf
66046         but with prefixes changed.
66047
66048 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66049
66050         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
66051         or stdbool.h, because they might not exist while configuring.
66052
66053         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
66054         Don't include unistd.h or limits.h; not needed, since chdir-long.h
66055         does that for us.
66056         (O_DIRECTORY): Remove.
66057
66058 2006-08-31  Eric Blake  <ebb9@byu.net>
66059
66060         * gnulib-tool: Don't let emacs change spaces to TAB.
66061
66062 2006-08-31  Bruno Haible  <bruno@clisp.org>
66063
66064         * gnulib-tool: When calling func_import more than once, do it in a
66065         subshell.
66066         Reported by Eric Blake <ebb9@byu.net>.
66067
66068 2006-08-31  Bruno Haible  <bruno@clisp.org>
66069
66070         * gnulib-tool (nl): Remove variable.
66071         (sed_transform_lib_file): Use more robust test for config-h module.
66072         (func_import): Fix typo in 2006-08-25 patch.
66073
66074 2006-08-31  Bruno Haible  <bruno@clisp.org>
66075
66076         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
66077         specified, augment Makefile.am variables instead of assigning them.
66078
66079 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66080
66081         Work around a bug in both the Linux and SunOS 64-bit kernels:
66082         nanosleep mishandles sleeps for longer than 2**31 seconds.
66083         Problem reported by Frank v Waveren in
66084         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
66085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
66086         Check for nanosleep bug.
66087         (LIB_NANOSLEEP): Append clock_gettime library if needed.
66088
66089 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66090
66091         Work around a bug in both the Linux and SunOS 64-bit kernels:
66092         nanosleep mishandles sleeps for longer than 2**31 seconds.
66093         Problem reported by Frank v Waveren in
66094         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
66095         * lib/nanosleep.c (BILLION): New constant.
66096         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
66097         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
66098         implementation.
66099
66100 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66101
66102         * modules/nanosleep (Depends-on): Add gettime.
66103
66104 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66105         and Simon Josefsson  <jas@extundo.com>
66106         and Oskar Liljeblad  <oskar@osk.mine.nu>
66107
66108         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
66109         * gnulib-tool (func_import): New license type 'unmodifiable license
66110         text'.
66111         * modules/fdl: Use it.  Longer description.
66112         * module/gpl, module/lgpl: New files.
66113
66114 2006-08-30  Jim Meyering  <jim@meyering.net>
66115
66116         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
66117         shadowing the parameter.
66118
66119 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66120
66121         Sync from Libtool:
66122
66123         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66124
66125         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
66126         sharing with gnulib.  Report by Eric Blake.
66127
66128 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66129
66130         * modules/isapipe: New file.
66131         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
66132
66133 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66134
66135         * modules/configmake (Makefile.am): Add a comment, and omit
66136         the CONFIGMAKE_ prefix from generated macro names.  Suggested
66137         by Bruno Haible.
66138
66139 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66140
66141         * m4/isapipe.m4: New file.
66142
66143 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66144
66145         * lib/isapipe.c, lib/isapipe.h: New files.
66146
66147 2006-08-29  Jim Meyering  <jim@meyering.net>
66148
66149         * modules/configmake (Makefile.am): Make configmake.h depend on
66150         Makefile.  Otherwise, a stale configmake.h could hang around.
66151
66152 2006-08-29  Eric Blake  <ebb9@byu.net>
66153
66154         * lib/error.c (error_at_line, print_errno_message): Match libc, after
66155         resolution of upstream bug 3044.
66156
66157 2006-08-29  Bruno Haible  <bruno@clisp.org>
66158
66159         * modules/localcharset (Depends-on): Add configmake.
66160         (Makefile.am): Remove setting of LIBDIR through DEFS.
66161
66162 2006-08-29  Bruno Haible  <bruno@clisp.org>
66163
66164         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
66165         defined.
66166
66167 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66168
66169         * modules/fcntl: New file.
66170         * modules/chdir-safer (Depends-on): Add fcntl.
66171         * modules/fts: Likewise.
66172         * modules/mkdir-p: Likewise.
66173
66174         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
66175         This undoes the most recent change, since we're now addressing the
66176         problem in a different way.
66177
66178         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
66179         into output, since the output might be called Makefile.am even
66180         if $makefile_name is something different.
66181         (func_import): Use $makefile_am rather than
66182         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
66183         empty.
66184
66185         * modules/inttypes (Files): Add m4/inttypes-h.m4.
66186
66187 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66188
66189         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
66190         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
66191         recent change to stdint.m4, since we're now addressing the problem in a
66192         different way.
66193
66194 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66195
66196         * m4/fcntl_h.m4: New file.
66197
66198 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * lib/fcntl_.h: New file.
66201         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
66202         the fcntl module.
66203         * lib/dirchownmod.c: Likewise.
66204         * lib/fts.c: Likewise.
66205
66206         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
66207         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
66208         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
66209         just before including <inttypes.h>, to avoid circular inclusion.
66210
66211 2006-08-28  Jim Meyering  <jim@meyering.net>
66212
66213         * doc/visibility.texi: Actually read and correct the grammar of the
66214         sentence affected by yesterday's change.
66215
66216 2006-08-28  Eric Blake  <ebb9@byu.net>
66217
66218         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
66219         needs wrapper.
66220
66221 2006-08-28  Eric Blake  <ebb9@byu.net>
66222
66223         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
66224
66225 2006-08-28  Eric Blake  <ebb9@byu.net>
66226
66227         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
66228
66229 2006-08-28  Bruno Haible  <bruno@clisp.org>
66230
66231         * modules/c-strstr: New file, from GNU gettext.
66232         * MODULES.html.sh (String handling): Add c-strstr.
66233
66234 2006-08-28  Bruno Haible  <bruno@clisp.org>
66235
66236         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
66237         macros.
66238         Reported by Eric Blake.
66239
66240 2006-08-28  Bruno Haible  <bruno@clisp.org>
66241
66242         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
66243         (VASNPRINTF): Return a string of length > INT_MAX without failing.
66244         * lib/vasprintf.c: Include errno.h, limits.h.
66245         (EOVERFLOW): New fallback definition.
66246         (vasprintf): Test here whether the string length is > INT_MAX.
66247         * lib/vsnprintf.c: Include errno.h, limits.h.
66248         (EOVERFLOW): New fallback definition.
66249         (vsnprintf): Fix bug when generated string was too long for the buffer.
66250         Test here whether the string length is > INT_MAX.
66251
66252 2006-08-28  Bruno Haible  <bruno@clisp.org>
66253
66254         * lib/inttypes_.h (SCNX*): Remove definitions.
66255         Reported by Eric Blake.
66256
66257 2006-08-28  Bruno Haible  <bruno@clisp.org>
66258
66259         * lib/c-strstr.h: New file, from GNU gettext.
66260         * lib/c-strstr.c: New file, from GNU gettext.
66261
66262 2006-08-28  Bruno Haible  <bruno@clisp.org>
66263
66264         * gnulib-tool: Reorder some statements.
66265
66266 2006-08-28  Bruno Haible  <bruno@clisp.org>
66267
66268         * gnulib-tool: New option --makefile-name.
66269         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
66270         $makefile_name.
66271         (func_import): Write $makefile_name to the cache file, and read it from
66272         there unless explicitly specified. Use $makefile_name as file name
66273         instead of Makefile.am. Adjust the recommendations accordingly.
66274
66275 2006-08-28  Bruno Haible  <bruno@clisp.org>
66276
66277         * gnulib-tool (func_verify_module): Check against misapplying patch.
66278
66279 2006-08-28  Bruno Haible  <bruno@clisp.org>
66280
66281         * gnulib-tool (func_relativize, func_relconcat): New functions.
66282         Give an error if --local-dir is given with --update.
66283         Remove trailing slashes from $local_gnulib_dir.
66284         (func_import): Store the relativized $local_gnulib_dir in
66285         gnulib-cache.m4, and read it from there if not specified explicitly.
66286
66287 2006-08-28  Bruno Haible  <bruno@clisp.org>
66288
66289         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
66290         is the current directory. Respect also $local_gnulib_dir.
66291
66292 2006-08-28  Bruno Haible  <bruno@clisp.org>
66293             Simon Josefsson  <jas@extundo.com>
66294
66295         BeOS portability.
66296         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
66297
66298 2006-08-27  Jim Meyering  <jim@meyering.net>
66299
66300         * doc/visibility.texi: Remove duplicate word: "pointer".
66301
66302 2006-08-26  Bruno Haible  <bruno@clisp.org>
66303
66304         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
66305         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
66306         (Makefile.am): Create inttypes.h from inttypes_.h.
66307         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
66308
66309         * modules/imaxabs: New file.
66310
66311         * modules/imaxdiv: New file.
66312
66313 2006-08-26  Bruno Haible  <bruno@clisp.org>
66314
66315         * m4/inttypes.m4: New file.
66316         * m4/_inttypes_h.m4: Remove file.
66317         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
66318         PRI_MACROS_BROKEN.
66319         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
66320
66321         * m4/imaxabs.m4: New file.
66322
66323         * m4/imaxdiv.m4: New file.
66324
66325 2006-08-26  Bruno Haible  <bruno@clisp.org>
66326
66327         * lib/inttypes_.h: New file.
66328         * lib/inttypes.h: Remove file.
66329         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
66330
66331         * lib/imaxabs.c: New file.
66332
66333         * lib/imaxdiv.c: New file.
66334
66335 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66336
66337         New config-h module, so that "make" output needn't be cluttered
66338         by -DHAVE_CONFIG_H.
66339         * MODULES.html.sh (Support for building libraries and executables):
66340         Add config-h.
66341         * modules/config-h: New file.
66342         * gnulib-tool (nl, sed_transform_lib_file): New vars.
66343         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
66344         the config-h module is used.
66345
66346         New configmake module, so that "make" output needn't be cluttered
66347         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
66348         * MODULES.html.sh (Support for building libraries and executables):
66349         Add configmake.
66350         * modules/configmake: New file.
66351
66352 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66353
66354         * m4/config-h.m4: New file.
66355
66356 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66357
66358         * config/srclist.txt: Add elisp-comp.
66359
66360 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66361
66362         * MODULES.html.sh (Support for building libraries and executables):
66363         Add elisp-comp.
66364         * build-aux/elisp-comp: New file.
66365         * modules/elisp-comp: New file.
66366
66367 2006-08-24  Bruno Haible  <bruno@clisp.org>
66368
66369         * gnulib-tool (func_create_testdir): Use non-default values of
66370         sourcebase and m4base.
66371
66372 2006-08-24  Bruno Haible  <bruno@clisp.org>
66373
66374         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
66375         HTML structure.
66376
66377 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66378
66379         * modules/openat (Depends-on): Add lchown.
66380
66381 2006-08-23  Bruno Haible  <bruno@clisp.org>
66382
66383         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
66384         of gl_LOCK_EARLY instead of gl_LOCK.
66385
66386 2006-08-23  Bruno Haible  <bruno@clisp.org>
66387
66388         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
66389         on OSF/1 to no.
66390         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
66391
66392 2006-08-23  Bruno Haible  <bruno@clisp.org>
66393
66394         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
66395         as unusable.
66396
66397         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
66398         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
66399         (gl_LOCK): New macro.
66400
66401 2006-08-22  Simon Josefsson  <jas@extundo.com>
66402
66403         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
66404         to md5 module.
66405
66406 2006-08-22  Simon Josefsson  <jas@extundo.com>
66407
66408         * MODULES.html.sh: Add "Support for maintaining and release
66409         projects".
66410
66411         * build-aux/gnupload: New file, from coreutils.
66412
66413 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66414
66415         Avoid the need for AC_LIBSOURCES in m4 macros.
66416         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
66417         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
66418         * modules/check-version (EXTRA_DIST): Add check-version.h.
66419         * modules/crc (EXTRA_DIST): Add crc.h.
66420         * modules/des (EXTRA_DIST): Add des.h.
66421         * modules/gc (EXTRA_DIST): Add gc.h.
66422         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
66423         * modules/getline (EXTRA_DIST): Add getline.h.
66424         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
66425         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
66426         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
66427         * modules/md2 (EXTRA_DIST): Add md2.h.
66428         * modules/md4 (EXTRA_DIST): Add md4.h.
66429         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
66430         * modules/read-file (EXTRA_DIST): Add read-file.h.
66431         * modules/readline (EXTRA_DIST): Add readline.h.
66432         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
66433         rijndael-api-fst.h.
66434
66435 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66436
66437         * m4/rijndael.m4 (gl_ARCFOUR):
66438         * m4/arctwo.m4 (gl_ARCTWO):
66439         * m4/check-version.m4 (gl_CHECK_VERSION):
66440         * m4/crc.m4 (gl_CRC):
66441         * m4/des.m4 (gl_DES):
66442         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
66443         * m4/gc.m4 (gl_GC):
66444         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
66445         * m4/getline.m4 (gl_FUNC_GETLINE):
66446         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
66447         * m4/hmac-md5.m4 (gl_HMAC_MD5):
66448         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
66449         * m4/md2.m4 (gl_MD2):
66450         * m4/md4.m4 (gl_MD4):
66451         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
66452         * m4/read-file.m4 (gl_FUNC_READ_FILE):
66453         * m4/readline.m4 (gl_FUNC_READLINE):
66454         * m4/rijndael.m4 (gl_RIJNDAEL):
66455         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
66456         to get the necessary .h files and whatnot.
66457
66458 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66459
66460         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
66461         gnulib rather than the other way around.
66462         * config/srclistvars.sh (COREUTILS): Remove.
66463
66464 2006-08-22  Jim Meyering  <jim@meyering.net>
66465
66466         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
66467
66468         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
66469
66470 2006-08-22  Eric Blake  <ebb9@byu.net>
66471
66472         * modules/regexprops-generic: New file.
66473         * MODULES.html.sh (Support for building documentation): List it.
66474
66475 2006-08-22  Eric Blake  <ebb9@byu.net>
66476
66477         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
66478         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66479         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
66480         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66481
66482 2006-08-22  Bruno Haible  <bruno@clisp.org>
66483
66484         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
66485         and lib_LTLIBRARIES like the other lib_* variables.
66486
66487 2006-08-22  Bruno Haible  <bruno@clisp.org>
66488
66489         * build-aux/x-to-1.in: New file, from GNU gettext.
66490
66491 2006-08-22  Bruno Haible  <bruno@clisp.org>
66492
66493         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
66494         <utmpx.h> exists.
66495
66496 2006-08-22  Bruno Haible  <bruno@clisp.org>
66497
66498         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
66499         <utmpx.h> exists.
66500
66501 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
66502
66503         BeOS portability.
66504         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
66505         exist.
66506         Problem reported by Bruno Haible.
66507
66508 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
66509
66510         Avoid the need for AC_LIBSOURCES in m4 macros.
66511         * modules/acl (EXTRA_DIST): Add acl.h.
66512         * modules/argmatch (Files): Add m4/argmatch.m4.
66513         (configure.ac): Add gl_ARGMATCH.
66514         (EXTRA_DIST): Renamed from lib_SOURCES, for
66515         consistency with the other modules.  Remove argmatch.c.
66516         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
66517         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
66518         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
66519         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
66520         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
66521         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
66522         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
66523         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
66524         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
66525         * modules/closeout (EXTRA_DIST): Add closeout.h.
66526         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
66527         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
66528         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
66529         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
66530         dirname.h; remove basename.c and stripslash.c.
66531         * modules/exclude (EXTRA_DIST): Add exclude.h.
66532         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
66533         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
66534         * modules/file-type (EXTRA_DIST): Add file-type.h.
66535         * modules/filemode (EXTRA_DIST): Add filemode.h.
66536         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
66537         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
66538         * modules/fpending (EXTRA_DIST): Add __fpending.h.
66539         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
66540         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
66541         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
66542         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
66543         * modules/getdate (EXTRA_DIST): Add getdate.c.
66544         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
66545         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
66546         * modules/getpass (EXTRA_DIST): Add getpass.h.
66547         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
66548         * modules/group-member (EXTRA_DIST): Add group-member.h.
66549         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
66550         * modules/hash (EXTRA_DIST): Add hash.h.
66551         * modules/human (EXTRA_DIST): Add human.h.
66552         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
66553         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
66554         * modules/lchown (EXTRA_DIST): Add lchown.h.
66555         * modules/long-options (EXTRA_DIST): Add long-options.h.
66556         * modules/lstat (EXTRA_DIST): Add lstat.h.
66557         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
66558         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
66559         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
66560         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
66561         * modules/memxor (EXTRA_DIST): Add memxor.h.
66562         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
66563         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
66564         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
66565         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
66566         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
66567         * modules/physmem (EXTRA_DIST): Add physmem.h.
66568         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
66569         * modules/posixver (EXTRA_DIST): Add posixver.h.
66570         * modules/quote (EXTRA_DIST): Add quote.h.
66571         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
66572         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
66573         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
66574         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
66575         regex_internal.h regexec.c.
66576         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
66577         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
66578         * modules/same (EXTRA_DIST): Add same.h.
66579         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
66580         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
66581         * modules/savedir (EXTRA_DIST): Add savedir.h.
66582         * modules/sha1 (EXTRA_DIST): Add sha1.h.
66583         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
66584         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
66585         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
66586         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
66587         * modules/strdup (EXTRA_DIST): Add strdup.h.
66588         * modules/strftime (EXTRA_DIST): Add strftime.h.
66589         * modules/strndup (EXTRA_DIST): Add strndup.h.
66590         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
66591         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
66592         * modules/time_r (EXTRA_DIST): Add time_r.h.
66593         * modules/timespec (EXTRA_DIST): Add timespec.h.
66594         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
66595         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
66596         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
66597         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
66598         * modules/userspec (EXTRA_DIST): Add userspec.h.
66599         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
66600         * modules/utimens (EXTRA_DIST): Add utimens.h.
66601         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
66602         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
66603         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
66604         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
66605         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
66606         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
66607         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
66608         * modules/yesno (EXTRA_DIST): Add yesno.h.
66609
66610 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
66611
66612         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
66613
66614         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
66615         * m4/dev-ino.m4, same-inode.m4: Remove.
66616
66617         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
66618         * m4/acl.m4 (AC_FUNC_ACL):
66619         * m4/backupfile.m4 (gl_BACKUPFILE):
66620         * m4/c-strtod.m4 (gl_C99_STRTOLD):
66621         * m4/canon-host.m4 (gl_CANON_HOST):
66622         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
66623         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
66624         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
66625         * m4/cloexec.m4 (gl_CLOEXEC):
66626         * m4/close-stream.m4 (gl_CLOSE_STREAM):
66627         * m4/closeout.m4 (gl_CLOSEOUT):
66628         * m4/dirfd.m4 (gl_FUNC_DIRFD):
66629         * m4/dirname.m4 (gl_DIRNAME):
66630         * m4/exclude.m4 (gl_EXCLUDE):
66631         * m4/exitfail.m4 (gl_EXITFAIL):
66632         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
66633         * m4/file-type.m4 (gl_FILE_TYPE):
66634         * m4/filemode.m4 (gl_FILEMODE):
66635         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
66636         * m4/fpending.m4 (gl_FUNC_FPENDING):
66637         * m4/fprintftime.m4 (gl_FPRINTFTIME):
66638         * m4/fts.m4 (gl_FUNC_FTS):
66639         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
66640         * m4/getdate.m4 (gl_GETDATE):
66641         * m4/gethrxtime.m4 (gl_GETHRXTIME):
66642         * m4/getpagesize.m4 (gl_GETPAGESIZE):
66643         * m4/getpass.m4 (gl_FUNC_GETPASS):
66644         * m4/gettime.m4 (gl_GETTIME):
66645         * m4/getugroups.m4 (gl_GETUGROUPS):
66646         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
66647         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
66648         * m4/hard-locale.m4 (gl_HARD_LOCALE):
66649         * m4/hash.m4 (gl_HASH):
66650         * m4/idcache.m4 (gl_IDCACHE):
66651         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
66652         * m4/lchown.m4 (gl_FUNC_LCHOWN):
66653         * m4/long-options.m4 (gl_LONG_OPTIONS):
66654         * m4/lstat.m4 (gl_FUNC_LSTAT):
66655         * m4/md5.m4 (gl_MD5):
66656         * m4/memcasecmp.m4 (gl_MEMCASECMP):
66657         * m4/memcoll.m4 (gl_MEMCOLL):
66658         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
66659         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
66660         * m4/memxor.m4 (gl_MEMXOR):
66661         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
66662         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
66663         * m4/modechange.m4 (gl_MODECHANGE):
66664         * m4/mountlist.m4 (gl_MOUNTLIST):
66665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66666         * m4/openat.m4 (gl_FUNC_OPENAT):
66667         * m4/pathmax.m4 (gl_PATHMAX):
66668         * m4/physmem.m4 (gl_PHYSMEM):
66669         * m4/posixtm.m4 (gl_POSIXTM):
66670         * m4/posixver.m4 (gl_POSIXVER):
66671         * m4/quote.m4 (gl_QUOTE):
66672         * m4/quotearg.m4 (gl_QUOTEARG):
66673         * m4/readtokens.m4 (gl_READTOKENS):
66674         * m4/readutmp.m4 (gl_READUTMP):
66675         * m4/regex.m4 (gl_REGEX):
66676         * m4/safe-read.m4 (gl_SAFE_READ):
66677         * m4/safe-write.m4 (gl_SAFE_WRITE):
66678         * m4/same.m4 (gl_SAME):
66679         * m4/save-cwd.m4 (gl_SAVE_CWD):
66680         * m4/savedir.m4 (gl_SAVEDIR):
66681         * m4/settime.m4 (gl_SETTIME):
66682         * m4/sha1.m4 (gl_SHA1):
66683         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
66684         * m4/stat-macros.m4 (gl_STAT_MACROS):
66685         * m4/stat-time.m4 (gl_STAT_TIME):
66686         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
66687         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
66688         * m4/strdup.m4 (gl_FUNC_STRDUP):
66689         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
66690         * m4/strndup.m4 (gl_FUNC_STRNDUP):
66691         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
66692         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
66693         * m4/time_r.m4 (gl_TIME_R):
66694         * m4/timespec.m4 (gl_TIMESPEC):
66695         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
66696         * m4/unlinkdir.m4 (gl_UNLINKDIR):
66697         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
66698         * m4/userspec.m4 (gl_USERSPEC):
66699         * m4/utimecmp.m4 (gl_UTIMECMP):
66700         * m4/utimens.m4 (gl_UTIMENS):
66701         * m4/xalloc.m4 (gl_XALLOC):
66702         * m4/xgetcwd.m4 (gl_XGETCWD):
66703         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
66704         * m4/xreadlink.m4 (gl_XREADLINK):
66705         * m4/xstrtod.m4 (gl_XSTRTOD):
66706         * m4/yesno.m4 (gl_YESNO):
66707         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
66708         to get the necessary .h files and whatnot.
66709
66710 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
66711             Bruno Haible  <bruno@clisp.org>
66712
66713         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
66714         /bin/sh understanding of '!' conditional negation.
66715
66716 2006-08-21  Jim Meyering  <jim@meyering.net>
66717
66718         * modules/openat (Depends-on): Really alphabetize.
66719
66720         * modules/acl (Depends-on): Add error and quote.
66721
66722         * check-module (find_included_lib_files): Add at-func.c to the
66723         ok-to-include-more-than-once white list.
66724
66725         * modules/openat (Depends-on): Add lstat.  Alphabetize.
66726
66727 2006-08-21  Bruno Haible  <bruno@clisp.org>
66728
66729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66730         Emit a pkgdata_DATA variable only if some snippets add contents to it.
66731         Reported by Martin Lambers <marlam@marlam.de>.
66732
66733 2006-08-21  Bruno Haible  <bruno@clisp.org>
66734
66735         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
66736         specify an installation location, don't emit a noinst_LIBRARIES or
66737         noinst_LTLIBRARIES assignment.
66738
66739 2006-08-21  Bruno Haible  <bruno@clisp.org>
66740
66741         BeOS portability.
66742         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
66743         BeOS has mbrtowc() but no <wctype.h>.
66744
66745 2006-08-21  Bruno Haible  <bruno@clisp.org>
66746
66747         BeOS portability.
66748         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
66749         exist.
66750
66751 2006-08-21  Bruno Haible  <bruno@clisp.org>
66752
66753         BeOS portability.
66754         * lib/mbchar.h: Include <wctype.h> only if it exists.
66755
66756 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66757
66758         Remove files that are no longer needed by their respective modules.
66759         * m4/obstack.m4: Remove.
66760         * m4/strerror_r.m4: Remove.
66761         * m4/uint32_t.m4: Remove.
66762         * m4/uintptr_t.m4: Remove.
66763         * m4/ullong_max.m4: Remove.
66764         * m4/xstrtoimax.m4: Remove.
66765         * m4/xstrtoumax.m4: Remove.
66766
66767         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
66768         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
66769         dependencies now capture this.
66770
66771         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
66772         Do not use AC_LIBSOURCES, since gnulib modules now do this.
66773         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
66774         * m4/human.m4 (gl_HUMAN): Likewise.
66775         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
66776         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
66777
66778         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
66779
66780         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
66781         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
66782         stdint.
66783         * m4/human.m4 (gl_HUMAN): Likewise.
66784         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
66785         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
66786         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
66787         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
66788         * m4/xstrtol (gl_XSTRTOL): Likewise.
66789
66790         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
66791         AC_TYPE_LONG_LONG_INT.
66792         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
66793         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
66794         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
66795         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
66796
66797         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
66798         on stdbool.
66799
66800         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
66801         (gl_PREREQ_XSTRTOUL): Remove.
66802
66803         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
66804
66805         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
66806         mode.
66807
66808 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66809
66810         Add and change modules to make it easier for coreutils to use
66811         gnulib-tool.
66812         * modules/backupfile (Files): Remove m4/d-ino.m4.
66813         (Depends-on): Add d-ino.
66814         * modules/cycle-check (Depends-on): Add stdint.
66815         (lib_SOURCES): Add cycle-check.h.
66816         * modules/d-ino: New module.
66817         * modules/d-type: New module.
66818         * modules/error (Files): Remove m4/strerror_r.m4.
66819         * modules/filemode (Files): Add m4/st_dm_mode.m4.
66820         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
66821         m4/inttypes_h.m4, m4/uintmax_t.m4.
66822         (Depends-on): Add stdint.
66823         (lib_SOURCES): Add fsusage.h.
66824         * modules/getcwd (Files): Remove d-ino.m4.
66825         (Depends-on): Add d-ino.
66826         * modules/getndelim2 (Depends-on): Add stdint.
66827         * modules/glob (Files): Remove m4/d-type.m4.
66828         (Depends-on): Add d-type.
66829         * modules/host-os: New module.
66830         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
66831         m4/inttypes_h.m4, m4/uintmax_t.m4.
66832         * Depends-on: Add stdint.
66833         (lib_SOURCES): Add human.h.
66834         * modules/inttostr (Files): Remove m4/intmax_t.m4,
66835         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
66836         m4/uintmax_t.m4, m4/ulonglong.m4.
66837         (Depends-on): Add stdint.
66838         (EXTRA_DIST): Add inttostr.h.
66839         * modules/lchmod: New module.
66840         * modules/link-follow: New module.
66841         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
66842         (Depends-on): Add lchmod.
66843         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
66844         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
66845         (Depends-on): Add stdint.
66846         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
66847         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
66848         (Depends-on): Add stdint.
66849         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
66850         * modules/perl: New module.
66851         * modules/regex (Depends-on): Add stdint.
66852         * modules/rmdir-errno: New module.
66853         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
66854         m4/intmax_t.m4.
66855         (Depends-on): Add stdint.
66856         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
66857         m4/uintmax_t.m4.
66858         (Depends-on): Add stdint.
66859         * modules/unlink-busy: New module.
66860         * modules/utimecmp (Depends-on): Add stdint.
66861         * modules/uptime: New module.
66862         * modules/winsz-ioctl: New module.
66863         * modules/winsz-termios: New module.
66864         * modules/xnanosleep (Depends-on): Add nanosleep.
66865         * modules/ullong_max: Remove.
66866         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
66867         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
66868         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
66869         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
66870         (Depends-on): Add inttypes.
66871         (lib_SOURCES): Add xstrtol.h.
66872         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
66873         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
66874         * MODULES.html.sh: Move 'assert' into the assert section.
66875         Move 'dummy' into the linking section.
66876         Remove ullong_max.
66877         Add section for compatibility checks for POSIX:2001 functions,
66878         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
66879         winsz-ioctl, and winsz-termios into it.
66880         Add lchmod.
66881         Add top-level Misc section and put host-os, perl, and uptime
66882         into it.
66883
66884 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66885
66886         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
66887         now assume the stdint module.  Do not include inttypes.h.
66888         * lib/fsusage.h: Likewise.
66889         * lib/getndelim2.c: Likewise.
66890         * lib/human.h: Likewise.
66891         * lib/inttostr.h: Likewise.
66892         * lib/obstack.c: Likewise.
66893         * lib/regex_internal.h: Likewise.
66894         * lib/tempname.c: Likewise.
66895         * lib/utimecmp.c: Likewise.
66896         * lib/xstrtol.h: Likewise.
66897
66898         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
66899
66900         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
66901         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
66902         * lib/xtime.h: Likewise.
66903
66904 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66905
66906         * modules/openat (Files): Add lib/fchmodat.c.
66907         Fixes problem reported by Jay Youngman.
66908
66909 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66910
66911         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
66912         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
66913
66914 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
66915             Bruno Haible  <bruno@clisp.org>
66916
66917         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
66918         and is a script that invokes bison. Tighten the code. Add comments.
66919
66920 2006-08-18  Jim Meyering  <jim@meyering.net>
66921
66922         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
66923         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
66924         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
66925         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
66926
66927 2006-08-18  Bruno Haible  <bruno@clisp.org>
66928
66929         * modules/bison-i18n: New file.
66930         * MODULES.html.sh (Internationalization functions): Add it.
66931
66932 2006-08-18  Bruno Haible  <bruno@clisp.org>
66933
66934         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
66935         sys/statvfs.h. When getmntinfo was found, check its declaration and
66936         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
66937
66938 2006-08-18  Bruno Haible  <bruno@clisp.org>
66939
66940         * m4/bison-i18n.m4: New file, from bison.
66941
66942 2006-08-18  Bruno Haible  <bruno@clisp.org>
66943
66944         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
66945         (ME_DUMMY): Treat "kernfs" as a dummy.
66946         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
66947
66948 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66949
66950         Update from coreutils.
66951
66952         2006-08-15  Jim Meyering  <jim@meyering.net>
66953
66954         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
66955
66956         2006-01-17  Jim Meyering  <jim@meyering.net>
66957
66958         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
66959
66960         2006-01-11  Jim Meyering  <jim@meyering.net>
66961
66962         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
66963         Check for the lchmod function.
66964
66965 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66966
66967         Update from coreutils.
66968
66969         * lib/__fpending.h: Add copyright notice.
66970         * lib/fprintftime.h: Likewise.
66971         * lib/savedir.c: Use (C) in copyright notice.
66972         * lib/savedir.h: Likewise.
66973
66974         2006-08-15  Jim Meyering  <jim@meyering.net>
66975
66976         * lib/at-func.c: New file, with the logic of all emulated at-functions.
66977         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
66978         in support of the EXPECTED_ERRNO macro.
66979         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
66980         definitions.  Instead, define the appropriate symbols and include
66981         "at-func.c".
66982         * lib/mkdirat.c (mkdirat): Likewise.
66983         * lib/fchmodat.c (fchmodat): Likewise.
66984         (ENOSYS): Remove definition.
66985         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
66986         it.  Don't include "unistd--.h" -- it wasn't ever used.
66987
66988         2006-01-17  Jim Meyering  <jim@meyering.net>
66989
66990         Rewrite fts.c not to change the current working directory,
66991         by using openat, fstatat, fdopendir, etc..
66992
66993         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
66994         (HAVE_OPENAT_SUPPORT): Define.
66995         [_LIBC] (fchdir): Don't undef or define; no longer used.
66996         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
66997         Now, this `function' always succeeds, and consumes its file descriptor
66998         parameter -- so callers must not close such FDs.  Update callers.
66999         (diropen_fd, opendirat, cwd_advance_fd): New functions.
67000         (diropen): Add parameter, SP.  Adjust all callers.
67001         Implement using diropen_fd, rather than open.
67002         (fts_open): Initialize new member, fts_cwd_fd.
67003         Remove fts_rft-setting code.
67004         (fts_close): Close fts_cwd_fd, if necessary.
67005         (__opendir2): Define in terms of opendir or opendirat,
67006         depending on whether the FST_NOCHDIR flag is set.
67007         (fts_build): Since fts_safe_changedir consumes its FD, and since
67008         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
67009         and close the dup'd file descriptor upon failure.
67010         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
67011         (fts_safe_changedir): Tweak semantics to reflect that this function
67012         now calls cwd_advance_fd and hence consumes its FD argument.
67013         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
67014         [struct FTS] (fts_rft): Remove now-unused member.
67015         [struct FTS] (fts_cycle.state): Improve comment.
67016
67017         * lib/openat.c (openat_needs_fchdir): New function.
67018         * lib/openat.h (openat_needs_fchdir): Declare it.
67019
67020 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
67021
67022         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
67023         Problem and fix reported by Pádraig Brady in
67024         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
67025
67026 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67027
67028         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
67029
67030 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67031
67032         * lib/memcoll.c (memcoll): Optimize for the common case where the
67033         arguments are bytewise equal.
67034
67035 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67036
67037         * doc/regexprops-generic.texi: Add a copyright notice.
67038
67039 2006-08-15  Bruno Haible  <bruno@clisp.org>
67040
67041         * modules/tmpdir (License): Change to LGPL.
67042
67043 2006-08-15  Bruno Haible  <bruno@clisp.org>
67044
67045         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
67046         module.
67047
67048 2006-08-14  Simon Josefsson  <jas@extundo.com>
67049
67050         * config/srclist.txt: Add gnupload.
67051
67052 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67053
67054         Change copyright notice from LGPL 2 to GPL 2, since that's the
67055         standard form used in the gnulib repository.
67056         * tests/test-lock.c: Likewise.
67057         * tests/test-stdint.c: Likewise.
67058         * tests/test-tls.c: Likewise.
67059
67060         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
67061         prelude-manager.  User shorter URLs for GNU projects, without '?'.
67062         Add copyright notice.
67063
67064         * check-module: Add copyright notice.  Output a copyright
67065         notice if "--version" is specified.
67066         * modules/COPYING: New file.
67067         * tests/test-getaddrinfo.c: Add copyright notice.
67068         * tests/test-verify.c: Likewise.
67069
67070 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67071
67072         Change copyright notice from LGPL 2 to GPL 2, since that's the
67073         standard form used in the gnulib repository.
67074         * lib/lock.c: LGPL -> GPL.
67075         * lib/lock.h: Likewise.
67076         * lib/strnlen1.c: Likewise.
67077         * lib/strnlen1.h: Likewise.
67078         * lib/tls.c: Likewise.
67079         * lib/tls.h: Likewise.
67080         * lib/tmpdir.c: Likewise.
67081
67082         * lib/TODO: Remove; this belongs only in coreutils.
67083
67084 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67085
67086         Add copyright notices to long-enough files that lack them, since
67087         otherwise the files aren't clearly free.  Use the same notice that
67088         getdate.texi already uses.
67089         * doc/alloca-opt.texi: Add copyright notice.
67090         * doc/alloca.texi: Likewise.
67091         * doc/ctime.texi: Likewise.
67092         * doc/functions.texi: Likewise.
67093         * doc/gcd.texi: Likewise.
67094         * doc/gnulib-tool.texi: Likewise.
67095         * doc/inet_ntoa.texi: Likewise.
67096         * doc/visibility.texi: Likewise.
67097
67098         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
67099         * doc/quote.texi: Add copyright notice.
67100
67101         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
67102         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
67103         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
67104         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
67105         is now obsolete, and give a pointer to the Sun list.
67106         Add copyright notice.
67107
67108 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67109
67110         * config/srclistvars.sh: Add copyright notice.
67111
67112 2006-08-14  Eric Blake  <ebb9@byu.net>
67113
67114         Import the following change from libc:
67115
67116         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
67117
67118         Upstream bug 2997.
67119         * lib/misc/error.c: Add space between program name and message if file
67120         name is missing.
67121
67122 2006-08-12  Karl Berry  <karl@gnu.org>
67123
67124         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
67125         remove, these originate in gnulib now.
67126
67127 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67128
67129         * doc/Makefile (standards.info standards.html standards.dvi):
67130         Also depend on make-stds.texi.
67131
67132 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67133
67134         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
67135         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
67136
67137         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
67138         in wchar_t.  Problem reported by Eric Blake.
67139
67140         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
67141         LEN is smaller than SIZE.  Suggested by Bruno Haible.
67142         Also, help the compiler to keep LEN in a register.
67143
67144 2006-08-11  Eric Blake  <ebb9@byu.net>
67145
67146         * users.txt: Sort.  Add tar.
67147
67148 2006-08-11  Bruno Haible  <bruno@clisp.org>
67149
67150         * users.txt: New file.
67151
67152 2006-08-11  Bruno Haible  <bruno@clisp.org>
67153
67154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
67155         before <wchar.h>. Needed for OSF/1 and BSD/OS.
67156
67157 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * modules/snprintf (Depends-on): Remove minmax.
67160         (Maintainer): Add self and Bruno.
67161
67162 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67163
67164         * lib/.cppi-disable: Add snprintf.h, socket_.h.
67165         * lib/snprintf.c: Include <errno.h> and <limits.h>.
67166         (EOVERFLOW): Define if the system does not.
67167         Do not include "minmax.h"; it wasn't used.
67168         (snprintf): Don't assume size_t promotes to an unsigned type.
67169         Fix bug when generated string was too long for the buffer: the
67170         buffer's contents are supposed to be the initial prefix of the
67171         output.  Don't assume vasnprintf returns EOVERFLOW if the size
67172         exceeds INT_MAX; do the check ourselves.
67173
67174         Import the following changes from libc:
67175
67176         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
67177
67178         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
67179         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
67180         set wc to the byte which couldn't be converted.
67181         (re_string_reconstruct): Don't clear valid_raw_len before calling
67182         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
67183         tip_context using re_string_context_at.
67184
67185         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
67186
67187         * lib/posix/regex.h: g++ still cannot handled [restrict].
67188
67189         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
67190
67191         * lib/posix/regex.h: Remove special handling for VMS.
67192
67193 2006-08-10  Jim Meyering  <jim@meyering.net>
67194
67195         * modules/same-inode: New module.
67196         * modules/dev-ino: New module.
67197         * modules/cycle-check: Depend on these modules, rather than simply
67198         including their .h files.
67199         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
67200         required via m4/cycle-check.m4.
67201         * modules/same: Depend on new same-inode module, rather than
67202         including same-inode.h.
67203         * modules/chdir-safer: New file.
67204
67205         * modules/chown (Depends-on): Add stat-macros.
67206
67207 2006-08-10  Jim Meyering  <jim@meyering.net>
67208
67209         * m4/cycle-check.m4: New file.
67210         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
67211         * m4/dev-ino.m4, m4/same-inode.m4: New files.
67212
67213 2006-08-10  Eric Blake  <ebb9@byu.net>
67214
67215         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
67216         in from original proposal.
67217
67218 2006-08-10  Eric Blake  <ebb9@byu.net>
67219         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
67220
67221         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
67222         namespace.
67223
67224 2006-08-10  Bruno Haible  <bruno@clisp.org>
67225
67226         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
67227         as well.
67228
67229 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67230
67231         Sync from coreutils.
67232
67233         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
67234
67235         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
67236         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
67237
67238 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67239
67240         * modules/restrict: Remove; no longer needed now that we assume
67241         Autoconf 2.59 or later.
67242         * MODULES.html.sh: Remove 'restrict'.
67243         * modules/argp (Depends-on): Remove 'restrict'.
67244         * modules/base64 (Depends-on): Likewise.
67245         * modules/gc (Depends-on): Likewise.
67246         * modules/getaddrinfo (Depends-on): Likewise.
67247         * modules/glob (Depends-on): Likewise.
67248         * modules/inet_ntop (Depends-on): Likewise.
67249         * modules/inet_pton (Depends-on): Likewise.
67250         * modules/memxor (Depends-on): Likewise.
67251         * modules/regex (Depends-on): Likewise.
67252         * modules/strtok_r (Depends-on): Likewise.
67253         * modules/time_r (Depends-on): Likewise.
67254
67255 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67256
67257         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
67258         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
67259         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67260         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
67261         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
67262         * m4/memxor.m4 (gl_MEMXOR): Likewise.
67263         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
67264         gl_C_RESTRICT replaced by AC_C_RESTRICT.
67265
67266         Merge from coreutils.
67267         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
67268         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
67269         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67270         * m4/time_r.m4 (gl_TIME_R): Likewise.
67271
67272 2006-08-09  Karl Berry  <karl@gnu.org>
67273
67274         * config/srclist.txt: no more gettext-tools, per Bruno.
67275
67276 2006-08-08  Eric Blake  <ebb9@byu.net>
67277
67278         * modules/verror: New module.
67279         * MODULES.html.sh: Document it.
67280
67281 2006-08-08  Eric Blake  <ebb9@byu.net>
67282
67283         * lib/verror.h, lib/verror.c: New files.
67284
67285 2006-08-08  Eric Blake  <ebb9@byu.net>
67286
67287         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
67288         verror_at_line output complies with GNU Coding Standards even when
67289         file is NULL.
67290
67291 2006-08-07  Bruno Haible  <bruno@clisp.org>
67292
67293         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
67294         versions of AIX.
67295         Reported by Ralf Wildenhues.
67296
67297 2006-08-07  Bruno Haible  <bruno@clisp.org>
67298
67299         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
67300         in an AC_DEFUN. Needed so that the autoconf snippets can use
67301         AC_REQUIRE.
67302
67303 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67304
67305         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67306         Initialize pkgdata_DATA.
67307         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
67308         overriding it.
67309
67310 2006-08-06  Eric Blake  <ebb9@byu.net>
67311
67312         * lib/error.h: Fold in some upstream changes from glibc.
67313         * lib/error.c: Likewise.
67314
67315 2006-08-04  Bruno Haible  <bruno@clisp.org>
67316
67317         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67318         Make the mostlyclean-local rule depend on mostlyclean-generic.
67319         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
67320
67321 2006-07-31  Bruno Haible  <bruno@clisp.org>
67322
67323         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
67324         <stdlib.h>, <string.h>.
67325
67326 2006-07-30  Bruno Haible  <bruno@clisp.org>
67327
67328         * modules/readlink (License): Change to LGPL.
67329
67330 2006-07-30  Bruno Haible  <bruno@clisp.org>
67331
67332         * modules/javaversion (Makefile.am): Distribute javaversion.java and
67333         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
67334         set PKGDATADIR to point to it.
67335
67336 2006-07-30  Bruno Haible  <bruno@clisp.org>
67337
67338         * modules/csharpexec (configure.ac): Comment out macro invocation.
67339         * modules/javaexec (configure.ac): Likewise.
67340         * modules/javacomp-script (configure.ac): Likewise.
67341
67342         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
67343
67344 2006-07-30  Bruno Haible  <bruno@clisp.org>
67345
67346         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
67347         linked-list.
67348
67349 2006-07-30  Bruno Haible  <bruno@clisp.org>
67350
67351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
67352
67353 2006-07-30  Bruno Haible  <bruno@clisp.org>
67354
67355         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67356         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
67357         get removed.
67358
67359 2006-07-29  Bruno Haible  <bruno@clisp.org>
67360
67361         Make it possible for gnulib-tool to work with locally modified or
67362         augmented gnulib repositories.
67363         * gnulib-tool (func_usage): Document --local-dir option.
67364         (local_gnulib_dir): New variable.
67365         Handle --local-dir option.
67366         (func_lookup_file): New function.
67367         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
67368         (func_get_description, func_get_filelist, func_get_description,
67369         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
67370         func_get_automake_snippet, func_get_include_directive,
67371         func_get_license, func_get_maintainer): Use func_lookup_file.
67372         (func_import, func_create_testdir): Use func_lookup_file.
67373
67374 2006-07-29  Bruno Haible  <bruno@clisp.org>
67375
67376         * modules/setenv (Depends-on): Add unistd.
67377
67378 2006-07-29  Bruno Haible  <bruno@clisp.org>
67379
67380         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
67381
67382 2006-07-29  Bruno Haible  <bruno@clisp.org>
67383
67384         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
67385
67386 2006-07-29  Bruno Haible  <bruno@clisp.org>
67387
67388         * gnulib-tool (import, update): If there is no Makefile.am, look at
67389         aclocal.m4, instead of bailing out.
67390
67391 2006-07-29  Bruno Haible  <bruno@clisp.org>
67392
67393         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
67394         Categorize the options by when they are useful.
67395
67396 2006-07-29  Bruno Haible  <bruno@clisp.org>
67397
67398         * gnulib-tool (func_usage): Document option --no-libtool.
67399         Handle option --no-libtool.
67400         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
67401         for changed semantics of $libtool variable.
67402         (func_import): Likewise. If libtool is not used, show this through
67403         an option --no-libtool.
67404         (func_create_testdir): Update.
67405
67406 2006-07-29  Bruno Haible  <bruno@clisp.org>
67407
67408         * gnulib-tool (func_import): Extend error message about missing
67409         --doc-base.
67410
67411 2006-07-29  Bruno Haible  <bruno@clisp.org>
67412
67413         * gnulib-tool (func_import): Don't create the $docbase directory if
67414         there is no file to store there.
67415
67416 2006-07-29  Bruno Haible  <bruno@clisp.org>
67417
67418         * gnulib-tool (autoconf_minversion): If a --dir option is given and
67419         relevant, look for configure.ac there, not in the current directory.
67420         Also use a simple search for AC_PREREQ, not "autoconf --trace".
67421
67422 2006-07-29  Bruno Haible  <bruno@clisp.org>
67423
67424         * gnulib-tool (SORT): New variable.
67425         (func_usage): Undocument --assume-autoconf option.
67426         Remove --assume-autoconf option handling.
67427         (autoconf_minversion): Determine from the contents of configure.ac.
67428         (func_import): Remove autoconf_minversion handling.
67429         Suggested by Eric Blake.
67430
67431 2006-07-29  Bruno Haible  <bruno@clisp.org>
67432
67433         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
67434
67435 2006-07-29  Bruno Haible  <bruno@clisp.org>
67436
67437         * config/srclist.txt (*setenv.[ch]): Remove rules.
67438
67439 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67440
67441         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
67442
67443 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67444
67445         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
67446         arpa/inet.h.
67447
67448 2006-07-28  Simon Josefsson  <jas@extundo.com>
67449
67450         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
67451         * modules/inet_pton (Depends-on): Likewise.
67452
67453 2006-07-28  Simon Josefsson  <jas@extundo.com>
67454
67455         * m4/netinet_in_h.m4: New file.
67456
67457 2006-07-28  Simon Josefsson  <jas@extundo.com>
67458
67459         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
67460         #include's.
67461
67462 2006-07-28  Simon Josefsson  <jas@extundo.com>
67463
67464         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
67465         #include's.
67466
67467 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
67468
67469         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
67470         setgid on directories only if they set these bits.
67471         * lib/modechange.h: Remove obsolete comment about masks.
67472
67473 2006-07-28  Eric Blake  <ebb9@byu.net>
67474
67475         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
67476         macro expansion.
67477
67478 2006-07-28  Bruno Haible  <bruno@clisp.org>
67479
67480         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
67481
67482 2006-07-28  Bruno Haible  <bruno@clisp.org>
67483
67484         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
67485
67486 2006-07-28  Bruno Haible  <bruno@clisp.org>
67487
67488         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
67489         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
67490         Define fallbacks.
67491         Avoids link error on FreeBSD 4.x.
67492         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67493
67494         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
67495         encoding.
67496         * lib/mbswidth.c (iswcntrl): Likewise.
67497
67498 2006-07-27  Bruno Haible  <bruno@clisp.org>
67499
67500         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
67501         test.
67502
67503 2006-07-27  Bruno Haible  <bruno@clisp.org>
67504
67505         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
67506         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
67507         defined.
67508
67509 2006-07-26  Eric Blake  <ebb9@byu.net>
67510
67511         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
67512
67513 2006-07-26  Eric Blake  <ebb9@byu.net>
67514
67515         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
67516         like mingw that lack mkstemp.
67517         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
67518         avoid compilation warning on mingw.
67519
67520 2006-07-26  Bruno Haible  <bruno@clisp.org>
67521
67522         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
67523         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
67524         INT_FAST*_MIN, INTPTR_MIN.
67525
67526 2006-07-25  Bruno Haible  <bruno@clisp.org>
67527
67528         * modules/version-etc (Depends-on): Add stdarg.
67529
67530 2006-07-25  Bruno Haible  <bruno@clisp.org>
67531
67532         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
67533         complex commands.
67534
67535 2006-07-25  Bruno Haible  <bruno@clisp.org>
67536
67537         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
67538         defined in <stdarg.h> or config.h.
67539
67540 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
67541
67542         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
67543         (gl_STDIO_SAFER): Remove.
67544
67545 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
67546
67547         * MODULES.html.sh (File stream based Input/Output):
67548         Add fopen-safer, tmpfile-safer; remove stdio-safer.
67549         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
67550         * modules/fopen-safer, modules/tmpfile-safer: New files.
67551         * modules/stdio-safer: Remove.
67552
67553 2006-07-24  Bruno Haible  <bruno@clisp.org>
67554
67555         * modules/tmpdir: New file.
67556         * MODULES.html.sh (File system functions): Add it.
67557
67558 2006-07-24  Bruno Haible  <bruno@clisp.org>
67559
67560         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
67561         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
67562
67563 2006-07-24  Bruno Haible  <bruno@clisp.org>
67564
67565         * modules/clean-temp: New file.
67566
67567 2006-07-24  Bruno Haible  <bruno@clisp.org>
67568
67569         * m4/tmpdir.m4: New file, from GNU gettext.
67570
67571 2006-07-24  Bruno Haible  <bruno@clisp.org>
67572
67573         * lib/tmpdir.h: New file, from GNU gettext.
67574         * lib/tmpdir.c: New file, from GNU gettext.
67575
67576 2006-07-24  Bruno Haible  <bruno@clisp.org>
67577
67578         * lib/clean-temp.h: New file, from GNU gettext.
67579         * lib/clean-temp.c: New file, from GNU gettext.
67580
67581 2006-07-23  Eric Blake  <ebb9@byu.net>
67582
67583         * modules/stdio-safer (Files): Add tmpfile-safer.c.
67584         (Depends-on): Add binary-io.
67585
67586 2006-07-23  Eric Blake  <ebb9@byu.net>
67587
67588         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
67589
67590 2006-07-23  Eric Blake  <ebb9@byu.net>
67591
67592         * lib/tmpfile-safer.c: New file.
67593         * lib/stdio-safer.h (fopen_safer): Add prototype.
67594         * lib/stdio--.h (tmpfile): Make safer.
67595
67596 2006-07-23  Bruno Haible  <bruno@clisp.org>
67597
67598         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
67599         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
67600         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
67601         gl_linked_remove_at): Use it.
67602
67603 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67604         and Simon Josefsson <jas@extundo.com>
67605
67606         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
67607
67608         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
67609
67610 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67611
67612         * modules/close-stream: New file.
67613         * modules/closeout (Description): Make it clear that it exits
67614         with a diagnostic on error.
67615         (Depends-on): Add close-stream.  Remove fpending, stdbool.
67616         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
67617
67618 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67619
67620         * m4/close-stream.m4: New file.
67621
67622 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67623
67624         * lib/close-stream.c, lib/close-stream.h: New files.
67625
67626 2006-07-22  Bruno Haible  <bruno@clisp.org>
67627
67628         Merge from GNU gettext 0.15.
67629
67630         2006-05-01  Bruno Haible  <bruno@clisp.org>
67631
67632                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
67633
67634         2006-07-22  Bruno Haible  <bruno@clisp.org>
67635
67636                 * modules/javaversion: New file.
67637                 * MODULES.html.sh (Java): Add javaversion.
67638
67639         2006-03-12  Bruno Haible  <bruno@clisp.org>
67640
67641                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
67642
67643         2005-12-04  Bruno Haible  <bruno@clisp.org>
67644
67645                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
67646                 (untested).
67647
67648         2006-06-21  Bruno Haible  <bruno@clisp.org>
67649
67650                 Avoid warnings from recent versions of mcs.
67651                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
67652                 -o, -L, -r any more. Use options documented since mcs-1.0
67653                 instead. Similarly for -g.
67654
67655         2005-12-04  Bruno Haible  <bruno@clisp.org>
67656
67657                 * build-aux/csharpcomp.sh.in: Suffix for resources is
67658                 .resources, not .resource.
67659
67660         2005-07-09  Bruno Haible  <bruno@clisp.org>
67661
67662                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
67663                 add a .dll suffix.
67664                 Reported by Mark Junker <mjscod@gmx.de>.
67665
67666         2006-07-22  Bruno Haible  <bruno@clisp.org>
67667
67668                 * modules/gettext: Upgrade to gettext-0.15.
67669                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
67670                 m4/visibility.m4.
67671                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
67672
67673 2006-07-22  Bruno Haible  <bruno@clisp.org>
67674
67675         Merge from GNU gettext 0.15.
67676
67677         2006-03-25  Bruno Haible  <bruno@clisp.org>
67678
67679                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
67680
67681         2006-07-21  Bruno Haible  <bruno@clisp.org>
67682
67683                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
67684                 "1.1".
67685
67686         2006-05-09  Bruno Haible  <bruno@clisp.org>
67687
67688                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
67689                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
67690                 for the conftestver execution.
67691
67692         2006-05-01  Bruno Haible  <bruno@clisp.org>
67693
67694                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
67695                 optional target-version argument. Verify that the compiler
67696                 groks source of the specified source-version, or add -source
67697                 option as necessary. Verify that the compiler produces
67698                 bytecode in the specified target-version, or add -target and
67699                 -source options as necessary. Make the result of the test
67700                 available as variable CONF_JAVAC. Also log error output in
67701                 config.log.
67702
67703         2006-03-11  Bruno Haible  <bruno@clisp.org>
67704
67705                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
67706
67707         2006-05-09  Bruno Haible  <bruno@clisp.org>
67708
67709                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
67710                 CLASSPATH_SEPARATOR to a semicolon.
67711
67712         2006-03-12  Bruno Haible  <bruno@clisp.org>
67713
67714                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
67715                 available as variable CONF_JAVA, for subsequent autoconf
67716                 tests. Also log error output in config.log.
67717
67718         2006-07-19  Bruno Haible  <bruno@clisp.org>
67719
67720                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
67721                 that getline works on glibc2 systems. Needed to avoid trouble
67722                 in relocatable.c.
67723                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
67724
67725         2005-12-04  Bruno Haible  <bruno@clisp.org>
67726
67727                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
67728                 launcher (untested).
67729
67730         2005-12-04  Bruno Haible  <bruno@clisp.org>
67731
67732                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
67733
67734         2006-07-22  Bruno Haible  <bruno@clisp.org>
67735
67736                 * gettext.m4: Update from GNU gettext-0.15.
67737                 * nls.m4: Likewise.
67738                 * po.m4: Likewise.
67739                 * inttypes-pri.m4: Likewise.
67740                 * inttypes-h.m4: Renamed from inttypes.m4.
67741                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
67742
67743 2006-07-22  Bruno Haible  <bruno@clisp.org>
67744
67745         Merge from GNU gettext 0.15.
67746
67747         2005-07-05  Bruno Haible  <bruno@clisp.org>
67748
67749                 * printf-args.c (printf_fetchargs): Work around broken
67750                 definition of wint_t on mingw.
67751
67752         2005-02-12  Bruno Haible  <bruno@clisp.org>
67753
67754                 * xallocsa.h: Add extern "C" for C++.
67755
67756         2006-05-17  Bruno Haible  <bruno@clisp.org>
67757
67758                 Cygwin portability.
67759                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
67760
67761         2006-04-30  Bruno Haible  <bruno@clisp.org>
67762
67763                 * progreloc.c: Include <mach-o/dyld.h> if available.
67764                 (find_executable): Use _NSGetExecutablePath when possible.
67765
67766         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
67767
67768                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
67769                 function.
67770
67771         2005-12-29  Bruno Haible  <bruno@clisp.org>
67772
67773                 * progreloc.c (set_program_name_and_installdir): Fix
67774                 compilation error.
67775
67776         2005-12-04  Bruno Haible  <bruno@clisp.org>
67777
67778                 Cygwin portability.
67779                 * progreloc.c: Include <windows.h> also on Cygwin.
67780                 (find_executable): Add support for Cygwin.
67781                 (set_program_name_and_installdir): Handle also platforms with
67782                 nonempty EXEEXT.
67783
67784         2006-07-11  Bruno Haible  <bruno@clisp.org>
67785
67786                 * javacomp.c: Fix a comment.
67787                 Reported by Jim Meyering.
67788
67789         2006-04-30  Bruno Haible  <bruno@clisp.org>
67790
67791                 * javacomp.h (compile_java_class): Add source_version,
67792                 target_version arguments.
67793                 * javacomp.c: Rewritten to choose only a compiler that
67794                 respects the specified source_version and target_version.
67795
67796         2006-06-27  Bruno Haible  <bruno@clisp.org>
67797
67798                 Assume correct S_ISDIR macro.
67799                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
67800
67801         2006-07-22  Bruno Haible  <bruno@clisp.org>
67802
67803                 * javaversion.h: New file, from GNU gettext.
67804                 * javaversion.c: New file, from GNU gettext.
67805                 * javaversion.java: New file, from GNU gettext.
67806                 * javaversion.class: New file, from GNU gettext.
67807
67808         2006-05-17  Bruno Haible  <bruno@clisp.org>
67809
67810                 Cygwin portability.
67811                 * javaexec.c (execute_java_class): Test for jview program
67812                 also on Cygwin.
67813
67814         2006-04-09  Bruno Haible  <bruno@clisp.org>
67815
67816                 * fatal-signal.c: Don't include string.h.
67817                 (at_fatal_signal): Use a copying loop instead of memcpy.
67818
67819         2005-12-04  Bruno Haible  <bruno@clisp.org>
67820
67821                 * csharpexec.c: Add support for 'clix' launcher (untested).
67822                 (execute_csharp_using_sscli): New function.
67823                 (execute_csharp_program): Call it.
67824
67825         2006-06-21  Bruno Haible  <bruno@clisp.org>
67826
67827                 Avoid warnings from recent versions of mcs.
67828                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
67829                 -o, -L, -r any more. Use options documented since mcs-1.0
67830                 instead. Similarly for -g.
67831
67832         2005-07-09  Bruno Haible  <bruno@clisp.org>
67833
67834                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
67835                 add a .dll suffix.
67836                 Reported by Mark Junker <mjscod@gmx.de>.
67837
67838         2006-06-17  Bruno Haible  <bruno@clisp.org>
67839
67840                 * config.charset: Update for NetBSD 3.0.
67841
67842         2006-05-17  Bruno Haible  <bruno@clisp.org>
67843
67844                 Cygwin portability.
67845                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
67846
67847         2006-05-16  Bruno Haible  <bruno@clisp.org>
67848
67849                 * localcharset.c [CYGWIN]: Include <windows.h>.
67850                 (get_charset_aliases): For Cygwin, return the same CPxxx
67851                 aliases list as under WIN32.
67852                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
67853                 the environment variables. Fall back to GetACP().
67854
67855         2006-04-05  Bruno Haible  <bruno@clisp.org>
67856
67857                 * config.charset: Update Juan Manuel Guerrero's address.
67858
67859         2005-02-12  Bruno Haible  <bruno@clisp.org>
67860
67861                 * allocsa.h: Add extern "C" for C++.
67862
67863         2005-02-10  Bruno Haible  <bruno@clisp.org>
67864
67865                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
67866                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
67867
67868         2006-07-22  Bruno Haible  <bruno@clisp.org>
67869
67870                 * gettext.h: Update to GNU gettext-0.15.
67871
67872 2006-07-22  Bruno Haible  <bruno@clisp.org>
67873
67874         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
67875         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
67876         lib-prefix.m4, longdouble.m4, ssize_t.m4.
67877
67878 2006-07-21  Eric Blake  <ebb9@byu.net>
67879
67880         * modules/stdlib-safer: New file.
67881         * MODULES.html.sh (File stream based Input/Output): Add
67882         stdlib-safer.
67883
67884 2006-07-21  Eric Blake  <ebb9@byu.net>
67885
67886         * lib/stdlib-safer.h: New file from coreutils, required by
67887         stdlib--.h.
67888
67889 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
67890
67891         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
67892
67893 2006-07-20  Bruno Haible  <bruno@clisp.org>
67894
67895         * gnulib-tool: Recognize new option --assume-autoconf.
67896         (autoconf_minversion): New variable.
67897         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
67898
67899 2006-07-20  Bruno Haible  <bruno@clisp.org>
67900
67901         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
67902
67903 2006-07-19  Derek R. Price  <derek@ximbiot.com>
67904
67905         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
67906         Reindent and repaginate.
67907
67908 2006-07-19  Derek Price  <derek@ximbiot.com>
67909
67910         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
67911         Correct grammar.
67912
67913 2006-07-17  Bruno Haible  <bruno@clisp.org>
67914
67915         * modules/list: New file.
67916         * modules/array-list: New file.
67917         * modules/carray-list, modules/carray-list-tests: New files.
67918         * modules/linked-list, modules/linked-list-tests: New files.
67919         * modules/avltree-list, modules/avltree-list-tests: New files.
67920         * modules/rbtree-list, modules/rbtree-list-tests: New files.
67921         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
67922         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
67923         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
67924         * modules/oset: New file.
67925         * modules/array-oset: New file.
67926         * modules/avltree-oset, modules/avltree-oset-tests: New files.
67927         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
67928         * tests/test-carray_list.c: New file.
67929         * tests/test-linked_list.c: New file.
67930         * tests/test-avltree_list.c: New file.
67931         * tests/test-rbtree_list.c: New file.
67932         * tests/test-linkedhash_list.c: New file.
67933         * tests/test-avltreehash_list.c: New file.
67934         * tests/test-rbtreehash_list.c: New file.
67935         * tests/test-avltree_oset.c: New file.
67936         * tests/test-rbtree_oset.c: New file.
67937         * MODULES.html.sh (Container data structures): New section.
67938
67939 2006-07-17  Bruno Haible  <bruno@clisp.org>
67940
67941         * m4/gl_list.m4: New file.
67942
67943 2006-07-17  Bruno Haible  <bruno@clisp.org>
67944
67945         * lib/gl_list.h: New file.
67946         * lib/gl_list.c: New file.
67947         * lib/gl_array_list.h: New file.
67948         * lib/gl_array_list.c: New file.
67949         * lib/gl_carray_list.h: New file.
67950         * lib/gl_carray_list.c: New file.
67951         * lib/gl_linked_list.h: New file.
67952         * lib/gl_linked_list.c: New file.
67953         * lib/gl_anylinked_list1.h: New file.
67954         * lib/gl_anylinked_list2.h: New file.
67955         * lib/gl_avltree_list.h: New file.
67956         * lib/gl_avltree_list.c: New file.
67957         * lib/gl_anyavltree_list1.h: New file.
67958         * lib/gl_anyavltree_list2.h: New file.
67959         * lib/gl_rbtree_list.h: New file.
67960         * lib/gl_rbtree_list.c: New file.
67961         * lib/gl_anyrbtree_list1.h: New file.
67962         * lib/gl_anyrbtree_list2.h: New file.
67963         * lib/gl_anytree_list1.h: New file.
67964         * lib/gl_anytree_list2.h: New file.
67965         * lib/gl_linkedhash_list.h: New file.
67966         * lib/gl_linkedhash_list.c: New file.
67967         * lib/gl_anyhash_list1.h: New file.
67968         * lib/gl_anyhash_list2.h: New file.
67969         * lib/gl_avltreehash_list.h: New file.
67970         * lib/gl_avltreehash_list.c: New file.
67971         * lib/gl_rbtreehash_list.h: New file.
67972         * lib/gl_rbtreehash_list.c: New file.
67973         * lib/gl_anytreehash_list1.h: New file.
67974         * lib/gl_anytreehash_list2.h: New file.
67975
67976         * lib/gl_oset.h: New file.
67977         * lib/gl_oset.c: New file.
67978         * lib/gl_array_oset.h: New file.
67979         * lib/gl_array_oset.c: New file.
67980         * lib/gl_avltree_oset.h: New file.
67981         * lib/gl_avltree_oset.c: New file.
67982         * lib/gl_rbtree_oset.h: New file.
67983         * lib/gl_rbtree_oset.c: New file.
67984         * lib/gl_anytree_oset.h: New file.
67985
67986 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         * m4/mkancesdirs.m4: New file.
67989         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
67990         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
67991         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
67992         it.
67993
67994 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
67995
67996         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
67997         * lib/mkancesdirs.h: New files.
67998         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
67999         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
68000         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
68001         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
68002         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
68003         callers changed.  Revamp internals significantly, by not
68004         attempting to create directories that are temporarily more
68005         permissive than the final results.  Do not attempt to use
68006         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
68007         This removes some race conditions, fixes some bugs, and simplifies
68008         things.  Use new dirchownmod function to do owner and mode changes.
68009         * lib/mkdir-p.h: Likewise.
68010         * lib/modechange.c (octal_to_mode): New function.
68011         (struct mode_change): New member mentioned.
68012         (make_node_op_equals): New arg mentioned.  All callers changed.
68013         (mode_compile): Keep track of which mode bits the user has explicitly
68014         mentioned.
68015         (mode_adjust): New arg DIR, so that we implement the X op correctly.
68016         New arg PMODE_BITS, to keep track of which mode bits the user
68017         mentioned; it treats S_ISUID and S_ISGID speciall.
68018         All callers changed.
68019         * lib/modechange.h: Likewise.
68020
68021 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
68022
68023         * MODULES.html.sh: Add mkancestors.
68024         * modules/mkancesdirs: New module.
68025         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
68026         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
68027         The chdir-safer and afs files are now orphans; I'll remove them
68028         unless someone speaks up.
68029         Add lib/dirchownmod.c, lib/dirchownmod.h.
68030         (Depends-on): Remove alloca, chown, save-cwd, dirname.
68031         Add lchown, mkancesdirs.
68032         (Maintainer): Add self.
68033
68034 2006-07-15  Karl Berry  <karl@gnu.org>
68035
68036         * gnulib-tool: help message wording/arrangement.
68037
68038 2006-07-14  Simon Josefsson  <jas@extundo.com>
68039
68040         * doc/gnulib.texi (Libtool and Windows): New section.
68041
68042 2006-07-12  Simon Josefsson  <jas@extundo.com>
68043
68044         * modules/gendocs (License): Fix license, approved by Karl.
68045
68046 2006-07-12  Eric Blake  <ebb9@byu.net>
68047
68048         * MODULES.html.sh: Add gendocs.
68049
68050 2006-07-11  Eric Blake  <ebb9@byu.net>
68051
68052         * modules/fdl: New module, to install doc/fdl.texi.
68053         * MODULES.html.sh: Add new section for documentation modules.
68054         * gnulib-tool: Avoid space-tab.
68055         (--doc-base): New option, to manage files from doc.
68056
68057 2006-07-11  Eric Blake  <ebb9@byu.net>
68058
68059         * m4/absolute-header.m4: Fix comments to match recent change.
68060
68061 2006-07-11  Eric Blake  <ebb9@byu.net>
68062
68063         * gnulib-tool: List --doc-base before --tests-base.
68064
68065 2006-07-11  Derek R. Price  <derek@ximbiot.com>
68066
68067         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
68068
68069 2006-07-11  Bruno Haible  <bruno@clisp.org>
68070
68071         * README: Mention where to put documentation.
68072
68073 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68074
68075         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
68076
68077 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
68078
68079         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
68080         to stdint.m4.
68081
68082 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
68083
68084         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
68085         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
68086         "no/such/file/stdint.h" when there is no such file, so that
68087         the resulting C code can be parsed by dodgy compilers.
68088         Problems reported by Bob Proulx.
68089
68090 2006-07-10  Derek R. Price  <derek@ximbiot.com>
68091
68092         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
68093         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
68094         macros into the GNU _D_EXACT_NAMLEN.
68095         * lib/savedir.c:  Likewise.
68096         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
68097
68098 2006-07-10  Derek R. Price  <derek@ximbiot.com>
68099         and Paul Eggert  <eggert@cs.ucla.edu>
68100
68101         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
68102         * m4/savedir.m4:
68103         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
68104         macros into the GNU _D_EXACT_NAMLEN.
68105
68106 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
68109         around the absolute name, to work around a problem with the HP-UX
68110         11.23 native C compiler, reported by Bob Proulx.
68111
68112 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68113
68114         * doc/maintain.texi, make-stds.texi: Sync from
68115         <http://savannah.gnu.org/projects/gnustandards>.
68116
68117 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
68120
68121 2006-07-09  Jim Meyering  <jim@meyering.net>
68122
68123         * m4/glob.m4: Remove a doubled word in a comment.
68124
68125 2006-07-09  Jim Meyering  <jim@meyering.net>
68126
68127         * lib/argp-pv.c: Remove a doubled word in a comment.
68128         * lib/check-version.c (check_version): Likewise.
68129         * lib/javacomp.c (compile_java_class): Likewise.
68130
68131 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
68132
68133         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
68134         for the benefit of people using Autoconf 2.60.  If you want to
68135         support older Autoconf versions you can copy m4/onceonly_2_57.m4
68136         (or m4/onceonly.m4, if pre-2.57) manually.
68137
68138 2006-07-08  Jim Meyering  <jim@meyering.net>
68139
68140         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
68141         comment.
68142         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
68143         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
68144         comment.
68145
68146 2006-07-08  Jim Meyering  <jim@meyering.net>
68147
68148         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
68149
68150 2006-07-07  Simon Josefsson  <jas@extundo.com>
68151
68152         * tests/test-crc.c: Change expected crc value, the test vector
68153         were probably computed using the old broken crc.c?
68154
68155 2006-07-06  Simon Josefsson  <jas@extundo.com>
68156
68157         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
68158         now the canonical place for the M4 file).
68159
68160         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
68161         from the sys_socket dependency now.
68162
68163         * modules/inet_pton (Files): Ditto.
68164
68165         * modules/inet_ntop (Files): Ditto.
68166
68167 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68168
68169         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
68170         not gl_PREREQ_GETUSERSHELL.
68171
68172 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68173
68174         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
68175         with only one argument, for Autoconf 2.60.
68176         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
68177         expand to nothing, so add a shell command to avoid syntax error.
68178         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
68179
68180 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68181
68182         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
68183
68184 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68185
68186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
68187         no longer needed.  Check for isblank decl.
68188         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
68189         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
68190         of existence.
68191
68192 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68193
68194         * lib/getloadavg.c: Use __VMS, not VMS.
68195         * lib/getopt.c: Likewise.
68196         * lib/getpagesize.h: Likewise.
68197         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
68198         and probably does not work.
68199
68200 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68201
68202         * lib/.cppi-disable: Add wcwidth.
68203         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
68204         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
68205         (ISGRAPH): Remove.  All uses changed to isgraph.
68206         (FOLD) [!defined _LIBC]: Remove special case.
68207         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
68208         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
68209         HAVE_ISBLANK.
68210         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
68211         case.
68212
68213 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
68214
68215         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
68216         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
68217         brackets.  Other minor changes to suppress some compiler
68218         warnings.
68219
68220 2006-07-06  Derek R. Price  <derek@ximbiot.com>
68221         and Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
68224         of invoking obsolescent AC_HEADER_DIRENT macro.
68225         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
68226         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
68227         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
68228         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
68229         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
68230         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
68231         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
68232         * m4/readdir.m4: Remove; no longer needed.
68233
68234 2006-07-06  Derek R. Price  <derek@ximbiot.com>
68235         and Paul Eggert  <eggert@cs.ucla.edu>
68236
68237         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
68238         Don't worry about this obsolete case any more.
68239         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
68240         directories.
68241         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
68242         worry about this obsolete case any more.
68243         * lib/fts.c: Likewise.
68244         * lib/getcwd.c: Likewise.
68245         * lib/glob.h: Likewise.
68246         * lib/savedir.c: Likewise.
68247
68248 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68249
68250         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
68251         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
68252         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
68253         needed.
68254         All uses removed.
68255         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68256         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
68257         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
68258         needed.
68259         * m4/getdate.m4 (gl_GETDATE): Likewise.
68260         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
68261         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
68262         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
68263         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68264         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
68265         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
68266         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
68267         needed.
68268
68269 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68270
68271         * lib/memcasecmp.c: Include <limits.h>.
68272         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
68273         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
68274         Don't assume isdigit succeeds only on '0' through '9'.
68275
68276 2006-07-05  Eric Blake  <ebb9@byu.net>
68277
68278         * modules/getaddrinfo (Depends-on): Add snprintf.
68279
68280 2006-07-05  Eric Blake  <ebb9@byu.net>
68281
68282         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
68283         to avoid 'header present but could not be compiled' on cygwin.
68284
68285 2006-07-05  Eric Blake  <ebb9@byu.net>
68286
68287         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
68288         missing from netdb.h.
68289         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
68290
68291 2006-07-05  Derek R. Price  <derek@ximbiot.com>
68292
68293         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
68294         no longer needed.
68295         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
68296         * m4/getdate.m4 (gl_GETDATE): Likewise.
68297         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
68298         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
68299         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
68300         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68301         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
68302
68303 2006-07-05  Derek R. Price  <derek@ximbiot.com>
68304
68305         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
68306         All uses of is_space replaced by isspace.
68307         * lib/exit.h: Don't talk about STDC_HEADERS.
68308         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
68309         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
68310         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
68311         replaced by isprint etc.
68312         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
68313         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
68314         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
68315         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
68316         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
68317         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
68318
68319 2006-07-05  Bruno Haible  <bruno@clisp.org>
68320
68321         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
68322         the function exists, before testing against AIX.
68323         Reported by Martin Lambers <marlam@marlam.de>.
68324
68325 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
68328         From Mark D. Baushke.
68329
68330 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
68331
68332         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
68333         to the absolute name, not just one, to bypass Sun C 5.8's
68334         "warning: #include of /usr/include/... may be non-portable".
68335
68336 2006-07-04  Eric Blake  <ebb9@byu.net>
68337
68338         * modules/dirname-tests: New test module.
68339         * tests/test-dirname.c: New file, replacing dirname.c
68340         TEST_DIRNAME section that was recently deleted.
68341
68342 2006-07-04  Bruno Haible  <bruno@clisp.org>
68343
68344         Assume ANSI C header files and <ctype.h> functions.
68345         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
68346         (mbsnwidth): Use isprint, iscntrl instead.
68347
68348 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68349
68350         Merge from coreutils.
68351         * MODULES.html.sh: Add xstrtold.
68352         * modules/xstrtold: New file.
68353         * modules/cycle-check (Files): Add lib/same-inode.h.
68354         * modules/dirname (Files): Add m4/double-slash-root.m4.
68355         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
68356         * modules/mkdir-p (Files): Add lib/same-inode.h.
68357         * modules/same (Files): Add lib/same-inode.h.
68358
68359 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68360
68361         * m4/absolute-header.m4: Renamed from full-header-path.m4.
68362         This is to keep the terminology clean; POSIX talks about
68363         "absolute pathnames", not "full pathnames", but the GNU
68364         Coding Standards say to use "path" for something else;
68365         so use "absolute" to keep both sides happy.
68366         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
68367         Set gl_absolute_header, not gl_full_header_path.
68368         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
68369         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
68370         All uses changed.
68371
68372         Merge from coreutils.
68373
68374         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
68377         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
68378         want to require the building of c-strtod.o.
68379         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
68380         needs -lm directly.
68381         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
68382
68383         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
68384
68385         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
68386         --as-needed option if available.  Problem reported by Albert Chin in
68387         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
68388         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
68389         cc merely issues a bunch of annoying warnings for --as-needed
68390         (this problem was reported by Bob Proulx).  Also, try linking with
68391         -lm to detect a bug in binutils 2.16 (this problem was reported
68392         by Ralf Wildenhues).
68393
68394         2006-06-18  Jim Meyering  <jim@meyering.net>
68395
68396         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
68397         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
68398         macro.
68399         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
68400         also check for glibc-2.4's abort-inducing bug.
68401
68402         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
68403         Low-probability clean-up should be to use rmdir to get rid of
68404         the just-created directory, not unlink.
68405
68406         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
68407         configure fail, and request a bug report to inform us about it.
68408         Add a comment that, barring reports to the contrary, in 2007 we'll
68409         assume ftruncate is universally available.
68410
68411         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
68412
68413         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
68414
68415         2006-03-12  Jim Meyering  <jim@meyering.net>
68416
68417         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
68418         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
68419         * m4/same.m4 (gl_SAME): Likewise.
68420         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
68421
68422         2006-03-11  Eric Blake  <ebb9@byu.net>
68423
68424         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
68425         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
68426         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
68427         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
68428
68429 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68430
68431         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
68432         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
68433         reported by Mark D. Baushke, one in
68434         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
68435
68436         Merge from coreutils.
68437
68438         * lib/.cppi-disable: Add stdint_.h.
68439         * lib/.cvsignore: Add stdint.h.
68440
68441         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
68442
68443         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
68444         both double and long double versions.
68445         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
68446         * lib/xstrtold.c: New file.
68447         * lib/xstrtod.h (xstrtold): New decl.
68448
68449         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
68450
68451         * lib/filemode.c (setst): Remove.
68452         (strmode): Rewrite to avoid setst.  This makes the code shorter,
68453         (arguably) clearer, and the generated code is a bit smaller on my
68454         Debian GNU/Linux stable x86 host.
68455
68456         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
68457
68458         * lib/filemode.c: Include "filemode.h" first, to test the interface.
68459         Assume that filemode.h includes sys/types.h and sys/stat.h.
68460         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
68461         (ftypelet): Reorder to put common cases first, for efficiency.
68462         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
68463         to do 'M'.
68464         (strmode): Renamed from mode_string, and now stores 12 bytes instead
68465         of 10, for compatibility with FreeBSD.  All callers changed.
68466         (filemodestring): Now stores 12 bytes instead of 10, and sets file
68467         types that can't be deduced solely from st_mode.  First arg is now a
68468         const pointer.
68469         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
68470         (strmode): Renamed from mode_string.
68471         (filemodestring): New decl.
68472         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
68473         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
68474         needed.
68475         (S_ISPORT, S_ISWHT): New macros, if not already defined.
68476
68477         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68478
68479         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
68480         fsusage.h now does that.  Include fsusage.h first, to test interface.
68481         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
68482         at most one method (the old code could have generated decls that
68483         didn't conform to C89, not that this was ever exercised).
68484         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
68485
68486         2006-03-19  Jim Meyering  <jim@meyering.net>
68487
68488         Work even in a chroot where d_ino values for entries in "/"
68489         don't match the stat.st_ino values for the same names.
68490         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
68491         number, iterate through all entries again, using lstat instead.
68492         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
68493         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
68494
68495         * lib/getcwd.c (__getcwd): Clarify a comment.
68496         Use memcpy in place of a call to strcpy.
68497
68498         2006-03-12  Jim Meyering  <jim@meyering.net>
68499
68500         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
68501         matches that of the current directory (which we're about to chdir ".."
68502         out of), then save the dev-ino of the parent, instead.
68503
68504         * lib/same-inode.h (SAME_INODE): New file/macro.
68505         * lib/chdir-safer.c (SAME_INODE): Remove definition.
68506         Include "same-inode.h", instead.
68507         * lib/same.c: Likewise.
68508         * lib/cycle-check.h: Include "same-inode.h".
68509         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
68510         * lib/cycle-check.c (SAME_INODE): Remove definition.
68511         * lib/root-dev-ino.h: Include "same-inode.h".
68512
68513         2006-03-11  Eric Blake  <ebb9@byu.net>
68514
68515         * lib/same.c (same_name): s/base_name/last_component/
68516         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
68517         * lib/filenamecat.c (file_name_concat): Likewise.
68518
68519         2006-03-11  Eric Blake  <ebb9@byu.net>,
68520                     Paul Eggert  <eggert@cs.ucla.edu>
68521
68522         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
68523         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
68524         drive prefix.
68525         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
68526         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
68527         (last_component): New method.
68528         * lib/dirname.c (dir_len): Determine when drive letters need a
68529         subsequent slash.  Preserve // when it is special.
68530         (dir_name): Don't append dot when drive letter is absolute.
68531         [TEST_DIRNAME]: Move into a full-blown gnulib test.
68532         * lib/basename.c (base_name): New semantics - malloc the result.
68533         Preserve // when it is special.  Preserve relative files that look
68534         like drive letters.
68535         (base_len): Preserve // when it is special.
68536         (last_component): New method, similar to old base_name semantics.
68537         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
68538         base_name.  Strip redundant slashes from ///.
68539
68540 2006-07-03  Jim Meyering  <jim@meyering.net>
68541
68542         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
68543         macro is used before the first cycle_check call.
68544
68545 2006-07-03  Eric Blake  <ebb9@byu.net>
68546
68547         * modules/dirname (Depends-on): Add xstrndup.
68548
68549 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68550
68551         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
68552         test cases, so that config.log is a bit easier to follow.
68553
68554 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68555
68556         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
68557         both are 64 bits, since this seems to be the tradition, and this
68558         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
68559         we ever run into a host that prefers long long to long in this
68560         case, we'll need another configure-time test.  Problem reported by
68561         Jim Meyering.
68562
68563 2006-07-02  Eric Blake  <ebb9@byu.net>
68564
68565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
68566
68567 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68568
68569         * modules/inttypes (Depends-on): No longer depends on stdint.
68570         * modules/stdint (Description): Say more about assumptions.
68571         Say that the fast types might differ.  Say macros are used.
68572         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
68573         (Makefile.am): Revise list of substituted symbols to match
68574         new stdint.m4.
68575         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
68576         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
68577         * tests/test-stdint.c (verify_same_types)
68578         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
68579         the code conforms to C99/C89.
68580         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
68581         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
68582
68583 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68584
68585         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
68586         but fix a bug, by requiring at least 64 bits.
68587         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
68588         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
68589         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
68590         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
68591
68592         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
68593         changes.  Make 2.59 a prerequisite.  Check and substitute for
68594         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
68595         inttypes.h.  Do not use special include files; just use the
68596         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
68597         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
68598         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
68599         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
68600         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
68601         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
68602         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
68603         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
68604         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
68605         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
68606         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
68607         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
68608         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
68609         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
68610         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
68611         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
68612         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
68613         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
68614         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
68615         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
68616         WINT_MAX.  Check for C99 conformance more strictly, by detecting
68617         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
68618         not check for things that C99 does not require, e.g., int8_t.  If
68619         a test isn't needed unless <stdint.h> isn't working, and is
68620         unlikely to be needed for any other reason, then don't do it
68621         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
68622         size_t, since we assume C89 freestanding at least.  Do not check
68623         for sig_atomic_t, wchar_t, or wint_t, since the code now does
68624         the right thing even if the types are not defined.  Instead use:
68625         (gl_STDINT_TYPE_PROPERTIES): New macro.
68626         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
68627         testing whether <sys/types.h> clashes, as Autoconf does this for
68628         us now.  All uses removed.
68629         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
68630         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
68631         (gl_CHECK_TYPE_SAME):
68632         Remove; no longer needed.
68633         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
68634         exists, since we'll return 0 anyway in that case.
68635         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
68636
68637 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
68640         possible collision with system files.
68641         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
68642         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
68643         WCHAR_MIN and WCHAR_MAX in this case.
68644         (<stddef.h>): Do not include; no longer needed.
68645         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
68646         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
68647         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
68648         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
68649         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
68650         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
68651         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
68652         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
68653         !defined(__c99))]: Include in this case too, since it's harmless
68654         now.
68655         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
68656         dangerous to do so.
68657         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
68658         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
68659         (_STDINT_MIN, _STDINT_MAX): New macros.
68660         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
68661         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
68662         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
68663         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
68664         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
68665         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
68666         macros, not typedefs; this simplifies things quite a bit.
68667         Use long int for all types narrower than int64_t.
68668         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
68669         Define in terms of long long int or int64_t or long int,
68670         not int64_t or int32_t.  This saves some compile-time testing.
68671         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
68672         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
68673         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
68674         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
68675         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
68676         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
68677         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
68678         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
68679         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
68680         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
68681         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
68682         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
68683         undef any previous version and define our own version, for
68684         simplicity and consistency with the new macros for types.
68685         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
68686         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
68687         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
68688         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
68689         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
68690         @WINT_T_SUFFIX@ to keep things simple here.
68691         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
68692         Simplify by assuming typical 8/16/32/64 host, since we're
68693         already doing that elsewhere anyway.
68694         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
68695         and assume long long int is 64 bits if available.  This
68696         speeds up 'configure'.
68697
68698 2006-07-01  Eric Blake  <ebb9@byu.net>
68699
68700         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
68701         Reported by Andreas Buening.
68702
68703 2006-07-01  Eric Blake  <ebb9@byu.net>
68704
68705         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
68706
68707 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
68708
68709         * lib/getaddrinfo.c: fixed typo
68710
68711 2006-06-29  Jim Meyering  <jim@meyering.net>
68712
68713         * modules/strftime (Maintainer): Add my name, since with the
68714         FPRINTFTIME changes strftime.c has forked from glibc.
68715
68716 2006-06-29  Eric Blake  <ebb9@byu.net>
68717
68718         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
68719
68720 2006-06-29  Eric Blake  <ebb9@byu.net>
68721
68722         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
68723
68724 2006-06-29  Eric Blake  <ebb9@byu.net>
68725
68726         * lib/stat_.h: New file.
68727
68728 2006-06-29  Eric Blake  <ebb9@byu.net>
68729
68730         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
68731         unused static function.
68732
68733 2006-06-29  Eric Blake  <ebb9@byu.net>
68734
68735         * doc/functions.texi (Function Portability): Document missing lstat
68736         on mingw.
68737
68738 2006-06-29  Eric Blake  <ebb9@byu.net>
68739
68740         * MODULES.html.sh: Add sys_stat.
68741         * modules/sys_stat: New module.
68742         * modules/mkstemp (Depends-on): Add sys_stat.
68743
68744 2006-06-29  Derek R. Price  <derek@ximbiot.com>
68745
68746         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
68747
68748 2006-06-29  Derek R. Price  <derek@ximbiot.com>
68749
68750         * m4/c-bs-a.m4: Removed.
68751
68752 2006-06-29  Derek R. Price  <derek@ximbiot.com>
68753
68754         * lib/strftime.c: Assume strftime() exists.
68755
68756 2006-06-29  Derek Price  <derek@ximbiot.com>
68757
68758         * modules/c-bs-a: Removed - \a is C89.
68759         * MODULES.html.sh: Remove c-bs-a.
68760
68761 2006-06-29  Bruno Haible  <bruno@clisp.org>
68762
68763         * modules/wcwidth (License): Change to LGPL.
68764
68765 2006-06-28  Simon Josefsson  <jas@extundo.com>
68766
68767         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
68768         on _WIN32.
68769
68770         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
68771         getnameinfo.
68772
68773 2006-06-28  Simon Josefsson  <jas@extundo.com>
68774
68775         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
68776
68777 2006-06-28  Simon Josefsson  <jas@extundo.com>
68778
68779         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
68780         functions there.  It will succeed on Windows XP, but on Windows
68781         2000 and (presumably) earlier, it will fail, and use the internal
68782         re-implementation.
68783         (use_win32_p): New function.
68784         (getaddrinfo): Use strtoul on servname, to support numeric ports.
68785         Support AI_NUMERICSERV to disable getservbyname.
68786         (getnameinfo): New function, only supports
68787         NI_NUMERICHOST|NI_NUMERICSERV for now.
68788
68789         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
68790         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
68791         getnameinfo.
68792
68793 2006-06-28  Eric Blake  <ebb9@byu.net>
68794
68795         * modules/wcwidth: New file.
68796         * modules/mbchar (Depends-on): Add wcwidth.
68797         * modules/mbswidth (Depends-on): Add wcwidth.
68798         * MODULES.html.sh: Add wcwidth.
68799
68800 2006-06-28  Eric Blake  <ebb9@byu.net>
68801
68802         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
68803         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
68804
68805 2006-06-28  Eric Blake  <ebb9@byu.net>
68806
68807         * lib/xvasprintf.h: Fix comments.
68808
68809 2006-06-28  Eric Blake  <ebb9@byu.net>
68810
68811         * lib/mbchar.h (wcwidth): Include wcwidth.h.
68812         * lib/mbswidth.c (wcwidth): Move from here...
68813         * lib/wcwidth.h: ...to this new file.
68814
68815 2006-06-28  Derek R. Price  <derek@ximbiot.com>
68816
68817         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
68818
68819         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
68820         it's obsolete.
68821         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
68822
68823 2006-06-28  Derek R. Price  <derek@ximbiot.com>
68824
68825         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
68826         Autoconf 2.60 says this stuff was obsolete.
68827
68828 2006-06-28  Bruno Haible  <bruno@clisp.org>
68829
68830         * modules/wcwidth (Files): Add m4/wchar_t.m4.
68831
68832 2006-06-28  Bruno Haible  <bruno@clisp.org>
68833
68834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
68835         gt_TYPE_WCHAR_T.
68836
68837 2006-06-28  Bruno Haible  <bruno@clisp.org>
68838
68839         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
68840         declaration for wcwidth.
68841         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
68842
68843 2006-06-28  Bruno Haible  <bruno@clisp.org>
68844
68845         * lib/mkdtemp.c [MINGW]: Include <io.h>.
68846         (mkdir): Define using _mkdir.
68847
68848 2006-06-28  Bruno Haible  <bruno@clisp.org>
68849
68850         * lib/getaddrinfo.h: Fix POSIX URL.
68851         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
68852         _WIN32.
68853         (use_win32_p): Make static.
68854         (getaddrinfo): Reject service name if it is empty or does not consist
68855         solely of decimal digits, or if its value is > 65535.
68856         (getnameinfo): Remove useless casts.
68857
68858 2006-06-27  Simon Josefsson  <jas@extundo.com>
68859
68860         * modules/sys_select: New file, suggested by Bruno Haible, Paul
68861         Eggert and Martin Lambers.
68862
68863 2006-06-27  Simon Josefsson  <jas@extundo.com>
68864
68865         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
68866         Eggert and Martin Lambers.
68867
68868 2006-06-27  Bruno Haible  <bruno@clisp.org>
68869
68870         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
68871         result to 0, not to empty.
68872         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
68873
68874 2006-06-27  Bruno Haible  <bruno@clisp.org>
68875
68876         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
68877
68878 2006-06-26  Simon Josefsson  <jas@extundo.com>
68879
68880         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
68881         present.
68882
68883 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
68884
68885         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
68886         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
68887         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
68888
68889 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
68890
68891         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
68892
68893 2006-06-26  Bruno Haible  <bruno@clisp.org>
68894
68895         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
68896
68897 2006-06-26  Bruno Haible  <bruno@clisp.org>
68898
68899         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
68900
68901 2006-06-26  Bruno Haible  <bruno@clisp.org>
68902
68903         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
68904         SGI C compiler in pre-C99 mode.
68905         Suggested by Mark D. Baushke and Larry Jones.
68906
68907 2006-06-26  Bruno Haible  <bruno@clisp.org>
68908
68909         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
68910         WCHAR_MAX.
68911         Reported by Mark D. Baushke and Larry Jones.
68912
68913 2006-06-26  Bruno Haible  <bruno@clisp.org>
68914
68915         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
68916         in pre-C99 mode.
68917         Suggested by Mark D. Baushke and Larry Jones.
68918
68919 2006-06-23  Simon Josefsson  <jas@extundo.com>
68920             Bruno Haible  <bruno@clisp.org>
68921
68922         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
68923         Emit mostlyclean-local rule.
68924         (func_emit_tests_Makefile_am): Likewise.
68925         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
68926
68927 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
68928
68929         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
68930
68931 2006-06-23  Bruno Haible  <bruno@clisp.org>
68932
68933         * tests/test-stdint.c: Update to match ISO C 99 Technical
68934         Corrigendum 1.
68935
68936 2006-06-23  Bruno Haible  <bruno@clisp.org>
68937
68938         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
68939
68940 2006-06-23  Bruno Haible  <bruno@clisp.org>
68941
68942         * lib/stdint_.h: Treat IRIX like OpenBSD.
68943
68944 2006-06-23  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
68947         ISO C 99 Technical Corrigendum 1.
68948
68949 2006-06-22  Simon Josefsson  <jas@extundo.com>
68950
68951         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
68952         MinGW.
68953
68954 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68955
68956         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
68957         needed.  Some compiler complained about some of them.  Problem reported
68958         by Larry Jones in
68959         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
68960
68961 2006-06-21  Simon Josefsson  <jas@extundo.com>
68962
68963         * tests/test-getaddrinfo.c: New file.
68964
68965         * modules/getaddrinfo-tests: New file.
68966
68967         * MODULES.html.sh: Add inet_pton.
68968
68969         * modules/inet_pton: New file.
68970
68971 2006-06-21  Simon Josefsson  <jas@extundo.com>
68972
68973         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
68974         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
68975         of using the (limited) gnulib implementation on Windows XP.
68976
68977         * m4/inet_pton.m4: New file.
68978
68979 2006-06-21  Simon Josefsson  <jas@extundo.com>
68980
68981         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
68982         variable.
68983
68984         * lib/socket_.h: Don't define WINVER.
68985
68986         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
68987         slightly modified to work in gnulib.
68988
68989 2006-06-21  Simon Josefsson  <jas@extundo.com>
68990
68991         * doc/gnulib.texi (Windows sockets): Add.
68992
68993 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68994
68995         * lib/read-file.c (fread_file): Start with buffer allocation of
68996         0 bytes rather than 1 byte; this simplifies the code.
68997         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
68998         code to free buffer and save/restore errno.
68999         (internal_read_file): Remove unused local.
69000
69001 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
69002
69003         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
69004         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
69005         Problem reported by Denis Excoffier in
69006         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
69007
69008 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69009
69010         * modules/sys_socket, modules/socklen: Include sys/types since
69011         FreeBSD 4.x's sys/socket.h needs it.
69012
69013 2006-06-19  Simon Josefsson  <jas@extundo.com>
69014
69015         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
69016
69017 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
69018
69019         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
69020
69021 2006-06-19  Bruno Haible  <bruno@clisp.org>
69022
69023         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
69024         and FULL_PATH_INTTYPES_H in angle brackets.
69025         Reported by Mark D. Baushke <mdb@gnu.org>.
69026
69027 2006-06-17  Eric Blake  <ebb9@byu.net>
69028
69029         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
69030         errno.
69031
69032 2006-06-17  Bruno Haible  <bruno@clisp.org>
69033
69034         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
69035         <sys/inttypes.h>.
69036
69037 2006-06-17  Bruno Haible  <bruno@clisp.org>
69038
69039         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
69040         whether errno is declared. Assume <errno.h> declares errno.
69041
69042 2006-06-17  Bruno Haible  <bruno@clisp.org>
69043
69044         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
69045
69046 2006-06-17  Bruno Haible  <bruno@clisp.org>
69047
69048         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
69049         problem on Solaris 2.5.1.
69050
69051 2006-06-16  Eric Blake  <ebb9@byu.net>
69052
69053         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
69054         * lib/unicodeio.c [!defined errno]: Likewise.
69055         * lib/strtol.c [!defined errno]: Likewise.
69056         * lib/strtod.c [!defined errno]: Likewise.
69057
69058 2006-06-15  Eric Blake  <ebb9@byu.net>
69059
69060         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
69061
69062 2006-06-15  Eric Blake  <ebb9@byu.net>
69063
69064         * config/srclist.txt (ssize_t.m4): Lose sync.
69065
69066 2006-06-15  Bruno Haible  <bruno@clisp.org>
69067
69068         * modules/stdint (Files): Include m4/full-header-path.m4,
69069         m4/size_max.m4, m4/wchar_t.m4.
69070         (Makefile.am): Many more substitutions.
69071         * modules/stdint-tests: New file.
69072         * tests/test-stdint.c: New file.
69073
69074 2006-06-15  Bruno Haible  <bruno@clisp.org>
69075
69076         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
69077         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
69078         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
69079         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
69080         gl_CHECK_TYPE_SAME): New macros.
69081
69082 2006-06-15  Bruno Haible  <bruno@clisp.org>
69083
69084         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
69085
69086 2006-06-15  Bruno Haible  <bruno@clisp.org>
69087
69088         * lib/stdint_.h: Rewritten to be fully auto-configured.
69089         Fixes bug on HP-UX/IA64.
69090
69091 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
69092
69093         * lib/getdate.y (__attribute__): Don't define if already defined.
69094         Problem reported by Larry Jones.
69095         * lib/utimens.c (__attribute__): Likewise.
69096
69097 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
69098
69099         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
69100         reported by Andreas Schwab.
69101
69102 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69103             Bruno Haible  <bruno@clisp.org>
69104
69105         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
69106         check for the declaration of strnlen and a run test that exposes the
69107         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
69108         rpl_strndup.
69109
69110 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69111             Bruno Haible  <bruno@clisp.org>
69112
69113         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
69114
69115 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69116
69117         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
69118         compile test, for Tru64 4.0D.
69119
69120 2006-05-28  Karl Berry  <karl@gnu.org>
69121
69122         * config/srclist.txt (printf-args.c): lose sync.
69123
69124 2006-05-26  Martin Lambers  <marlam@marlam.de>
69125
69126         * lib/getpass.c: Updates the test for the native W32 API, and adds
69127         missing includes, thus fixing compilation warnings.
69128
69129 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
69130
69131         * lib/exclude.c (exclude_fnmatch): New function.
69132         (excluded_file_name): Call exclude_fnmatch.
69133         * lib/exclude.h (excluded_file_name): New prototype
69134
69135 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
69136
69137         * lib/tempname.c (small_open, large_open): New macros.
69138         (__open, __open64) [!_LIBC]: Remove.
69139         (__gen_tempname): Use small_open and large_open instead of __open
69140         and __open64.  This fixes a portability bug on HP-UX 11.11i
69141         reported by Simon Wing-Tang in
69142         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
69143
69144 2006-05-24  Bruno Haible  <bruno@clisp.org>
69145
69146         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
69147         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
69148         Reported by Thorsten Maerz <torte@netztorte.de> via
69149         Aaron Stone <aaron@serendipity.cx>.
69150
69151 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69152
69153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
69154         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
69155         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
69156         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
69157         not really conditional on the cache.
69158         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
69159
69160 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69161
69162         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
69163         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
69164         (my_usleep): Don't mishandle maximum value.
69165
69166 2006-05-19  Jim Meyering  <jim@meyering.net>
69167
69168         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
69169
69170 2006-05-17  Bruno Haible  <bruno@clisp.org>
69171
69172         Cygwin portability.
69173         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
69174
69175 2006-05-17  Bruno Haible  <bruno@clisp.org>
69176
69177         * lib/stdint_.h: Fix recognition of Cygwin.
69178
69179 2006-05-15  Bruno Haible  <bruno@clisp.org>
69180
69181         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
69182         on libtool patch by Ralf Wildenhues.
69183
69184 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69185
69186         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
69187         test for C99 conformance; (bool) 0.5 is an integer constant
69188         expression, but (bool) -0.5 is not.  Problem reported by Fedor
69189         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
69190
69191 2006-05-11  Simon Josefsson  <jas@extundo.com>
69192
69193         * m4/xvasprintf.m4: Fix obvious typo.
69194
69195 2006-05-11  Jim Meyering  <jim@meyering.net>
69196
69197         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
69198         James Lemley.
69199
69200 2006-05-10  Simon Josefsson  <jas@extundo.com>
69201
69202         * lib/md4.c: Typo fix, update copyright years.
69203         (K1, K2): Don't use L because it turn computations into 64-bit on
69204         64-bit platforms.
69205
69206 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
69209         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
69210         unwanted sign propagation, e.g., on hosts with 64-bit int.
69211         There still are some problems with reeelly weird theoretical hosts
69212         (e.g., 33-bit int) but it's not worth worrying about now.
69213         * lib/sha1.c (rol): Likewise.
69214         (K1, K2, K3, K4): Remove unnecessary L suffix.
69215
69216 2006-05-10  Bruno Haible  <bruno@clisp.org>
69217
69218         * lib/des.c: Cast to avoid warnings.
69219
69220 2006-05-09  Bruno Haible  <bruno@clisp.org>
69221
69222         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
69223         (Depends-on): Depend also on xsize, stdarg.
69224         (configure.ac): Add gl_XVASPRINTF.
69225
69226 2006-05-09  Bruno Haible  <bruno@clisp.org>
69227
69228         * m4/xvasprintf.m4: New file.
69229
69230 2006-05-09  Bruno Haible  <bruno@clisp.org>
69231
69232         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
69233         (EOVERFLOW): Define fallback value.
69234         (xstrcat): New function.
69235         (xvasprintf): Recognize the special case of a string concatenation.
69236
69237 2006-05-08  Eric Blake  <ebb9@byu.net>
69238
69239         * gnulib-tool (func_version): Base copyright year on CVS date.
69240         (func_emit_copyright_notice): New function.
69241         (func_emit_lib_Makefile_am): Use it.
69242         (func_emit_tests_Makefile_am): Likewise.
69243         (func_import): Likewise.
69244
69245 2006-05-08  Bruno Haible  <bruno@clisp.org>
69246
69247         * modules/stdarg: New file.
69248         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
69249
69250 2006-05-08  Bruno Haible  <bruno@clisp.org>
69251
69252         * m4/stdarg.m4: New file, from GNU gettext.
69253
69254 2006-05-08  Bruno Haible  <bruno@clisp.org>
69255
69256         * config/srclist.txt (build-aux/config.rpath): different from latest
69257         release.
69258
69259 2006-05-08  Bruno Haible  <bruno@clisp.org>
69260
69261         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
69262
69263 2006-05-05  Jim Meyering  <jim@meyering.net>
69264
69265         * m4/warning.m4: New file, derived from bison's file by the same name.
69266
69267 2006-05-03  Bruno Haible  <bruno@clisp.org>
69268
69269         * lib/stdint_.h: Shorter URL.
69270         * lib/inttypes.h: Likewise.
69271
69272 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69273
69274         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
69275
69276 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69277
69278         * lib/verify.h: Document the internals better.  Most of this change
69279         was written by Bruno Haible.
69280
69281 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69282
69283         * doc/verify.texi: New file, partly based on a proposal by
69284         Bruno Haible.
69285
69286 2006-05-02  Bruno Haible  <bruno@clisp.org>
69287
69288         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
69289         test from here...
69290         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
69291
69292 2006-04-29  Bruno Haible  <bruno@clisp.org>
69293
69294         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
69295         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
69296
69297 2006-04-29  Bruno Haible  <bruno@clisp.org>
69298
69299         * gnulib-tool: Make --update option actually work.
69300
69301 2006-04-29  Bruno Haible  <bruno@clisp.org>
69302
69303         * doc/gcd.texi: New file.
69304         * doc/gnulib.texi: Include it.
69305
69306 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
69307
69308         * lib/getdate.y (get_date): When adding relative date, start with the
69309         initial time, not with the result of the first mktime call.
69310
69311 2006-04-25  Bruno Haible  <bruno@clisp.org>
69312
69313         * gnulib-tool (func_import): Output the include directives in three
69314         blocks, sorted separately.
69315         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69316
69317 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
69318
69319         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
69320         to define main with arguments, for C++.  Reported by Eric Blake.
69321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
69322         Prefer 'int main ()' to 'int main (void)', for C++.
69323         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
69324         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
69325         for 'main', for C99 and C++.
69326
69327 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
69328
69329         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
69330         Don't assume that exit status -1 is valid.
69331         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69332         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
69333         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
69334         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
69335         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
69336         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
69337         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
69338         functions can be used without declaring them, or that you can
69339         exit with status -1.
69340         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
69341
69342 2006-04-24  Karl Berry  <karl@gnu.org>
69343
69344         * config/srclist.txt (longdouble.m4): sync lost.
69345
69346 2006-04-24  Eric Blake  <ebb9@byu.net>
69347
69348         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
69349
69350 2006-04-24  Bruno Haible  <bruno@clisp.org>
69351
69352         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
69353         poll() implementation in AIX.
69354         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69355
69356 2006-04-24  Bruno Haible  <bruno@clisp.org>
69357
69358         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
69359         assigned exactly once.
69360
69361 2006-04-23  Claudio Fontana  <claudio@gnu.org>
69362             Bruno Haible  <bruno@clisp.org>
69363
69364         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
69365         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
69366         for AM_CPPFLAGS.
69367
69368 2006-04-23  Bruno Haible  <bruno@clisp.org>
69369
69370         * modules/copy-file: Depend on unistd.
69371         * modules/execute: Likewise.
69372         * modules/fatal-signal: Likewise.
69373         * modules/findprog: Likewise.
69374         * modules/mkdtemp : Likewise.
69375         * modules/pipe: Likewise.
69376         * modules/wait-process: Likewise.
69377
69378 2006-04-23  Bruno Haible  <bruno@clisp.org>
69379
69380         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
69381         condition was already detected.
69382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69383
69384 2006-04-23  Bruno Haible  <bruno@clisp.org>
69385
69386         * lib/copy-file.c: Include <unistd.h> unconditionally.
69387         * lib/execute.c: Likewise.
69388         * lib/fatal-signal.c: Likewise.
69389         * lib/findprog.c: Likewise.
69390         * lib/mkdtemp.c: Likewise.
69391         * lib/pipe.h: Likewise.
69392         * lib/pipe.c: Likewise.
69393         * lib/wait-process.h: Likewise.
69394
69395 2006-04-23  Bruno Haible  <bruno@clisp.org>
69396
69397         * gnulib-tool (func_usage): Fix --import description. Document
69398         --update.
69399         (func_import): Create temporary file in a temporary directory, if
69400         --dry-run is specified. Silence errors from 'grep' when there are no
69401         m4 files in $m4dir.
69402         (func_create_testdir): Silence errors from 'grep' when there are no
69403         m4 files in $m4dir.
69404         Reported by Karl Berry <karl@freefriends.org>.
69405
69406 2006-04-20  Bruno Haible  <bruno@clisp.org>
69407
69408         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
69409         one argument, so that the code will be portable to Autoconf 2.60.
69410         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
69411         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
69412         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
69413
69414 2006-04-19  Derek Price  <derek@ximbiot.com>
69415             Eric Blake  <ebb9@byu.net>
69416
69417         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
69418         rather than "/full/path.h".  Update comment to match.  Shorten &
69419         generalize m4_translit call via AS_TR_CPP.
69420
69421 2006-04-19  Derek Price  <derek@ximbiot.com>
69422             Eric Blake  <ebb9@byu.net>
69423
69424         * lib/inttypes.h: Correct grammar in comment.
69425
69426 2006-04-18  Derek Price  <derek@ximbiot.com>
69427             Paul Eggert  <eggert@cs.ucla.edu>
69428
69429         * modules/inttypes: New file.
69430         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
69431
69432 2006-04-18  Derek Price  <derek@ximbiot.com>
69433             Paul Eggert  <eggert@cs.ucla.edu>
69434
69435         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
69436         New files.
69437
69438 2006-04-18  Derek Price  <derek@ximbiot.com>
69439             Paul Eggert  <eggert@cs.ucla.edu>
69440
69441         * lib/inttypes.h: New file.
69442         * lib/strtoimax.c: Assume <inttypes.h>.
69443
69444 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
69445
69446         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
69447         isn't mounted.  Problem reported by Kir Kolyshkin.
69448
69449 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69450
69451         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
69452         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
69453         Derek R. Price.
69454         * lib/regex.h (RE_DUP_MAX): Update comment to match current
69455         implementation.
69456
69457 2006-04-12  Eric Blake  <ebb9@byu.net>
69458
69459         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
69460         is now done automatically by the corresponding Autoconf macro.
69461
69462 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
69463
69464         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
69465         time_r.h.
69466
69467 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
69468
69469         Merge regex changes from libc, removing some of our
69470         POSIX-conformance changes that were rejected and redoing them in a
69471         less-intrusive way.
69472
69473         * lib/regcomp.c (re_compile_internal, init_dfa):
69474         Length arg is now size_t, not Idx.  All uses changed.
69475         (peek_token): Forward decl now says internal_function.
69476         (__re_error_msgid, __re_error_msgid_idx):
69477         Now static rather than extern with attribute_hidden.
69478         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
69479         For some reason libc prefers K&R style defns for external functions.
69480         (regerror) [!defined _LIBC]: Likewise.
69481         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
69482         (seek_collating_symbol_entry, lookup_collation_sequence_value):
69483         (build_range_exp, build_collating_symbol):
69484         Use K&R-style defn.
69485         (re_compile_fastmap): Use '\0' to memset, not 0.
69486         (utf8_sb_map): Make the calculations more obvious.
69487         (init_dfa, parse_bracket_exp, build_charclass_op):
69488         Call calloc and cast result, as glibc does.
69489         (init_word_char, fetch_token, peek_token, peek_token_bracket):
69490         (build_range_exp, build_collating_symbol):
69491         Now internal functions.
69492
69493         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
69494
69495         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
69496         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
69497         Don't depend on VMS; depend on __VMS instead, for POSIX
69498         namespace cleanness.
69499         (regoff_t): Define to ssize_t, not long int.
69500
69501         Remove the REG_ macros named below.  Instead, make the old names
69502         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
69503         __USE_GNU_REGEX.
69504         (REG_BACKSLASH_ESCAPE_IN_LISTS):
69505         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
69506         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
69507         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
69508         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
69509         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
69510         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
69511         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
69512         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
69513         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
69514         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
69515         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
69516         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
69517         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
69518         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
69519         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
69520         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
69521         (REG_NREGS):
69522         Remove.  All uses replaced by the old RE_* names.
69523         (RE_BACKSLASH_ESCAPE_IN_LISTS):
69524         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
69525         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
69526         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
69527         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
69528         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
69529         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
69530         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
69531         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
69532         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
69533         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
69534         Don't bother having these macros be independent of each others'
69535         values, since they no longer exist in the POSIX name space.
69536
69537         Rename the following member names back to their old names,
69538         unless !__USE_GNU_REGEX.  All uses changed back.
69539         (buffer): Renamed from re_buffer.
69540         (allocated): Renamed from re_allocated.
69541         (used): Renamed from re_used.
69542         (syntax): Renamed from re_syntax.
69543         (fastmap): Renamed from re_fastmap.
69544         (translate): Renamed from re_translate.
69545         (can_be_null): Renamed from re_can_be_null.
69546         (regs_allocated): Renamed from re_regs_allocated.
69547         (fastmap_accurate): Renamed from re_fastmap_accurate.
69548         (no_sub): Renamed from re_no_sub.
69549         (not_bol): Renamed from re_not_bol.
69550         (not_eol): Renamed from re_not_eol.
69551         (newline_anchor): Renamed from re_newline_anchor.
69552         (num_regs): Renamed from rm_num_regs.
69553         (start): Renamed from rm_start.
69554         (end): Renamed from rm_end.
69555
69556         (free_state): Move up a bit.
69557
69558         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
69559         #define to be empty.
69560         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
69561         when that is what is intended.
69562         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
69563         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
69564         (MAX): New macro.
69565         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
69566         All uses changed back to re_malloc, etc.  It's now the caller's
69567         responsibility to check for overflow; all callers changed.
69568         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
69569         (re_x2nrealloc): Remove.
69570         (free_state): Remove decl.
69571
69572         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
69573         (re_set_registers, re_exec):
69574         Use K&R-style defn.
69575
69576         2006-01-31  Roland McGrath  <roland@redhat.com>
69577
69578         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
69579         Reported by Mike Frysinger <vapier@gentoo.org>.
69580
69581         2006-01-15  Andreas Jaeger  <aj@suse.de>
69582
69583         [BZ #1950]
69584         * lib/regex_internal.c (re_string_reconstruct): Adjust for
69585         build_wcs_upper_buffer change.
69586         (build_wcs_upper_buffer): Change return type.
69587
69588         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
69589
69590         * lib/regex_internal.h: Include <stdint.h> if available.
69591
69592         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
69593
69594         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
69595
69596         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
69597
69598         * lib/regcomp.c: Adjust for changed secondary hash function.
69599
69600         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
69601
69602         * lib/regex.h: Pretty printing.
69603         Clean up namespace a bit.
69604
69605         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
69606
69607         * lib/regexec.c (update_cur_sifted_state, check_arrival,
69608         check_arrival_add_next_nodes): Avoid using uninitialized variable.
69609
69610         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
69611                     Ulrich Drepper  <drepper@redhat.com>
69612
69613         [BZ #1302]
69614         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
69615         changed.
69616         (bitset_word_t): Renamed from bitset_word.  All uses changed.
69617
69618         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
69619
69620         [BZ #281]
69621         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
69622         * lib/regcomp.c: Remove unnecessary uses of
69623         unsigned RE_TRANSLATE_TYPE.
69624         * lib/regex_internal.h: Likewise.
69625         * lib/regex_internal.c: Likewise.
69626         * lib/regexec.c: Likewise.
69627         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
69628
69629         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
69630
69631         * lib/regexec.c (find_recover_state): Remove unnecessary
69632         initialization.
69633         (transit_state_bkref): Make DFA a const pointer.
69634         (get_subexp): Likewise.
69635         (check_arrival): Likewise.
69636         (update_cur_sifted_state): Likewise.
69637         (re_search_internal): Likewise.
69638         (prune_impossible_nodes): Likewise.
69639         (acquire_init_state_context): Likewise.
69640         (proceed_next_node): Likewise.
69641         (set_regs): Likewise.
69642         (free_fail_stack_return): Likewise.
69643         (check_arrival_expand_ecl): Mark DFA parameter as const.
69644         (check_arrival_expand_ecl_sub): Likewise.
69645         (check_subexp_limits): Likewise.
69646         (sub_epsilon_src_nodes):  Likewise.
69647         (add_epsilon_src_nodes):  Likewise.
69648         (merge_state_array): Likewise.
69649         (update_regs): Likewise.
69650         (build_trtable): Likewise.
69651         (sift_states_backward): Mark MCTX parameter as const.
69652         (build_sifted_states): Likewise.
69653         (update_cur_sifted_state): Likewise.
69654         (sift_states_mkref): Likewise.
69655         (check_arrival_expand_ecl): Mark eclosure as const.
69656         (check_dst_limits_calc_pos_1): Likewise.
69657         * lib/regex_internal.h (re_match_context_t): Make dfa a const
69658         pointer.
69659
69660         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
69661
69662         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
69663         (transit_state_sb): Likewise.
69664         (transit_state_mb): Likewise.
69665         (sift_states_iter_mb): Likewise.
69666         (check_arrival_add_next_nodes): Likewise.
69667         (check_node_accept_bytes): Change first parameter to pointer-to-const.
69668         [_LIBC] (re_search_2_stub): Use mempcpy.
69669
69670         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
69671         mbrtowc for very simple UTF-8 case.
69672
69673         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
69674         a pointer-to-const.
69675         (re_acquire_state_context): Likewise.
69676         * lib/regex_internal.h: Adjust prototypes.
69677
69678         * lib/regex.c: Prevent using C++ compilers.
69679
69680         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
69681         (re_acquire_state_context): Likewise.
69682
69683 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
69684
69685         * modules/regex (Depends-on): Add ssize_t.
69686
69687 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
69688
69689         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
69690         translation table.
69691
69692 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
69693
69694         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
69695
69696 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
69697             Bruno Haible  <bruno@clisp.org>
69698
69699         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
69700         <sys/types.h> and <inttypes.h>.
69701
69702 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69703
69704         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
69705         `__error_t_defined', so argp.h will not typedef the former.
69706
69707 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
69708
69709         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
69710         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
69711         glibc names.  Even if glibc is changed to conform to POSIX, the
69712         traditional names will be available anyway, since regex depends on
69713         the extensions module.  Also, fix a longstanding typo in the
69714         implementation of Spencer ERE test #75 from grep 2.3.  Problems
69715         reported by Emanuele Giaquinta.  Also, change sense of cached
69716         variable, so that the message makes sense.
69717
69718 2006-03-24  Simon Josefsson  <jas@extundo.com>
69719
69720         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
69721         including some doc fixes.
69722         (base64_encode_alloc): Fix +1 bug on allocation failures.
69723
69724 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69725
69726         * lib/base64.c (base64_encode): Do not read past end of array with
69727         unsanitized input on systems with CHAR_BIT > 8.
69728
69729 2006-03-24  Eric Blake  <ebb9@byu.net>
69730
69731         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
69732
69733 2006-03-22  Karl Berry  <karl@gnu.org>
69734
69735         * config/srclist.txt (*setenv.[ch]): get from coreutils.
69736         * config/srclistvars.sh (COREUTILS): new var.
69737
69738 2006-03-17  Jim Meyering  <jim@meyering.net>
69739
69740         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
69741         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
69742
69743 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
69744
69745         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
69746         no longer needs it.  Instead, check that regoff_t is as least
69747         as wide as ptrdiff_t.
69748
69749         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
69750         so that our regex.h stays compatible with the installed regex.
69751         This is helpful for installers who configure --without-included-regex.
69752         Problem reported by Emanuele Giaquinta.
69753
69754 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
69755
69756         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
69757         Typedef to long int, not to off_, as POSIX will likely change
69758         in that direction.
69759
69760 2006-03-15  Eric Blake  <ebb9@byu.net>
69761
69762         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
69763
69764 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
69765
69766         * lib/argp-help.c (validate_uparams): Fix typo
69767         * lib/argp-parse.c (argp_default_options): Consistently begin help
69768         messages with a lowercase letter.
69769
69770 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
69771
69772         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
69773         overrun buffers and shouldn't be used (much as gets shouldn't be
69774         used).
69775         * lib/time_r.c (asctime_r, ctime_r): Likewise.
69776
69777 2006-03-08  Simon Josefsson  <jas@extundo.com>
69778
69779         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
69780         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69781
69782 2006-03-08  Simon Josefsson  <jas@extundo.com>
69783
69784         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
69785         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69786
69787 2006-03-08  Simon Josefsson  <jas@extundo.com>
69788
69789         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
69790         signal that configure disabled the device.
69791
69792 2006-03-08  Simon Josefsson  <jas@extundo.com>
69793
69794         * build-aux/maint.mk: Fix refresh-po, to handle no translated
69795         languages.
69796
69797 2006-03-07  Simon Josefsson  <jas@extundo.com>
69798
69799         * modules/getopt (Depends-on): Add unistd.
69800
69801         * modules/unistd: New file.
69802
69803 2006-03-07  Simon Josefsson  <jas@extundo.com>
69804
69805         * modules/gc-random: New file.
69806
69807 2006-03-07  Simon Josefsson  <jas@extundo.com>
69808
69809         * m4/unistd_h.m4: New file.
69810
69811 2006-03-07  Simon Josefsson  <jas@extundo.com>
69812
69813         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
69814         test to be side-effect free by storing the result in the cache
69815         variable gl_cv_lib_readline, and moving the assignment of
69816         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
69817         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69818
69819 2006-03-07  Simon Josefsson  <jas@extundo.com>
69820
69821         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
69822         error on missing devices (the functions will return an error).
69823
69824         * m4/gc.m4: Move random stuff to gc-random.m4
69825
69826 2006-03-07  Simon Josefsson  <jas@extundo.com>
69827
69828         * lib/unistd_.h: New file.
69829
69830 2006-03-07  Simon Josefsson  <jas@extundo.com>
69831
69832         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
69833
69834 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69835
69836         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
69837         Problem reported by Juan Manuel Guerrero.
69838
69839 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69840
69841         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
69842         the unistd module.
69843         * lib/getlogin_r.c: Likewise.
69844         * lib/getlogin_r.h: Likewise.
69845         * lib/glob.c: Likewise.
69846         * lib/pagealign_alloc.c: Likewise.
69847         * lib/unistd_.h: Remove; no longer needed.
69848
69849 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69850
69851         * MODULES.html.sh (Support for systems lacking POSIX:2001):
69852         Add unistd.
69853         * modules/c-stack (Depends-on): Add unistd.
69854         * modules/getlogin_r: Likewise.
69855         * modules/glob: Likewise.
69856         * modules/pagealign_alloc: Likewise.
69857         * modules/unistd (Files): Remove lib/unistd_.h.
69858         (EXTRA_DIST): Remove.
69859         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
69860         need unistd_.h.
69861         (MOSTLYCLEANFILES): Remove unistd.h-t.
69862
69863 2006-03-03  Simon Josefsson  <jas@extundo.com>
69864
69865         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
69866
69867 2006-03-03  Simon Josefsson  <jas@extundo.com>
69868
69869         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
69870         libidn and bison.
69871
69872 2006-03-03  Simon Josefsson  <jas@extundo.com>
69873
69874         * build-aux/maint.mk: Add indent target.
69875
69876 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
69877
69878         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
69879         our replacement poll.h in any case, to avoid a differing
69880         declaration from a system header.  Seen on AIX.
69881
69882 2006-03-01  Simon Josefsson  <jas@extundo.com>
69883
69884         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
69885         <kasal@ucw.cz>.
69886
69887 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69888
69889         * modules/gettime (Depends-on): Add extensions module.
69890         * modules/nanosleep (Depends-on): Likewise.
69891         * modules/settime (Depends-on): Likewise.
69892
69893 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69894
69895         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
69896         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
69897         pedantically.
69898         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69899         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
69900
69901         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
69902         not "==".  Reported by Ralf Wildenhues.
69903
69904 2006-03-01  Karl Berry  <karl@gnu.org>
69905
69906         * doc/Copyright/request-*: new files, synced from gnuorg.
69907
69908 2006-03-01  Karl Berry  <karl@gnu.org>
69909
69910         * config/srclist.txt (Copyright/*): new entries.
69911
69912 2006-02-28  Simon Josefsson  <jas@extundo.com>
69913
69914         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
69915
69916 2006-02-27  Simon Josefsson  <jas@extundo.com>
69917
69918         * lib/base64.h: Indent #define's.  From Jim Meyering
69919         <jim@meyering.net>.
69920
69921 2006-02-27  Jim Meyering  <jim@meyering.net>
69922
69923         Revert the change of 2006-02-24, so these files can continue
69924         to be sync'd from gettext.
69925         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
69926         of `config.h'.
69927
69928 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
69929
69930         * modules/intprops: New file.
69931         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69932         Add intprops.
69933         * modules/getloadavg (Files): Remove lib/intprops.h.
69934         (Depends-on): Add intprops.
69935         * modules/human: Likewise.
69936         * modules/inttostr: Likewise.
69937         * modules/openat: Likewise.
69938         * modules/sig2str: Likewise.
69939         * modules/userspec: Likewise.
69940         * modules/utimecmp: Likewise.
69941         * modules/xnanosleep: Likewise.
69942         * modules/xstrtol: Likewise.
69943
69944 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
69945
69946         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
69947         * modules/lock-tests (TESTS): Use $(EXEEXT).
69948         * modules/tls-tests: Likewise.
69949         * modules/argp-tests: Likewise.
69950         (check_PROGRAMS): New var, replacing...
69951         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
69952
69953 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69954
69955         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
69956         `config.h'.
69957
69958 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69959
69960         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
69961
69962 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69963
69964         Sync from coreutils.
69965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
69966         gl_CHDIR_SAFER.
69967
69968 2006-02-22  Jim Meyering  <jim@meyering.net>
69969
69970         Sync from coreutils.
69971         * m4/chdir-safer.m4: New file.
69972
69973 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69974
69975         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
69976         AT_FDCWD exceeds INT_MAX.
69977         * lib/openat.h (AT_FDCWD): Likewise.
69978
69979 2006-02-17  Eric Blake  <address@hidden>
69980
69981         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
69982
69983 2006-02-16  Simon Josefsson  <jas@extundo.com>
69984
69985         * modules/getaddrinfo (Depends-on): Add sys_socket.
69986
69987 2006-02-15  Simon Josefsson  <jas@extundo.com>
69988
69989         * build-aux/maint.mk: Add dsyntax-check rule.
69990
69991 2006-02-15  Eric Blake  <ebb9@byu.net>
69992
69993         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
69994         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
69995         'present but cannot compile' warnings on cygwin.
69996         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
69997         use ws2tcpip.h if sys/socket.h works.
69998         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
69999         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
70000
70001 2006-02-14  Simon Josefsson  <jas@extundo.com>
70002
70003         * modules/maintainer-makefile (Files): Rename.
70004
70005         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
70006         and (the local) Makefile.cfg to maint-cfg.mk.
70007
70008         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
70009         to the latter.
70010
70011         * modules/maintainer-makefile: New module.
70012
70013         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
70014         severaly stripped to make it possible to build it up from scratch
70015         with reliable tests.
70016
70017         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
70018         fixes to permit overriding the default actions when configure and
70019         makefile are not available.
70020
70021 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70022
70023         Sync from coreutils.
70024         * modules/lstat (Depends-on): Don't depend on xalloc.
70025         (License): Change from GPL to LGPL, since this is now simply a
70026         replacement for a libc function.
70027
70028 2006-02-14  Jim Meyering  <jim@meyering.net>
70029
70030         Sync from coreutils.
70031
70032         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
70033         failure on deficient systems, and simplify gnulib lgpl dependencies.
70034         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
70035         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
70036
70037         * lib/xalloc-die.c: Remove unused definition of N_.
70038
70039 2006-02-14  Jim Meyering  <jim@meyering.net>
70040
70041         Sync from coreutils.
70042         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
70043         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
70044         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
70045         double-quote uses of that variable, to accommodate the rare case in
70046         which getmntent is available in none of the libraries checked.  This
70047         happens at least on FreeBSD 5.0.
70048
70049 2006-02-13  Simon Josefsson  <jas@extundo.com>
70050
70051         * gnulib-tool (Usage): Fix --import, from
70052         karl@freefriends.org (Karl Berry).
70053
70054 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
70055
70056         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
70057
70058 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
70059
70060         * lib/argp-namefrob.h: Restore changes accidentally lost during the
70061         "autoupdate" on 2005-12-12.
70062
70063 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
70064
70065         * modules/closeout (Depends-on): Remove atexit.
70066
70067 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
70068
70069         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
70070         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
70071
70072 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70073
70074         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
70075         __EXTENSIONS__ if this causes compilation to fail.  Problem
70076         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
70077         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
70078
70079 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
70080
70081         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
70082         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
70083         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
70084         All uses changed.
70085
70086 2006-01-26  Simon Josefsson  <jas@extundo.com>
70087
70088         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
70089         prototype is visible on mingw32.
70090
70091         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
70092         for mingw32.
70093
70094         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
70095         mingw32).
70096
70097 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70098
70099         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
70100         attempt to open for write; this always fails, at least on POSIX
70101         hosts.  This reinstates the 2006-01-09 change, which was
70102         inadvertently removed.
70103
70104 2006-01-26  Bruno Haible  <bruno@clisp.org>
70105
70106         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
70107         Reported by Paul Eggert.
70108
70109 2006-01-26  Bruno Haible  <bruno@clisp.org>
70110             Paul Eggert  <eggert@cs.ucla.edu>
70111
70112         * lib/stdbool_.h (_Bool)
70113         [(! (defined __cplusplus || defined __BEOS__)
70114           && !defined __GNUC__
70115           && !(defined __HP_cc || defined __xlc__
70116                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
70117                || defined __sgi))]:
70118         #define to signed char in these cases too; this simplifies
70119         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
70120         etc., separately) and makes it more conservative.
70121
70122 2006-01-25  Simon Josefsson  <jas@extundo.com>
70123
70124         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
70125         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
70126         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
70127
70128 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
70129
70130         * lib/argp-namefrob.h: Bugfix. Remove stray #
70131
70132 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
70133
70134         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
70135         so that we test the test.
70136         Check for yet another HP-UX cc bug involving *bool |= bool.
70137
70138 2006-01-25  Karl Berry  <karl@gnu.org>
70139
70140         * config/srclist.txt (vasnprintf.c): sync lost.
70141
70142 2006-01-25  Jim Meyering  <jim@meyering.net>
70143
70144         Sync from the stable (b5) branch of coreutils:
70145
70146         * lib/fts.c (fts_children): Don't let close() clobber errno from
70147         failed fchdir().
70148
70149         * lib/fts.c (fts_stat): When following a symlink-to-directory,
70150         don't necessarily interpret stat-fails+lstat-succeeds as indicating
70151         a dangling symlink.  That can also happen at least for ELOOP.
70152         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
70153         FYI, this bug predates the inclusion of fts.c in coreutils.
70154
70155         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
70156         in their own block, so pre-c99 compilers don't object.
70157
70158         Avoid the double-free (first in fts_read, second in fts_close) that
70159         would occur when an `active' directory is made inaccessible (e.g.,
70160         via chmod a-x) during a traversal.
70161         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
70162         before returning.  Reproduce this failure by
70163         mkdir -p a/b; cd a; chmod a-x . b
70164         Reported by Stavros Passas.
70165
70166 2006-01-25  Jim Meyering  <jim@meyering.net>
70167
70168         * lib/fileblocks.c: Remove more useless parentheses.
70169         * lib/readutmp.h: Likewise.
70170
70171 2006-01-25  Bruno Haible  <bruno@clisp.org>
70172
70173         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
70174         warnings.
70175         Reported by Paul Eggert.
70176
70177 2006-01-25  Bruno Haible  <bruno@clisp.org>
70178
70179         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
70180         rid of a trap command. For Solaris sh.
70181         Reported by Mark D. Baushke <mdb@gnu.org>.
70182
70183 2006-01-24  Simon Josefsson  <jas@extundo.com>
70184
70185         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
70186         Bruno.
70187
70188 2006-01-24  Karl Berry  <karl@gnu.org>
70189
70190         * config/srclist.txt (argp-namefrob.h): sync lost.
70191
70192 2006-01-24  Jim Meyering  <jim@meyering.net>
70193
70194         * modules/openat (Files): Add lib/intprops.h.
70195         From Mark D. Baushke.
70196
70197 2006-01-24  Jim Meyering  <jim@meyering.net>
70198
70199         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
70200         Reported by Mark D. Baushke.
70201
70202 2006-01-24  Jim Meyering  <jim@meyering.net>
70203
70204         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
70205
70206 2006-01-24  Bruno Haible  <bruno@clisp.org>
70207
70208         * modules/strnlen (Maintainer): Change from glibc to all.
70209
70210 2006-01-24  Bruno Haible  <bruno@clisp.org>
70211
70212         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
70213         Patch by Paul Eggert.
70214
70215 2006-01-24  Bruno Haible  <bruno@clisp.org>
70216
70217         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
70218         already has it.
70219         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
70220         2005-11-26.
70221
70222         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
70223         'signed char' to avoid problems with the built-in _Bool type.
70224         Reported by Paul Eggert on 2005-11-26.
70225
70226 2006-01-24  Bruno Haible  <bruno@clisp.org>
70227
70228         * gnulib-tool (func_import): Avoid constructing complicated sed
70229         expressions inside backquote.
70230         Report and solution by Mark D. Baushke <mdb@gnu.org>.
70231
70232 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
70233
70234         These changes imported from libc.
70235         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
70236         test and two separate function calls.
70237         * lib/strndup.c (__strndup): Add libc_hidden_def.
70238
70239 2006-01-23  Simon Josefsson  <jas@extundo.com>
70240
70241         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
70242         Remove the test_*_SOURCES variable: automake infers it by default.
70243         * modules/tls-tests: Likewise.
70244
70245 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70246
70247         Work around porting bugs reported by Dieter in
70248         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
70249         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
70250         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
70251         Include "getopt.h" first, to check interface.
70252         (getenv): Declare only if defined HAVE_DECL_GETENV &&
70253         !HAVE_DECL_GETENV.
70254         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
70255         (__strndup): Revert to K&R-style function dfns, the glibc style.
70256         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
70257         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
70258         Include strnlen.h first, to get prototype properly.
70259         (strnlen): Renamed from __strnlen.
70260         Remove weak alias.
70261
70262 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70263
70264         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
70265
70266 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70267
70268         * config/srclist.txt: Adjust to reflect glibc reorganization.
70269         This affects only comments.
70270
70271 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70272
70273          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
70274          Reported by Bruce Korb <bkorb@gnu.org>.
70275
70276 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70277
70278         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
70279         to pacify gcc -Wswitch-default.
70280
70281 2006-01-22  Bruno Haible  <bruno@clisp.org>
70282
70283         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
70284         temporary buffer for sprintf, take into account the precision also
70285         for 'd', 'i', 'u', 'o', 'x', 'X'.
70286
70287 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
70288
70289         * modules/argp-tests: New module
70290         * tests/test-argp.c: New file
70291         * tests/test-argp-2.sh: New file
70292
70293 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
70294
70295         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
70296         (__argp_base_name): Removed
70297         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
70298         typo.
70299         (__argp_base_name): Provide macro definition or extern declaration
70300         depending on the configuration
70301
70302 2006-01-20  Simon Josefsson  <jas@extundo.com>
70303
70304         * modules/inet_ntop (Depends-on): Depend on sys_socket.
70305
70306 2006-01-20  Simon Josefsson  <jas@extundo.com>
70307
70308         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
70309
70310 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70311
70312         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
70313         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
70314         Suggested by Bruno Haible.
70315
70316 2006-01-20  Karl Berry  <karl@gnu.org>
70317
70318         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
70319         until changes propagate, I guess.
70320
70321 2006-01-19  Simon Josefsson  <jas@extundo.com>
70322
70323         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
70324
70325 2006-01-19  Simon Josefsson  <jas@extundo.com>
70326
70327         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
70328
70329 2006-01-19  Simon Josefsson  <jas@extundo.com>
70330
70331         * gnulib-tool: Set check_PROGRAMS.
70332
70333         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
70334         modules/des-tests, modules/gc-arcfour-tests,
70335         modules/gc-arctwo-tests, modules/gc-des-tests,
70336         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
70337         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
70338         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
70339         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
70340         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
70341         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
70342         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
70343         test_*_SOURCES.
70344
70345 2006-01-18  Simon Josefsson  <jas@extundo.com>
70346
70347         * modules/socklen (Depends-on): Depend on sys_socket.
70348
70349 2006-01-18  Simon Josefsson  <jas@extundo.com>
70350
70351         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
70352         modules/des-tests, modules/gc-arcfour-tests,
70353         modules/gc-arctwo-tests, modules/gc-des-tests,
70354         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
70355         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
70356         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
70357         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
70358         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
70359         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
70360         $(EXEEXT) to automake TESTS variable, for mingw32.
70361
70362 2006-01-17  Simon Josefsson  <jas@extundo.com>
70363
70364         * modules/socklen (Include): Need sys/socket.h.
70365
70366 2006-01-17  Bruno Haible  <bruno@clisp.org>
70367
70368         * modules/ssize_t (Include): Add <sys/types.h>.
70369
70370 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
70371
70372         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
70373         it's not portable and it doesn't work with cross-compiles.
70374         Problem reported by Bruno Haible.  Fix missing-$ typo in
70375         'test "gl_cv_ignore_unused_libraries" ...' that prevented
70376         -zignore from being used with Sun's C compiler.
70377
70378 2006-01-12  Simon Josefsson  <jas@extundo.com>
70379
70380         * lib/base64.c: Fix warning, reported by Bruno Haible
70381         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
70382
70383 2006-01-12  Bruno Haible  <bruno@clisp.org>
70384
70385         * modules/ldd: New file.
70386         * build-aux/ldd.sh.in: New file.
70387         * MODULES.html.sh (Support for building libraries and executables): Add
70388         ldd.
70389
70390 2006-01-12  Bruno Haible  <bruno@clisp.org>
70391
70392         * m4/ldd.m4: New file.
70393
70394 2006-01-12  Bruno Haible  <bruno@clisp.org>
70395
70396         * gnulib-tool (func_import, func_create_testdir): Don't go into an
70397         endless loop while replacing $auxdir with build-aux.
70398
70399 2006-01-11  Simon Josefsson  <jas@extundo.com>
70400
70401         * lib/stdint_.h (SIZE_MAX): Add missing (.
70402
70403 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
70404
70405         Sync from coreutils.
70406         * lib/md5.c: Fix commentary typos.
70407         (alignof, UNALIGNED_P): No need for a GCC-specific version.
70408         * lib/md5.h (__attribute__): Remove; unused.
70409         * lib/sha1.c: Fix commentary to match md5 better.
70410         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
70411         so that we don't need to worry about alignment.  All uses changed.
70412         This merges the 2005-10-28 md5 change into sha1.
70413
70414 2006-01-11  Jim Meyering  <jim@meyering.net>
70415
70416         Sync from coreutils.
70417         * lib/md5.c (OP): Fix spacing.
70418
70419 2006-01-11  Bruno Haible  <bruno@clisp.org>
70420
70421         Ensure automatic ordering between gl_LOCK and gl_ARGP.
70422         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
70423         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
70424
70425 2006-01-11  Bruno Haible  <bruno@clisp.org>
70426
70427         Ensure automatic ordering between gl_LOCK and gl_ARGP.
70428         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
70429         the "early" section as well.
70430
70431 2006-01-11  Bruno Haible  <bruno@clisp.org>
70432
70433         Avoid "ar: no archive members specified" error on MacOS X.
70434         * gnulib-tool (func_modules_add_dummy): New function.
70435         (func_import, func_create_testdir): Invoke it.
70436
70437 2006-01-11  Bruno Haible  <bruno@clisp.org>
70438
70439         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
70440         with $auxdir in AC_CONFIG_FILES statements.
70441
70442 2006-01-11  Bruno Haible  <bruno@clisp.org>
70443
70444         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70445         Initialize also noinst_HEADERS to empty.
70446
70447 2006-01-11  Bruno Haible  <bruno@clisp.org>
70448
70449         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
70450         variables.
70451         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
70452         autoreconf.
70453
70454 2006-01-11  Bruno Haible  <bruno@clisp.org>
70455
70456         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
70457         overridable by the user.
70458         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70459
70460 2006-01-10  Simon Josefsson  <jas@extundo.com>
70461
70462         * modules/sys_socket: New file.
70463
70464 2006-01-10  Simon Josefsson  <jas@extundo.com>
70465
70466         * m4/sys_socket_h.m4: New file.
70467
70468 2006-01-10  Simon Josefsson  <jas@extundo.com>
70469
70470         * lib/socket_.h: New file.
70471
70472 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70473
70474         * modules/readutmp (Maintainer): Add myself.
70475
70476 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70477
70478         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
70479         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
70480         People who are still concerned with buggy memcmp implementations
70481         can invoke gl_FUNC_MEMCMP themselves.
70482
70483 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70484
70485         * lib/regex_internal.h (BITSET_WORD_BITS):
70486         Work around a bug in 64-bit PGC (before version 6.1-2), where the
70487         preprocessor mishandles large unsigned values as if they were signed.
70488         Problem reported by Claudio Fontana in
70489         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
70490
70491 2006-01-10  Jim Meyering  <jim@meyering.net>
70492
70493         Avoid the double-free (first in fts_read, second in fts_close) that
70494         would occur when an `active' directory is made inaccessible (e.g.,
70495         via chmod a-x) during a traversal.
70496         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
70497         before returning.  Reproduce this failure by
70498         mkdir -p a/b; cd a; chmod a-x . b
70499         Reported by Stavros Passas.
70500
70501         Sync from coreutils.
70502         * lib/sha1.c: Tweak grammar in a comment.
70503
70504 2006-01-10  Jim Meyering  <jim@meyering.net>
70505
70506         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
70507         Patch by Joerg Sonnenberger.
70508
70509 2006-01-10  Bruno Haible  <bruno@clisp.org>
70510
70511         * modules/readutmp: Depend on module free.
70512         * modules/strtok_r: Depend on module restrict.
70513
70514 2006-01-10  Bruno Haible  <bruno@clisp.org>
70515
70516         * modules/gettext (configure.ac): Add an invocation of
70517         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
70518
70519 2006-01-10  Bruno Haible  <bruno@clisp.org>
70520
70521         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
70522         Reported by Werner Lemberg <wl@gnu.org>.
70523
70524 2006-01-10  Bruno Haible  <bruno@clisp.org>
70525
70526         * lib/localcharset.c: Update from GNU gettext.
70527
70528 2006-01-10  Bruno Haible  <bruno@clisp.org>
70529
70530         * lib/argp.h (__const): Remove macro. Use const instead.
70531         * lib/argp-fmtstream.h (__const): Likewise.
70532         * lib/glob_.h (__const): Remove macro.
70533         * lib/glob-libc.h: Use const instead of __const.
70534
70535 2006-01-10  Bruno Haible  <bruno@clisp.org>
70536
70537         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
70538         variable.
70539         Needed to avoid an automake error regarding the 'gettext' module.
70540
70541 2006-01-09  Simon Josefsson  <jas@extundo.com>
70542
70543         * modules/inet_ntop (Depends-on): Add restrict.
70544
70545 2006-01-09  Simon Josefsson  <jas@extundo.com>
70546
70547         * modules/gc-rijndael-tests (License): Put under LGPL.
70548
70549         * modules/gc-des-tests (License): Likewise.
70550
70551         * modules/gc-arcfour-tests (License): Likewise.
70552
70553         * modules/gc-arctwo-tests (License): Likewise.
70554
70555         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
70556
70557         * modules/gc-hmac-sha1-tests (Files): Likewise.
70558
70559         * modules/gc-hmac-md5-tests (License): Likewise.
70560
70561         * modules/gc-sha1-tests (License): Likewise.
70562
70563         * modules/gc-md5-tests (License): Likewise.
70564
70565         * modules/gc-md4-tests (License): Likewise.
70566
70567         * modules/gc-md2-tests (License): Likewise.
70568
70569         * modules/gc-tests (License): Likewise.
70570
70571         * modules/des-tests (License): Likewise.
70572
70573         * modules/md4-tests (License): Likewise.
70574
70575         * modules/md2-tests (License): Likewise.
70576
70577 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70578
70579         Sync from coreutils:
70580
70581         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
70582         * modules/lib-ignore: New file.
70583         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
70584         chdir-safer.m4, lchmod.m4.
70585         * modules/openat: Add mkdirat.c, openat-priv.h.
70586
70587 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70588
70589         Sync from coreutils.
70590         * m4/lib-ignore.m4: New file.
70591         * m4/lchmod.m4: New file.
70592
70593 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70594
70595         Sync from coreutils.
70596         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
70597         for write access: POSIX says that must fail.
70598         * lib/fts.c (diropen): Likewise.
70599         * lib/save-cwd.c (save_cwd): Likewise.
70600         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
70601         well, for minor improvements on hosts that lack O_DIRECTORY.
70602         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
70603         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
70604         Fall back on chown if open failed with EACCES.
70605
70606         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
70607         Report an error at compile-time if only a 1-second nominal clock
70608         resolution is found.
70609
70610         * lib/lchmod.h: New file.
70611         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
70612         (make_dir_parents): Use lchown rather than chown, and
70613         lchmod rather than chmod.
70614
70615         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
70616         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
70617         "proc" reported by n0dalus.
70618
70619         * lib/mountlist.c: Include <limits.h>.
70620         (dev_from_mount_options)
70621         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
70622         New function.  It no longer assumes "dev=" has the System V meaning
70623         on Linux (since it doesn't).  It also parses "dev=" more carefully.
70624         (read_file_system_list)
70625         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
70626         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
70627         dev= in that case.
70628
70629         * lib/posixtm.h (PDS_PRE_2000): New macro.
70630         * lib/posixtm.c (year): Arg is now syntax_bits rather than
70631         allow_century.  All usages changed.  Reject dates outside the range
70632         1969-1999 if PDS_PRE_2000 is used.
70633
70634 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70635
70636         Sync from coreutils.
70637         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
70638         (Time of day items): Mention the possibility of leap seconds.
70639         Problem reported by Dr. David Alan Gilbert.
70640
70641 2006-01-09  Jim Meyering  <jim@meyering.net>
70642
70643         Sync from coreutils.
70644
70645         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
70646
70647         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
70648
70649         * lib/modechange.c (mode_compile): Reject an invalid mode string
70650         that starts with an octal digit.  From Andreas Gruenbacher.
70651
70652         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
70653         and dup to open_safer and dup_safer, respectively.
70654         (openat_permissive): Fix typo in comment.
70655
70656         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
70657         "gettext.h"; either no longer needed or are guaranteed by openat.h.
70658         (_): Remove; no longer needed.
70659         (openat): Renamed from rpl_openat; no need for rpl_openat
70660         since openat.h renames openat for us.
70661         Replace most of the body with a call to openat_permissive,
70662         to avoid duplicate code.
70663         Port to (probably hypothetical) environments were mode_t is
70664         wider than int.
70665         (openat_permissive): Require mode arg, so that we can check
70666         types better.  Put it just after flags.  Change cwd failure
70667         indicator from pointer-to-bool to pointer-to-errno-value.
70668         All callers changed.
70669         Invoke openat_save_fail and/or openat_restore_fail if
70670         cwd_errno is null, so that openat can call us.
70671         (openat_permissive, fdopendir, fstatat, unlinkat):
70672         Simplify errno handling to avoid some duplicate code,
70673         as it's OK to set errno on success.
70674         * lib/openat.h: Revamp code so that function macros depend on
70675         __OPENAT_PREFIX only, not also on AT_FDCWD.
70676         (openat_ro): Remove.  Caller changed to use openat_permissive.
70677         (openat_permissive): Now a macro, if not a function.
70678         (openat_restore_fail, openat_save_fail): Now always functions,
70679         since mkdirat needs them even if __OPENAT_PREFIX is defined.
70680
70681         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
70682         and openat.c.
70683         * lib/mkdirat.c: Include openat-priv.h.
70684         Remove definitions of macros defined therein.
70685         * lib/openat.c: Likewise.
70686
70687         * lib/mkdirat.c (mkdirat): New file and function.
70688         * lib/openat.h (mkdirat): Declare.
70689
70690         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
70691
70692         * lib/openat.h (openat_permissive): Declare.
70693         (openat_ro): Define.
70694
70695         * lib/openat.c (EXPECTED_ERRNO): New macro.
70696         (openat_permissive): New function -- used in remove.c rewrite.
70697         (all functions): Set errno just before returning, only if there
70698         was an actual failure.
70699         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
70700
70701         Emulate openat-family functions using Linux's procfs, if possible.
70702         Idea and some code based on Ulrich Drepper's glibc changes.
70703
70704         * lib/openat.c: (BUILD_PROC_NAME): New macro.
70705         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
70706         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
70707         before falling back on save_cwd and restore_cwd.
70708         (fdopendir, fstatat, unlinkat): Likewise.
70709
70710         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
70711         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
70712
70713         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
70714         as second argument to va_arg.  Otherwise, some versions of gcc
70715         warn that `if this code is reached, the program will abort'.
70716
70717 2006-01-09  Jim Meyering  <jim@meyering.net>
70718
70719         Sync from coreutils.
70720         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
70721         Require openat-priv.h.
70722
70723 2006-01-09  Bruno Haible  <bruno@clisp.org>
70724
70725         * modules/strnlen (Include): Use strnlen.h.
70726
70727 2006-01-09  Bruno Haible  <bruno@clisp.org>
70728
70729         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
70730
70731 2006-01-09  Bruno Haible  <bruno@clisp.org>
70732
70733         * lib/sysexit_.h (EX_OK): New macro.
70734         Suggested by Martin Lambers <marlam@marlam.de>.
70735
70736 2006-01-09  Bruno Haible  <bruno@clisp.org>
70737
70738         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
70739         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
70740
70741 2006-01-09  Bruno Haible  <bruno@clisp.org>
70742
70743         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
70744         numbers.
70745
70746 2006-01-09  Bruno Haible  <bruno@clisp.org>
70747
70748         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
70749         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
70750         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
70751         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
70752
70753 2006-01-09  Bruno Haible  <bruno@clisp.org>
70754
70755         * build-aux/javacomp.sh.in: New file, moved from lib/.
70756         * modules/javacomp-script (Files): Update.
70757         (configure.ac): Add AC_CONFIG_FILES invocation.
70758         (EXTRA_DIST): Remove variable.
70759
70760         * build-aux/javaexec.sh.in: New file, moved from lib/.
70761         * modules/javaexec (Files): Update.
70762         (configure.ac): Add AC_CONFIG_FILES invocation.
70763         (EXTRA_DIST): Remove javaexec.sh.in.
70764
70765         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
70766         * modules/csharpcomp-script (Files): Update.
70767         (configure.ac): Add AC_CONFIG_FILES invocation.
70768         (EXTRA_DIST): Remove variable.
70769
70770         * build-aux/csharpexec.sh.in: New file, moved from lib/.
70771         * modules/csharpexec (Files): Update.
70772         (configure.ac): Add AC_CONFIG_FILES invocation.
70773         (EXTRA_DIST): Remove csharpexec.sh.in.
70774
70775 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
70776
70777         Sync from coreutils.
70778
70779         Add POSIX ACL support
70780         * lib/acl.h (copy_acl, set_acl): Add declarations.
70781         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
70782         systems other than Linux.
70783         (chmod_or_fchmod): New function: use fchmod when possible,
70784         and chmod otherwise.
70785         (file_has_acl): Add a POSIX ACL implementation, with a
70786         Linux-specific subcase.
70787         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
70788         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
70789         acls are unsupported.
70790         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
70791         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
70792         are unsupported.
70793
70794 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
70795
70796         Sync from coreutils.
70797         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
70798
70799 2006-01-07  Bruno Haible  <bruno@clisp.org>
70800
70801         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
70802         gl_EARLY.
70803
70804 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70805
70806         * lib/strftime.c (tzname): Don't declare if it is already #defined.
70807         Problem reported for Mingw by Mark Junker.
70808
70809 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70810
70811         * README: Gnulib normally doesn't generate a tarball.
70812
70813 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
70814
70815         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
70816         long int, not int, for nanosecond counts, so that people who are
70817         used to POSIX struct timespec won't be surprised.  Reported by Jim
70818         Meyering.
70819
70820 2005-12-28  Bruno Haible  <bruno@clisp.org>
70821
70822         * build-aux/config.rpath: Update from GNU gettext.
70823
70824 2005-12-16  Jim Meyering  <jim@meyering.net>
70825
70826         * modules/fprintftime: New module.
70827         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
70828
70829 2005-12-16  Jim Meyering  <jim@meyering.net>
70830
70831         * m4/fprintftime.m4: New file.
70832
70833 2005-12-16  Jim Meyering  <jim@meyering.net>
70834
70835         * lib/fprintftime.c, lib/fprintftime.h: New files.
70836
70837 2005-12-15  Simon Josefsson  <jas@extundo.com>
70838
70839         * modules/socklen (configure.ac): Fix M4 macro name, to align with
70840         new m4/socklen.m4.
70841
70842 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70843
70844         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
70845         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
70846
70847 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70848
70849         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
70850         * lib/argp-help.c (fill_in_uparams): Check if the constructed
70851         struct uparams is valid. Fall back to the default values if it is
70852         not.
70853
70854 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70855
70856         * modules/argp (Files): Add argp-pin.c
70857         (Depends-on): dirname
70858         (lib_SOURCES): Add argp-pin.c
70859
70860 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70861
70862         * m4/argp.m4:  Check if program_invocation_name and
70863         program_invocation_short_name are declared and define appropriate
70864         macros if they are not.
70865
70866 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70867
70868         * lib/argp-help.c (__argp_base_name): New function
70869         (__argp_short_program_name): Rewrite using __argp_base_name
70870         * lib/argp-namefrob.h: Define program_invocation_name and
70871         program_invocation_short_name if requested
70872         (__argp_base_name): Add prototype
70873         * lib/argp-parse.c (argp_def): Use gettext wrappers
70874         (argp_default_parser): Use __argp_base_name
70875         * lib/argp-pin.c: New file. Defines program_invocation_name and
70876         program_invocation_short_name on systems that lack them.
70877
70878 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70879
70880         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
70881         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
70882         porting problem reported by Georg Schwarz in
70883         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
70884
70885 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70886
70887         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
70888         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
70889         porting problem reported by Georg Schwarz in
70890         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
70891
70892 2005-12-05  Bruno Haible  <bruno@clisp.org>
70893
70894         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
70895         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
70896         Reported by Mark Junker <mjscod@gmx.de>.
70897
70898 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
70899
70900         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
70901         Use implementation from Albert Chin, with some
70902         comments/corrections by Stepan Kasal and myself.
70903
70904 2005-12-02  Bruno Haible  <bruno@clisp.org>
70905
70906         * gnulib-tool (func_import): Accept GPLed build tool modules when
70907         --lgpl is given.
70908         * modules/csharpcomp-script: New file.
70909         * modules/csharpcomp: Depend on it.
70910         * modules/javacomp-script: New file.
70911         * modules/javacomp: Depend on it.
70912         Suggested by Simon Josefsson.
70913
70914 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
70915
70916         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
70917         statement, to work around an HP-UX 10.20 compiler bug reported by
70918         Peter O'Gorman.
70919
70920 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
70921
70922         * modules/savedir (Depends-on): Add openat.
70923
70924 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
70925
70926         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
70927         (uintmax_t) [defined uintmax_t]: Do not declare.
70928         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
70929         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
70930         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
70931         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
70932         sake of portability to weird hosts that C allows (though we don't
70933         know of any practical examples).
70934
70935         * lib/savedir.h (fdsavedir): New decl.
70936         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
70937         contains most of the former guts of savedir.
70938         (savedir): Use savedirstream.
70939         Include "openat.h".
70940
70941 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70942
70943         * modules/obstack (Files): Add m4/ulonglong.m4.
70944         Problem reported by Davide Angelocola.
70945
70946 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
70947
70948         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
70949         coreutils no longer futzes with rounding modes.
70950
70951 2005-11-14  Jim Meyering  <jim@meyering.net>
70952
70953         * lib/mkstemp-safer.c: Include <config.h>, required for possible
70954         replacement of mkstemp.
70955
70956 2005-11-10  Simon Josefsson  <jas@extundo.com>
70957
70958         * lib/readline.c: Remove EOL.
70959
70960 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * modules/gethrxtime (Depends-on): Add gettime.
70963
70964 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70965
70966         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
70967         or gettimeofday; no longer needed.
70968
70969 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70970
70971         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
70972         time business.
70973         (gethrxtime) [! (HAVE_NANOUPTIME
70974         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
70975         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
70976         our own approximation.
70977
70978 2005-11-08  Eric Blake  <ebb9@byu.net>
70979
70980         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
70981
70982 2005-11-08  Eric Blake  <ebb9@byu.net>
70983
70984         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
70985
70986 2005-11-04  Bruno Haible  <bruno@clisp.org>
70987
70988         * gnulib-tool: Implement --update mode.
70989
70990 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70991
70992         Fix porting problem reported by Theodoros V. Kalamatianos.
70993         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
70994         Don't assume that futimes failing means we must fail.
70995
70996 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70997
70998         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
70999         variables to suggest the intended function of the PATH_MAX check.
71000
71001 2005-10-30  Kean Johnston  <jkj@sco.com>
71002
71003         Trivial changes to support SCO systems.
71004         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
71005         as PATH_MAX.
71006         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
71007         where __ptr is null when no I/O is pending.
71008
71009 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71010
71011         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
71012         leave errno alone.  Problem reported by Dmitry V. Levin.
71013
71014 2005-10-28  Simon Josefsson  <jas@extundo.com>
71015
71016         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
71017         Test more.
71018
71019         * tests/test-gc-md2.c, tests/test-md2.c: New files.
71020
71021         * modules/md2, modules/md2-tests: New files.
71022
71023 2005-10-28  Simon Josefsson  <jas@extundo.com>
71024
71025         * m4/inet_ntop.m4: More tests.
71026
71027         * m4/gc-md2.m4, md2.m4: New file.
71028
71029 2005-10-28  Simon Josefsson  <jas@extundo.com>
71030
71031         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
71032         "restrict" keywords, as per POSIX.  Protect the function
71033         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
71034         Don't use K&R prototypes.  Check the sprintf return values.
71035         Re-define EAFNOSUPPORT if not present.  Indent.
71036
71037         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
71038         suggested by Bruno Haible <bruno@clisp.org>.
71039
71040         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
71041
71042         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
71043
71044         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
71045         libgcrypt).
71046
71047         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
71048
71049         * lib/md2.h, lib/md2.c: New files.
71050
71051 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
71052
71053         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
71054         errno alone.  Problem reported by Frederic Jolliton.
71055
71056 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
71057
71058         * modules/verify (License): Change from GPL to LGPL.  This is a
71059         tiny module and there are apparently near-equivalents that are
71060         under the BSD license.
71061
71062 2005-10-24  Simon Josefsson  <jas@extundo.com>
71063
71064         * modules/sha1: Relicense to LGPL.
71065
71066 2005-10-24  Simon Josefsson  <jas@extundo.com>
71067
71068         * lib/md4.h: Shrink buffer size, now that we changed the type.
71069
71070 2005-10-23  Simon Josefsson  <jas@extundo.com>
71071
71072         * gnulib-tool (func_import): Fix --tests-base.
71073
71074 2005-10-22  Simon Josefsson  <jas@extundo.com>
71075
71076         * modules/arcfour (Depends-on): Need stdint.
71077
71078 2005-10-22  Simon Josefsson  <jas@extundo.com>
71079
71080         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
71081         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
71082
71083 2005-10-22  Simon Josefsson  <jas@extundo.com>
71084
71085         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
71086         suggested by Bruno Haible <bruno@clisp.org>.
71087
71088 2005-10-22  Simon Josefsson  <jas@extundo.com>
71089
71090         * lib/crc.h: Include stddef.h, for size_t.
71091
71092 2005-10-22  Simon Josefsson  <jas@extundo.com>
71093
71094         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
71095         arcfour_context struct (simplify test vector testing in GNU
71096         Shishi).
71097
71098 2005-10-21  Simon Josefsson  <jas@extundo.com>
71099
71100         * modules/des, modules/des-tests: New files.
71101
71102         * modules/gc-des, modules/gc-des-tests: New files.
71103
71104         * tests/test-des.c, tests/test-gc-des.c: New file.
71105
71106 2005-10-21  Simon Josefsson  <jas@extundo.com>
71107
71108         * modules/arctwo, modules/arctwo-tests: New files.
71109
71110         * tests/test-arctwo.c: New file.
71111
71112         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
71113
71114         * tests/test-gc-arctwo.c: New file.
71115
71116 2005-10-21  Simon Josefsson  <jas@extundo.com>
71117
71118         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
71119         Bruno Haible <bruno@clisp.org>.
71120
71121         * m4/gc-des.m4: New file.
71122
71123 2005-10-21  Simon Josefsson  <jas@extundo.com>
71124
71125         * m4/arctwo.m4: New file.
71126
71127         * m4/gc-arctwo.m4: New file.
71128
71129 2005-10-21  Simon Josefsson  <jas@extundo.com>
71130
71131         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
71132         block.
71133
71134 2005-10-21  Simon Josefsson  <jas@extundo.com>
71135
71136         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
71137         <bruno@clisp.org>.
71138
71139         * lib/hmac-sha1.c (hmac_sha1): Likewise.
71140
71141         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
71142         Bruno Haible <bruno@clisp.org>.
71143
71144         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
71145         <bruno@clisp.org>.
71146
71147 2005-10-21  Simon Josefsson  <jas@extundo.com>
71148
71149         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
71150
71151 2005-10-21  Simon Josefsson  <jas@extundo.com>
71152
71153         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
71154
71155 2005-10-21  Simon Josefsson  <jas@extundo.com>
71156
71157         * lib/des.h, lib/des.c: New files.
71158
71159         * lib/gc-gnulib.c: Support DES.c
71160
71161 2005-10-21  Simon Josefsson  <jas@extundo.com>
71162
71163         * lib/arctwo.h, lib/arctwo.c: New files.
71164
71165         * lib/gc-gnulib.c: Support ARCTWO.
71166
71167 2005-10-21  Simon Josefsson  <jas@extundo.com>
71168
71169         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
71170         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71171
71172 2005-10-21  Simon Josefsson  <jas@extundo.com>
71173
71174         * gnulib-tool (func_import, func_create_testdir): Define automake
71175         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
71176         Makefile.am snippet),
71177         suggested by Bruno Haible <bruno@clisp.org>.
71178
71179         * modules/gc (Makefile.am): Use it.
71180
71181 2005-10-21  Bruno Haible  <bruno@clisp.org>
71182
71183         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
71184         patch.
71185
71186 2005-10-19  Simon Josefsson  <jas@extundo.com>
71187
71188         * tests/test-gc-rijndael.c: New file.
71189
71190         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
71191
71192 2005-10-19  Simon Josefsson  <jas@extundo.com>
71193
71194         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
71195         interface too.
71196
71197 2005-10-19  Simon Josefsson  <jas@extundo.com>
71198
71199         * tests/test-gc-arcfour.c: New file.
71200
71201         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
71202
71203 2005-10-19  Simon Josefsson  <jas@extundo.com>
71204
71205         * modules/gc-md4, modules/gc-md4-tests: New file.
71206
71207         * tests/test-gc-md4.c: New file.
71208
71209 2005-10-19  Simon Josefsson  <jas@extundo.com>
71210
71211         * m4/gc-md4.m4: New file.
71212
71213 2005-10-19  Simon Josefsson  <jas@extundo.com>
71214
71215         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
71216         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
71217         <kasal@ucw.cz>.
71218
71219 2005-10-19  Simon Josefsson  <jas@extundo.com>
71220
71221         * m4/gc-arcfour.m4: New file.
71222
71223         * m4/gc-rijndael.m4: New file.
71224
71225 2005-10-19  Simon Josefsson  <jas@extundo.com>
71226
71227         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
71228
71229 2005-10-19  Simon Josefsson  <jas@extundo.com>
71230
71231         * lib/gc-gnulib.c: Support ARCFOUR.
71232
71233 2005-10-19  Simon Josefsson  <jas@extundo.com>
71234
71235         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
71236         support.
71237
71238         * lib/gc.h: Add ECB enum type.
71239
71240         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
71241
71242 2005-10-18  Simon Josefsson  <jas@extundo.com>
71243
71244         * tests/test-md5.c: New file.
71245
71246         * modules/md5-tests: New file.
71247
71248 2005-10-18  Simon Josefsson  <jas@extundo.com>
71249
71250         * tests/test-md4.c: New file.
71251
71252         * modules/md4, modules/md4-tests: New files.
71253
71254 2005-10-18  Simon Josefsson  <jas@extundo.com>
71255
71256         * m4/md4.m4: New file.
71257
71258 2005-10-18  Simon Josefsson  <jas@extundo.com>
71259
71260         * lib/md4.h, lib/md4.c: New files, based on md5.?.
71261
71262 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
71263
71264         * gnulib-tool (func_create_testdir): Omit the second check whether
71265         BUILT_SOURCES in nonempty.
71266
71267 2005-10-17  Simon Josefsson  <jas@extundo.com>
71268
71269         * tests/test-rijndael.c: New file.
71270
71271 2005-10-17  Simon Josefsson  <jas@extundo.com>
71272
71273         * modules/sha1: Depend on stdint instead of md5.
71274
71275         * modules/md5: Depend on stdint, remove uint32_t.
71276
71277 2005-10-17  Simon Josefsson  <jas@extundo.com>
71278
71279         * modules/gc-sha1-tests: New file.
71280
71281         * tests/test-gc-sha1.c: New file.
71282
71283 2005-10-17  Simon Josefsson  <jas@extundo.com>
71284
71285         * m4/md5.m4: Remove call to uint32_t.m4.
71286
71287 2005-10-17  Simon Josefsson  <jas@extundo.com>
71288
71289         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
71290
71291         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
71292         md5.h.
71293
71294         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
71295
71296         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
71297
71298 2005-10-17  Simon Josefsson  <jas@extundo.com>
71299
71300         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
71301
71302 2005-10-17  Simon Josefsson  <jas@extundo.com>
71303
71304         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
71305
71306 2005-10-17  Simon Josefsson  <jas@extundo.com>
71307
71308         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
71309
71310         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
71311
71312 2005-10-17  Bruno Haible  <bruno@clisp.org>
71313
71314         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
71315         that it can also be used in a test.
71316
71317 2005-10-16  Bruno Haible  <bruno@clisp.org>
71318
71319         * gnulib-tool (func_emit_tests_Makefile_am): Also define
71320         TESTS_ENVIRONMENT, so that individual tests can augment it.
71321
71322         * gnulib-tool (func_create_testdir): Use an intermediate target for
71323         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
71324         macros, like $(ALLOCA_H), which cannot be passed through the command
71325         line.
71326
71327 2005-10-15  Simon Josefsson  <jas@extundo.com>
71328
71329         * modules/rijndael-tests: New file.
71330
71331         * modules/rijndael: New file.
71332
71333 2005-10-15  Simon Josefsson  <jas@extundo.com>
71334
71335         * m4/rijndael.m4: New file.
71336
71337 2005-10-15  Simon Josefsson  <jas@extundo.com>
71338
71339         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
71340
71341         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
71342
71343 2005-10-14  Simon Josefsson  <jas@extundo.com>
71344
71345         * tests/test-arcfour.c: New file.
71346
71347         * modules/arcfour, modules/arcfour-tests: New files.
71348
71349 2005-10-14  Simon Josefsson  <jas@extundo.com>
71350
71351         * m4/arcfour.m4: New file.
71352
71353 2005-10-14  Simon Josefsson  <jas@extundo.com>
71354
71355         * lib/arcfour.h, lib/arcfour.c: New files.
71356
71357 2005-10-14  Roland McGrath  <roland@redhat.com>
71358
71359         Import from libc.  [BZ #1331]
71360         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
71361         macro argument.
71362         Reported by Matej Vela <vela@debian.org>.
71363
71364 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71365
71366         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
71367         include <wchar.h>; no longer needed.
71368
71369 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71370
71371         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
71372
71373 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
71374         and  Ulrich Drepper  <drepper@redhat.com>
71375
71376         Import from libc.
71377         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
71378         instead of inline stream orientation test and two separate
71379         function calls.  Pay no attention to USE_IN_LIBIO.
71380
71381 2005-10-13  Simon Josefsson  <jas@extundo.com>
71382
71383         * modules/gc-hmac-md5-tests: New file.
71384
71385         * tests/test-gc-hmac-sha1.c: New file.
71386
71387         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
71388
71389         * modules/gc-hmac-md5-tests: New file.
71390
71391         * tests/test-gc-md5.c: New file.
71392
71393         * modules/gc-md5-tests: New file.
71394
71395 2005-10-13  Simon Josefsson  <jas@extundo.com>
71396
71397         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
71398         Move memory allocation outside of loop.
71399
71400 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
71401
71402         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
71403         intermediate directory is in a read-only file system.  Problem
71404         reported by Eric Blake.
71405
71406 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
71407
71408         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
71409
71410 2005-10-12  Simon Josefsson  <jas@extundo.com>
71411
71412         * tests/test-hmac-sha1.c: New file.
71413
71414         * modules/hmac-sha1-tests: New file.
71415
71416         * modules/hmac-sha1: New file.
71417
71418 2005-10-12  Simon Josefsson  <jas@extundo.com>
71419
71420         * modules/gc-sha1: New file.
71421
71422 2005-10-12  Simon Josefsson  <jas@extundo.com>
71423
71424         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
71425
71426         * tests/test-gc-pbkdf2-sha1.c: New file.
71427
71428 2005-10-12  Simon Josefsson  <jas@extundo.com>
71429
71430         * modules/gc-md5, modules/gc-hmac-md5: New files.
71431
71432         * modules/gc (Files): Remove md5, memxor and hmac files.
71433
71434 2005-10-12  Simon Josefsson  <jas@extundo.com>
71435
71436         * m4/gc-pbkdf2-sha1.m4: New file.
71437
71438         * m4/gc-hmac-sha1.m4: New file.
71439
71440         * m4/gc-sha1: New file.
71441
71442         * m4/hmac-sha1.m4: New file.
71443
71444 2005-10-12  Simon Josefsson  <jas@extundo.com>
71445
71446         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
71447
71448         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
71449
71450 2005-10-12  Simon Josefsson  <jas@extundo.com>
71451
71452         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
71453         suggested by Bruno Haible <bruno@clisp.org>.
71454
71455 2005-10-12  Simon Josefsson  <jas@extundo.com>
71456
71457         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
71458
71459 2005-10-12  Simon Josefsson  <jas@extundo.com>
71460
71461         * lib/gc-pbkdf2-sha1.c: New file.
71462
71463         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
71464
71465 2005-10-12  Simon Josefsson  <jas@extundo.com>
71466
71467         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
71468
71469         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
71470
71471 2005-10-12  Simon Josefsson  <jas@extundo.com>
71472
71473         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
71474         GC_USE_HMAC_MD5, respectively.
71475
71476         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
71477         (gc_md5): Fix typo.
71478
71479         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
71480
71481         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
71482
71483         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
71484
71485 2005-10-12  Bruno Haible  <bruno@clisp.org>
71486
71487         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
71488         Reported by Stepan Kasal <kasal@ucw.cz>.
71489
71490 2005-10-11  Simon Josefsson  <jas@extundo.com>
71491
71492         * tests/test-crc.c: New file.
71493
71494         * modules/crc, modules/crc-tests: New files.
71495
71496 2005-10-11  Simon Josefsson  <jas@extundo.com>
71497
71498         * m4/crc.m4: New file.
71499
71500 2005-10-11  Simon Josefsson  <jas@extundo.com>
71501
71502         * lib/gc.h: Add gc_hash and gc_hash_buffer.
71503
71504         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
71505
71506         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
71507
71508 2005-10-11  Simon Josefsson  <jas@extundo.com>
71509
71510         * lib/crc.h, lib/crc.c: New files.
71511
71512         * lib/gc.h (gc_hash_buffer): Add doc.
71513
71514 2005-10-11  Bruno Haible  <bruno@clisp.org>
71515
71516         * modules/c-strcasestr: New file.
71517         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
71518
71519 2005-10-11  Bruno Haible  <bruno@clisp.org>
71520
71521         * modules/c-strcase: New file.
71522         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
71523
71524 2005-10-11  Bruno Haible  <bruno@clisp.org>
71525
71526         * lib/strcasecmp.c: Include limits.h.
71527         (strcasecmp): Avoid integer overflow on exotic platforms.
71528         * lib/strncasecmp.c: Include limits.h.
71529         (strncasecmp): Avoid integer overflow on exotic platforms.
71530         Reported by Paul Eggert.
71531
71532 2005-10-11  Bruno Haible  <bruno@clisp.org>
71533
71534         * lib/c-strcasestr.h: New file, from GNU gettext.
71535         * lib/c-strcasestr.c: New file, from GNU gettext.
71536
71537 2005-10-11  Bruno Haible  <bruno@clisp.org>
71538
71539         * lib/c-strcase.h: New file, from GNU gettext.
71540         * lib/c-strcasecmp.c: New file, from GNU gettext.
71541         * lib/c-strncasecmp.c: New file, from GNU gettext.
71542
71543 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71544
71545         * modules/mempcpy (License): GPL -> LGPL.
71546         * modules/strchrnul (License): Likewise.
71547         * modules/sysexits (License): Likewise.
71548
71549 2005-10-08  Simon Josefsson  <jas@extundo.com>
71550
71551         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
71552
71553 2005-10-07  Simon Josefsson  <jas@extundo.com>
71554
71555         * m4/memxor.m4: Remove gl_C_RESTRICT call.
71556
71557 2005-10-06  Simon Josefsson  <jas@extundo.com>
71558
71559         * tests/test-hmac-md5.c: New file.
71560
71561         * modules/hmac-md5-tests: New file.
71562
71563         * modules/hmac-md5: New file.
71564
71565 2005-10-06  Simon Josefsson  <jas@extundo.com>
71566
71567         * m4/hmac-md5.m4: New file.
71568
71569         * m4/memxor.m4: Require gl_C_RESTRICT.
71570
71571 2005-10-06  Simon Josefsson  <jas@extundo.com>
71572
71573         * lib/memxor.c (memxor): Avoid casts and warnings.
71574
71575 2005-10-06  Simon Josefsson  <jas@extundo.com>
71576
71577         * lib/hmac-md5.c: New file.
71578
71579         * lib/hmac.h: New file.
71580
71581 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71582
71583         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
71584         promotes to int, not unsigned int, to catch the AIX 5.3
71585         compiler bug.
71586
71587 2005-10-05  Simon Josefsson  <jas@extundo.com>
71588
71589         * modules/memxor: New file.
71590
71591         * modules/iconv (Files): Move config.rpath to havelib, it is used
71592         there.
71593
71594         * modules/havelib (Files): Add config.rpath.
71595
71596 2005-10-05  Simon Josefsson  <jas@extundo.com>
71597
71598         * m4/memxor.m4: New file.
71599
71600 2005-10-05  Simon Josefsson  <jas@extundo.com>
71601
71602         * lib/memxor.c (memxor): Fix compiler error.
71603
71604         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
71605         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
71606
71607         * lib/memxor.h, lib/memxor.c: New files.
71608
71609         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
71610         we assume all systems have it, suggested by Jim Meyering
71611         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
71612         any systems lack sys/socket.h; mingw32 is known to lack it, but we
71613         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
71614         same reasons.
71615
71616 2005-10-05  Simon Josefsson  <jas@extundo.com>
71617
71618         * config/srclist.txt: Add glibc bug 1423 for md5.h.
71619
71620 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71621
71622         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
71623         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
71624         needed, since the source code now assumes these .h files.
71625
71626 2005-10-05  Derek Price  <derek@ximbiot.com>
71627
71628         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
71629
71630 2005-10-05  Bruno Haible  <bruno@clisp.org>
71631
71632         * modules/stdint (License): Change to LGPL.
71633
71634 2005-10-04  Simon Josefsson  <jas@extundo.com>
71635
71636         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
71637         D. Baushke" <mdb@gnu.org>.
71638
71639 2005-10-04  Bruno Haible  <bruno@clisp.org>
71640
71641         * lib/verify.h (verify_true): Provide alternative definition for C++.
71642
71643 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
71644
71645         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
71646         (SSIZE_MAX): New macro, if not already defined.
71647         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
71648         than 2 GiB.
71649
71650 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
71651
71652         Sync from coreutils.
71653         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
71654         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
71655         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
71656         ULLONG_MAX doesn't work with 2.7.2.1.
71657
71658 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
71659
71660         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
71661         From Ben Pfaff.
71662
71663         * modules/exclude (Depends-on): Depend on verify.
71664         * modules/strtoimax (Depends-on): Likewise.
71665         * modules/utimecmp (Depends-on): Likewise.
71666
71667 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
71668
71669         * lib/exclude.c: Include verify.h.
71670         (verify): Remove.  All callers changed to use verify.h's version.
71671         * lib/strtoimax.c: Likewise.
71672         * lib/utimecmp.c: Likewis.e
71673
71674         Sync from coreutils.
71675         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
71676         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
71677         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
71678         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
71679         bother returning ENOSYS if settimeofday or stime fails; just let
71680         them return whatever errno they want to return.
71681         * lib/utimens.c: Include unistd.h, for dup2.
71682         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
71683         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
71684
71685 2005-10-02  Jim Meyering  <jim@meyering.net>
71686
71687         Sync from coreutils.
71688         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
71689         from glibc-2.2.5 that fails for read-only files.
71690
71691 2005-10-02  Jim Meyering  <jim@meyering.net>
71692
71693         Sync from coreutils.
71694         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
71695         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
71696         `#if HAVE_CONFIG_H'.
71697         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
71698         Remove AT_FDCWD test.
71699         Do not consume the fd unless successful.
71700         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
71701         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
71702         block, so that we don't even try to compile it if settimeofday is
71703         available.  This works around a compilation failure on OSF1 V5.1,
71704         due to stime requiring a `long int*' while tv_sec is `int'.
71705
71706 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
71707
71708         Sync from coreutils.
71709         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
71710         against `yes', rather than just testing for nonempty.
71711
71712 2005-10-01  Simon Josefsson  <jas@extundo.com>
71713
71714         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
71715         and Darwin.
71716
71717         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
71718         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
71719         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
71720         freeaddrinfo and gai_strerror are declared by the POSIX headers.
71721         Check if struct addrinfo is declared.
71722
71723 2005-10-01  Simon Josefsson  <jas@extundo.com>
71724
71725         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
71726         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
71727         AI_* and EAI_* definitions.  Protect function declarations.
71728
71729 2005-10-01  Jim Meyering  <jim@meyering.net>
71730
71731         Sync from coreutils.
71732
71733         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
71734         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
71735         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
71736         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
71737         in the inet and nsl libraries.  Required on Solaris 5.7.
71738
71739 2005-10-01  Jim Meyering  <jim@meyering.net>
71740
71741         Sync from coreutils.
71742         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
71743         in the inet and nsl libraries.  Required on Solaris 5.7.
71744
71745 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
71746
71747         * lib/getdelim.c (getdelim): Remove unused variables.
71748
71749 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71750
71751         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
71752         so that the code works even with ancient cpp.  Portability problem
71753         with GCC 2.7.2.1 reported by Thomas M.Ott.
71754
71755 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71756
71757         * modules/regex (Depends-on): Add strcase.
71758
71759         * modules/gethostname (Licence): Change from GPL to LGPL, since
71760         gethostname.c is a trivial implementation of a standard library
71761         function.
71762         * modules/poll (License): Change from GPL to LGPL, since it's
71763         derived from LGPL code.
71764
71765 2005-09-27  Jim Meyering  <jim@meyering.net>
71766
71767         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
71768         HAVE_CONFIG_H.
71769
71770         * lib/intprops.h (signed_type_or_expr__): Define.
71771         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
71772         for unsigned types.
71773
71774 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71775
71776         * lib/verify.h (verify_expr): Remove, replacing with:
71777         (verify_true): New macro that returns true instead of void.
71778         (verify_type__): Remove.
71779         (verify): Use verify_true rather than verify_type__.
71780
71781 2005-09-26  Bruno Haible  <bruno@clisp.org>
71782
71783         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
71784         is necessary.
71785         (lib_SOURCES): Remove mbchar.c.
71786         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
71787         (Files): Add m4/mbrtowc.m4.
71788         * modules/mbiter: Likewise.
71789         * modules/mbuiter: Likewise.
71790
71791 2005-09-26  Bruno Haible  <bruno@clisp.org>
71792
71793         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
71794         compile mbchar.c if they are not both present.
71795         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
71796         * m4/mbiter.m4 (gl_MBITER): Likewise.
71797         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
71798         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
71799         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
71800
71801 2005-09-25  Jim Meyering  <jim@meyering.net>
71802
71803         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
71804         also uses socklen_t.
71805
71806 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
71807
71808         * lib/utimens.c (ENOSYS): Define if not already defined.
71809         (futimens): Support having a null PATH if the file descriptor
71810         is nonnegative.
71811
71812         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
71813         Remove.
71814         (__attribute): Define to empty unless GCC 3.1 or later.
71815         This works around a core dump on OpenBSD 3.4, which has GCC
71816         2.95.3, which dumps core when given __attribute__(()).  It also
71817         simplifies other tests, since we really don't want to bother with
71818         worrying about which ancient version of GCC supported what.
71819         Original problem reported by Yoann Vandoorselaere, with part of
71820         the fix suggested by Derek Price.
71821
71822 2005-09-24  Jim Meyering  <jim@meyering.net>
71823
71824         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
71825         so we can once again use a positive bitfield width of 1 -- now we
71826         don't have to explain why we were using a bitfield width of 2.
71827
71828 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
71829
71830         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
71831         and similarly for the other external symbols.  Problem reported
71832         by James Gallager.
71833
71834         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
71835         bug reported by Jim Meyering.
71836
71837         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
71838         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
71839         not needed, since socklen is a prerequisite module.
71840
71841 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
71842
71843         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
71844         Problem reported by Eric Blake.
71845         (getaddrinfo): Initialize se so that it's not garbage.
71846         Redo internal storage allocation so that it doesn't make unportable
71847         assumptions about alignment.
71848         Fix a memory leak.
71849
71850         * lib/utimens.c (futimens): Use futimesat if available.
71851         Prefer it to futimes since it doesn't have the futimes bug.
71852
71853         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
71854         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
71855         Instead, declare a function that returns a pointer to an array,
71856         and use verify_type__ to declare the size of the array.
71857         Problem and germ of a solution reported by Bruno Haible.
71858         (verify_type__): Use 2, not 1, for bitfield size, to avoid
71859         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
71860
71861 2005-09-23  Jim Meyering  <jim@meyering.net>
71862
71863         Sync from coreutils.
71864         Correct build failure (socklen_t not defined) on at least
71865         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
71866         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
71867
71868 2005-09-23  Jim Meyering  <jim@meyering.net>
71869
71870         * modules/getaddrinfo (Depends-on): Add socklen.
71871
71872 2005-09-23  Bruno Haible  <bruno@clisp.org>
71873
71874         * tests/test-verify.c: New file.
71875
71876 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71877
71878         Sync from coreutils.
71879
71880         * modules/argmatch (Depends-on): Add verify.
71881         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
71882         unistd-safer.
71883         * modules/save-cwd (Depends-on): Likewise.
71884
71885         * modules/openat (Files): Add lib/openat-die.c.
71886         (Depends-on): Remove error, exitfail.
71887         Add dirname.
71888
71889         * modules/verify: New file.
71890         * MODULES.html.sh (Diagnostics <assert.h>): New section,
71891         with "verify" module.
71892
71893 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71894
71895         Sync from coreutils.
71896
71897         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
71898         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
71899         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
71900         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
71901         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
71902         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
71903         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
71904         Don't bother checking for string.h, stdlib.h, unistd.h.
71905         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
71906         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
71907         module's job.
71908         * m4/jm-macros.m4 (gl_MACROS): Likewise.
71909         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
71910
71911         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
71912         (gl_GETDATE): Use it.
71913
71914         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
71915
71916 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71917
71918         Sync from coreutils.
71919
71920         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
71921         stat-time.h.
71922         * lib/argmatch.h: Include verify.h
71923         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
71924         (ARGMATCH_ASSERT): Remove; unused.
71925         * lib/canonicalize.c: Assume STDC_HEADERS.
71926         * lib/exclude.c: Include "strcase.h".
71927         * lib/regex_internal.h [!defined _LIBC]: Likewise.
71928         * lib/getusershell.c: Include stdio--.h rather than stdio.h
71929         and stdio-safer.h.
71930         (getusershell): Call fopen, not fopen_safer.
71931         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
71932         Do not include unistd-safer.h.
71933         (save_cwd): Don't call fd_safer; no longer needed
71934         now that we include fcntl--.h.
71935
71936         * lib/getdate.y (relative_time): New type.
71937         (RELATIVE_TIME_0): New constant.
71938         (parser_control): Use relative_time instead of doing it ourselves.
71939         (%union): Add new relative_time rel member.
71940         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
71941         Now typeless.
71942         (relunit, relunit_snumber): Now of type rel.
71943         (zone, rel, relunit, get_date): Adjust to above changes.
71944
71945         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
71946         Do not include unistd-safer.h.
71947         (getloadavg): Don't call fd_safer; no longer needed
71948         now that we include fcntl--.h.
71949
71950         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
71951         (make_dir_parents): Treat ENOSYS like EEXIST.
71952
71953         Improve quality of diagnostics on restore_cwd failure.
71954         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
71955         (make_dir_parents): Last arg is now int * (for errno), not bool *.
71956         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
71957         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
71958         each time through the loop.  Do not diagnose restore_cwd failure;
71959         that is the caller's job (and perhaps the caller does not care).
71960
71961         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
71962         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
71963         If the file already exists but is not a directory, don't bother
71964         to try to make its parents.
71965         Close potential file descriptor leak if we can't chdir("/") (!).
71966         Don't always return true if chdir($PWD) fails; return true only
71967         if the requested action was done successfully (except for the
71968         chdir($PWD)).
71969         Don't log final directory unless we actually made it.
71970         Refactor to avoid duplicate code to fix up permissions.
71971         Don't attempt to fix up parent permissions if chdir($PWD) fails.
71972
71973         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
71974         to make it a bit faster and (I hope) clearer.
71975         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
71976         Fix bug in formats like %2N.
71977
71978         * lib/verify.h: New file.
71979
71980 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71981
71982         Sync from coreutils.
71983         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
71984
71985 2005-09-22  Jim Meyering  <jim@meyering.net>
71986
71987         Sync from coreutils.
71988
71989         * m4/lstat.m4 (gl_FUNC_LSTAT):
71990         Use AC_LIBSOURCES to require lstat.c and lstat.h.
71991         Remove obsolete comment.
71992         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
71993         * m4/xstrtod.m4: Likewise.
71994
71995         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
71996
71997 2005-09-22  Jim Meyering  <jim@meyering.net>
71998
71999         Sync from coreutils.
72000
72001         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
72002
72003         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
72004         the .tm_year member, since otherwise gcc-4.0 would now warn about
72005         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
72006
72007         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
72008         order to avoid an unsuppressible warning from gcc on 64-bit systems.
72009
72010         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
72011         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
72012         when run in a time zone for which daylight savings time is in effect
72013         for the starting date.
72014
72015         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
72016         stop us from restricting permissions of just-created absolute-named
72017         directories.
72018         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
72019         to restore initial working directory.
72020         * lib/mkdir-p.c (make_dir_parents): New parameter:
72021         different_working_dir, to tell caller if/when we change the working
72022         directory and are unable to return to the initial one.
72023         * lib/mkdir-p.h (make_dir_parents): Update prototype.
72024         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
72025         `return false'.  This fixes a bug introduced on 2004-07-30.
72026
72027         * lib/openat.c (fdopendir): Be sure to close the supplied
72028         file descriptor before returning.  This makes our replacement
72029         implementation a little closer to Solaris's, where fdopendir
72030         ties the file descriptor to the returned DIR* pointer.
72031         * lib/openat.c (unlinkat): New function.
72032         * lib/openat.h (unlinkat): Add prototype.
72033         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
72034         (openat_restore_fail): Rename from openat_restore_die.
72035         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
72036
72037         Provide an alternative to exiting immediately upon save_cwd or
72038         restore_cwd failure.  Now, an application can arrange e.g.,
72039         to perform a longjump in that case.
72040         * lib/openat.c: Include dirname.h.
72041         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
72042         (rpl_openat, fdopendir, fstatat): Call openat_save_die
72043         and openat_restore_die rather than calling error directly.
72044         Don't include "error.h" or "exitfail.h"; they're no longer needed.
72045
72046         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
72047         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
72048         define.
72049
72050         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
72051         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
72052                             int utc, int nanoseconds);
72053         Background:
72054         date should not have to allocate a megabyte of virtual memory to
72055         handle a format argument like +%1048575T.  When implemented with
72056         strftime, it must allocate such a buffer, use strftime to fill it
72057         in, print it, then free it.
72058         With fprintftime, it simply prints everything and exits.
72059         With no need for memory allocation, that's one fewer way to fail.
72060         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
72061         optional field width, not before, so we accept %9:z, not %:9z.
72062         (my_strftime): Be sure to use L_('x') for literals.
72063
72064         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
72065         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
72066         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
72067         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
72068         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
72069         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
72070         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
72071         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
72072         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
72073         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
72074         * lib/xgethostname.c, lib/xreadlink.c:
72075         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
72076
72077         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
72078         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
72079         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
72080         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
72081         and don't include <sys/file.h>).
72082
72083 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
72084
72085         Sync from coreutils.
72086
72087         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
72088         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
72089         [!LDAV_DONE]: Avoid unused variable warning.
72090
72091 2005-09-21  Bruno Haible  <bruno@clisp.org>
72092
72093         * lib/unicodeio.h (unicode_to_mb): New declaration.
72094
72095 2005-09-20  Derek Price  <derek@ximbiot.com>
72096
72097         * lib/getaddrinfo.c: Don't include <netdb.h> included from
72098         getaddrinfo.h.
72099
72100 2005-09-20  Bruno Haible  <bruno@clisp.org>
72101
72102         * gnulib-tool: Remove trailing slashes from the values specified for
72103         --source-base, --m4-base, --tests-base, --aux-dir.
72104         Suggested by Simon Josefsson <jas@extundo.com>.
72105
72106 2005-09-20  Bruno Haible  <bruno@clisp.org>
72107
72108         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
72109         func_modules_to_filelist, func_import, func_create_testdir): Make all
72110         sorting results locale-independent, so that gnulib-cache.m4 doesn't
72111         change when gnulib-tool is invoked in a different locale.
72112
72113 2005-09-19  Simon Josefsson  <jas@extundo.com>
72114
72115         * m4/socklen.m4: Fix typo.
72116
72117 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72118
72119         Use a consistent style for including <config.h>.
72120         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
72121         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
72122         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
72123         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
72124         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
72125         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
72126         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
72127         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
72128         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
72129         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
72130         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
72131         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
72132         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
72133         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
72134         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
72135         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
72136         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
72137         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
72138         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
72139         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
72140         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
72141         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
72142         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
72143         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
72144         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
72145         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
72146         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
72147         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
72148         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
72149         lib/xstrtoumax.c, lib/yesno.c:
72150         Standardize inclusion of config.h.
72151         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
72152         lib/inttostr.h:  Removed inclusion of config.h from header files.
72153         * lib/inttostr.c:  Adjusted in-tree users.
72154         * lib/timespec.h: Remove superfluous warning to include config.h.
72155         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
72156         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
72157         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
72158         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
72159         config.h with HAVE_CONFIG_H.
72160
72161 2005-09-19  Jim Meyering  <jim@meyering.net>
72162
72163         * modules/pathmax (License): Change to LGPL.
72164
72165 2005-09-19  Derek Price  <derek@ximbiot.com>
72166
72167         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
72168
72169 2005-09-19  Bruno Haible  <bruno@clisp.org>
72170
72171         * gnulib-tool (import): Provide default for --tests-base.
72172
72173 2005-09-19  Bruno Haible  <bruno@clisp.org>
72174
72175         * doc/quote.texi: New file, extracted from gnulib.texi.
72176         * doc/ctime.texi: New file, extracted from gnulib.texi.
72177         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
72178         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
72179         * doc/gnulib.texi: Include them.
72180
72181 2005-09-18  Bruno Haible  <bruno@clisp.org>
72182
72183         Portability fix.
72184         * gnulib-tool (func_readlink): New function.
72185         (func_ln_if_changed): Use it.
72186
72187 2005-09-18  Bruno Haible  <bruno@clisp.org>
72188
72189         * gnulib-tool: Support --with-tests also with --import.
72190         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
72191         (func_import): Use variables $testsbase and $inctests. Emit a
72192         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
72193         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
72194         SUBDIRS += $testsdir.
72195         (func_create_testdir): Update.
72196
72197 2005-09-18  Bruno Haible  <bruno@clisp.org>
72198
72199         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
72200         instead of $dry_run.
72201         (func_cp_if_changed, func_mv_if_changed): Remove functions.
72202         (func_ln_if_changed): Don't handle dry-run here.
72203         (func_import): In dry-run mode, detect more precisely which actions
72204         would be performed, and don't use "...ing" verbs.
72205
72206 2005-09-18  Bruno Haible  <bruno@clisp.org>
72207
72208         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
72209         (func_import): Use join on two temporary files instead of three nested
72210         loops, in order to determine which files are new or old.
72211
72212 2005-09-18  Bruno Haible  <bruno@clisp.org>
72213
72214         * gnulib-tool (func_import): Comment out code that spits out the
72215         new files with --dry-run.
72216
72217 2005-09-18  Bruno Haible  <bruno@clisp.org>
72218
72219         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
72220
72221 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72222
72223         * lib/stat-time.h: New file.
72224         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
72225         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
72226         in a different way.
72227         (timespec_cmp): New function.
72228         * lib/utimecmp.c: Include stat-time.h.
72229         (SYSCALL_RESOLUTION): Depend on whether various struct stat
72230         members exist, not on the obsolescent ST_MTIM_NSEC.
72231         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
72232
72233 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72234
72235         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
72236
72237 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72238
72239         * MODULES.html.sh (File system functions): Add stat-time.
72240         * modules/stat-time: New file.
72241         * modules/timespec (Files): Remove m4/st_mtim.m4; this
72242         is now done in a different way, by the stat-time module.
72243         * modules/utimecmp (Depends-on): Add stat-time.
72244
72245 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72246
72247         * m4/st_mtim.m4: Remove.  Superseded by...
72248         * m4/stat-time.m4: New file.
72249         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
72250         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
72251
72252 2005-09-15  Derek Price  <derek@ximbiot.com>
72253
72254         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
72255
72256 2005-09-15  Derek Price  <derek@ximbiot.com>
72257
72258         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
72259         * lib/regex_internal.c: Ditto, using this...
72260         (__GNUC_PREREQ): ...new macro.
72261         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
72262         using...
72263         (__GNUC_PREREQ): ...this new macro.
72264
72265         * lib/strstr.h: Include string.h. Define strstr as a macro here.
72266
72267 2005-09-15  Derek Price  <derek@ximbiot.com>
72268             Paul Eggert  <eggert@cs.ucla.edu>
72269
72270         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
72271         changes, consolidating in...
72272         * lib/regex_internal.h: ...this file.
72273
72274 2005-09-13  Jim Meyering  <jim@meyering.net>
72275
72276         * lib/canon-host.c: Filter through gnu indent and reword comments
72277         slightly.
72278         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
72279
72280 2005-09-13  Derek Price  <derek@ximbiot.com>
72281
72282         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
72283         failure.
72284         Reported by Jim Meyering  <jim@meyering.net>.
72285
72286 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72287
72288         * lib/base64.c: Typo.
72289         (base64_encode): Put b64str in initialized data section.
72290
72291 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
72292
72293         Merge glibc and coreutils changes into gnulib, plus a few
72294         extra fixes.
72295         * lib/md5.c: Use #error rather than a string.
72296         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
72297         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
72298         (__attribute__): Define to empty for non recent-GCC.
72299         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
72300         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
72301         Renamed from their non-__ counterparts, with new macros replacing
72302         them if not _LIBC.  Add __THROW attribute.
72303         (rol): Remove.
72304         (struct md5_ctx): Align buffer if using GCC.
72305         * lib/sha1.h (struct sha1_ctx): Likewise.
72306         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
72307         The old name was backwards.
72308         (NOTSWAP): Remove; not used.
72309         (rol): New macro, moved here from md5.h.
72310         (sha1_process_block): Remove a FIXME that doesn't make sense.
72311
72312 2005-09-12  Derek Price  <derek@ximbiot.com>
72313
72314         Return usable errors from canon-host.
72315         * lib/canon-host.h: New file.
72316         * lib/canon-host.c (canon_host): Wrap...
72317         (canon_host_r): ...this new function, which now relies exclusively on
72318         getaddrinfo.
72319         (ch_strerror): New function.
72320         (last_cherror): New global.
72321         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
72322         interface.
72323         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
72324         void *.
72325         (freeaddrinfo): Free ai->ai_canonname when set.
72326
72327 2005-09-12  Derek Price  <derek@ximbiot.com>
72328
72329         Make canon-host require getaddrinfo.
72330         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
72331         AC_LIBSOURCE canon-host.h.  Call...
72332         (gl_PREREQ_CANON_HOST): ...this new function, which requires
72333         gl_GETADDRINFO.
72334         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
72335
72336 2005-09-12  Derek Price  <derek@ximbiot.com>
72337
72338         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
72339         LGPL.
72340         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
72341
72342 2005-09-12  Derek Price  <derek@ximbiot.com>
72343
72344         * lib/gai_strerror.c: Include config.h when available.  Include
72345         getaddrinfo.h before other headers to test interface.
72346         Reported by Larry Jones <lawrence.jones@ugs.com>.
72347
72348 2005-09-12  Derek Price  <derek@ximbiot.com>
72349             Paul Eggert  <eggert@cs.ucla.edu>
72350
72351         * modules/glob (Files): Add glob-libc.h.
72352
72353 2005-09-12  Derek Price  <derek@ximbiot.com>
72354             Paul Eggert  <eggert@cs.ucla.edu>
72355
72356         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
72357         glob_.h, glob-libc.h.
72358         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
72359
72360 2005-09-12  Derek Price  <derek@ximbiot.com>
72361             Paul Eggert  <eggert@cs.ucla.edu>
72362
72363         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
72364         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
72365         protecting things that should be done only in gnulib contexts.
72366         * lib/glob_.h: New file, containing only the glob things needed for
72367         gnulib.
72368         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
72369         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
72370         (glob, globfree, glob_pattern_p): Now defined simply in terms of
72371         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
72372         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
72373         and to respect the namespace rules better.
72374
72375 2005-09-08  Simon Josefsson  <jas@extundo.com>
72376
72377         * modules/socklen: New file.
72378
72379 2005-09-08  Simon Josefsson  <jas@extundo.com>
72380
72381         * m4/socklen.m4: New file.
72382
72383 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72384
72385         * modules/utimens (Files): Add m4/utimbuf.m4, since
72386         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
72387         Reported by Sergey Poznyakoff.
72388
72389 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72390
72391         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
72392         definitions, since that's the preferred style in glibc.
72393         Fix a minor spacing issue, and update copyright notice to match
72394         glibc's.
72395
72396 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
72399
72400 2005-09-06  Simon Josefsson  <jas@extundo.com>
72401
72402         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
72403         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
72404
72405 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
72408         warning.
72409
72410 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72411
72412         * config/srclist.txt: Add glibc bug 1302.
72413
72414 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
72415
72416         Change bitset word type from unsigned int to unsigned long int,
72417         as this has better performance on typical 64-bit hosts.
72418         Port bitset code to hosts with unusual word sizes.
72419         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
72420         (build_collating_symbol):
72421         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
72422         argument is a bitset.  This is merely a style issue, but it makes
72423         it clearer that an entire array is expected.
72424         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
72425         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
72426         Port to the case where bitset_word is not the same as unsigned int.
72427         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
72428         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
72429         Likewise.
72430         * lib/regexec.c (check_dst_limits_calc_pos_1,
72431         check_subexp_matching_top):
72432         (build_trtable, group_nodes_into_DFAstates):
72433         Likewise.
72434         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
72435         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
72436         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
72437         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
72438         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
72439         * lib/regcomp.c (optimize_subexps, lower_subexp):
72440         Work even if bitset_word has holes in its bitwise representation.
72441         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
72442         * lib/regexec.c (check_dst_limits_calc_pos_1,
72443         check_subexp_matching_top):
72444         Likewise.
72445         * lib/regex_internal.c (re_string_reconstruct):
72446         Don't assume UCHAR_MAX == 255.
72447         * lib/regex_internal.h (bitset_set_all): Likewise.
72448         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
72449         All uses changed.
72450         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
72451         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
72452         All uses changed.
72453         (BITSET_WORD_MAX): New macro.
72454         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
72455         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
72456         (bitset_empty, bitset_copy):
72457         Prefer sizeof (bitset) to multiplying it out ourselves.
72458         (bitset_not_merge): Remove; unused.
72459         (bitset_contain): Return bool, not unsigned int with one bit on.
72460         All callers changed.
72461         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
72462         alignment than re_node_set; do this by defining a new internal
72463         type struct dests_alloc and using it to allocate memory.
72464
72465 2005-09-05  Bruno Haible  <bruno@clisp.org>
72466
72467         * gnulib-tool (func_import): Fix comparison in handling of symbolic
72468         links.
72469
72470 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
72471
72472         * modules/size_max (Makefile.am): Add size_max.h
72473
72474 2005-09-04  Derek Price  <derek@ximbiot.com>
72475
72476         * gnulib-tool (func_import): Fix reversed $symbolic logic.
72477
72478 2005-09-03  Simon Josefsson  <jas@extundo.com>
72479
72480         * gnulib-tool: Fix typo.
72481
72482 2005-09-03  Simon Josefsson  <jas@extundo.com>
72483
72484         * config/srclist.txt: Add glibc bug 1293.
72485
72486 2005-09-03  Derek Price  <derek@ximbiot.com>
72487
72488         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
72489         From Larry Jones <lawrence.jones@ugs.com>.
72490
72491 2005-09-02  Simon Josefsson  <jas@extundo.com>
72492
72493         * modules/socklen: New file.
72494
72495 2005-09-02  Simon Josefsson  <jas@extundo.com>
72496
72497         * modules/havelib: New module.
72498
72499         * modules/gettext, modules/iconv, modules/lock, modules/readline:
72500         Use havelib.
72501
72502 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
72503
72504         Check for arithmetic overflow when calculating sizes, to prevent
72505         some buffer-overflow issues.  These patches are conservative, in the
72506         sense that when I couldn't determine whether an overflow was possible,
72507         I inserted a run-time check.
72508         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
72509         macros.
72510         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
72511         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
72512         (re_xnrealloc, re_x2nrealloc): New inline functions.
72513         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
72514         parse_bracket_exp):
72515         (build_equiv_class, build_charclass): Check for arithmetic overflow
72516         in size expression calculations.
72517         * lib/regex_internal.c (re_string_realloc_buffers):
72518         (build_wcs_upper_buffer, re_node_set_add_intersect):
72519         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
72520         (re_dfa_add_node, register_state): Likewise.
72521         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
72522         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
72523         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
72524         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
72525
72526 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
72527
72528         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72529         m4/ulonglong.m4.  Problem reported by Martin Lambers.
72530
72531 2005-09-02  Bruno Haible  <bruno@clisp.org>
72532
72533         Support for lib vs. lib64 distinction on biarch platforms.
72534         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
72535         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
72536         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
72537
72538 2005-09-02  Bruno Haible  <bruno@clisp.org>
72539
72540         * gnulib-tool (import): In the other first-use case, provide defaults
72541         as well.
72542
72543 2005-09-02  Bruno Haible  <bruno@clisp.org>
72544
72545         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
72546         patches not yet found in the latest gettext release.
72547
72548 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
72551         to avoid a collision with bits/local_lim.h in glibc.
72552         All uses changed.  Problem reported by Dmitry V. Levin in
72553         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
72554
72555         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
72556         bugs in int versus size_t comparisons.
72557         (re_string_context_at): Fix bug where the code assumed that
72558         Idx is signed.
72559
72560         Use bool where appropriate.
72561         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
72562         All callers changed.
72563         (calc_eclosure_iter): Likewise, for ROOT arg.
72564         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
72565         (build_charclass_op): Likewise, for NON_MATCH arg.
72566         * lib/regex_internal.c (re_string_allocate, re_string_construct):
72567         (re_string_construct_common): Likewise, for ICASE arg.
72568         * lib/regexec.c (re_search_2_stub, re_search_stub):
72569         Likewise, for RET_LEN arg.
72570         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
72571         (set_regs): Likewise, for FL_BACKTRACK arg.
72572         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
72573         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
72574         (calc_eclosure_iter, parse_bracket_exp):
72575         Use bool for internal variables that are booleans.
72576         * lib/regexec.c (re_search_internal, check_matching,
72577         proceed_next_node):
72578         (set_regs, build_sifted_states, sift_states_bkref):
72579         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
72580         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
72581         (find_collation_sequence_value):
72582         Likewise.
72583         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
72584         (re_node_set_compare):
72585         Return bool, not int. All callers changed.
72586         * lib/regexec.c (check_halt_node_context, check_dst_limits):
72587         (build_trtable, check_node_accept): Likewise.
72588         * lib/regex_internal.h: Include stdbool.h.
72589
72590         Fix bugs uncovered when converting to bool.
72591         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
72592         failure instead of charging ahead blindly.
72593         * lib/regex_internal.c (register_state): Likewise.
72594         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
72595         for freeing internal storage.
72596         (group_nodes_into_DFA_states): Use unsigned int, not int, for
72597         bitset pieces used as boolean, to avoid undefined behavior
72598         on hosts that do int overflow checking.
72599
72600 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         * config/srclist.txt: Add glibc bugs 1285-1287.
72603
72604 2005-09-01  Jim Meyering  <jim@meyering.net>
72605
72606         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
72607         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
72608         Require gl_STAT_MACROS, too.
72609
72610 2005-09-01  Bruno Haible  <bruno@clisp.org>
72611
72612         * gnulib-tool (import): In the first-use case, provide defaults.
72613
72614 2005-09-01  Bruno Haible  <bruno@clisp.org>
72615
72616         * gnulib-tool (func_import): Remove the .tmp files.
72617
72618 2005-09-01  Bruno Haible  <bruno@clisp.org>
72619
72620         * gnulib-tool (func_import): Fix handling of symbolic links.
72621
72622 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72623
72624         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
72625         old glibc regex code mishandles strings longer than 2**31 bytes.
72626         This patch fixes this when the regex code is used in gnulib
72627         (i.e., outside glibc).
72628
72629         This patch should not affect the use of the regex code inside
72630         glibc.  No doubt this problem also needs to be handled for glibc
72631         as well, but the result will be an incompatible change to the
72632         glibc ABI, and the old ABI will have to be supported too.  That
72633         can be the the subject for another patch.
72634
72635         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
72636         governing whether the rest of this patch is active.  By default,
72637         the macro is disabled and the patch has no effect.
72638         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
72639         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
72640         (struct re_pattern_buffer, re_search, re_search_2, re_match):
72641         (re_match_2, re_set_registers): Use the new types.
72642         * lib/regex_internal.h (Idx, re_hashval_t): New types.
72643         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
72644         New macros.
72645         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
72646         (re_string_context_at, bin_tree_t, re_dfastate_t):
72647         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
72648         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
72649         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
72650         (re_string_char_size_at, re_string_wchar_at):
72651         (re_string_elem_size_at):
72652         Use the new types and macros to port to 64-bit hosts.
72653         Use unsigned types for internal values, so that the code
72654         mostly works even for arrays larger than SSIZE_MAX.
72655         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
72656         (search_duplicated_node, calc_eclosure_iter, fetch_number):
72657         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
72658         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
72659         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
72660         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
72661         (calc_inveclosure, parse_dup_op, build_range_exp):
72662         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
72663         (fetch_number, create_token_tree, mark_opt_subexp):
72664         Likewise.
72665         * lib/regex_internal.c (re_string_construct_common,
72666         create_ci_newstate):
72667         (create_cd_newstate, re_string_allocate, re_string_construct):
72668         (re_string_realloc_buffers, build_wcs_upper_buffer):
72669         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
72670         (re_string_reconstruct, re_string_peek_byte_case):
72671         (re_string_fetch_byte_case, re_string_context_at):
72672         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
72673         (re_node_set_init_copy, re_node_set_add_intersect):
72674         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
72675         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
72676         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
72677         (re_acquire_state, re_acquire_state_context, register_state):
72678         Likewise.
72679         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
72680         search_cur_bkref_entry):
72681         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
72682         (re_search_internal, re_search_2_stub, re_search_stub)
72683         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
72684         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
72685         (update_cur_sifted_state, check_dst_limits):
72686         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
72687         (check_subexp_limits, sift_states_bkref, merge_state_array):
72688         (check_subexp_matching_top, get_subexp, get_subexp_sub):
72689         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
72690         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
72691         (expand_bkref_cache, check_node_accept_bytes):
72692         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
72693         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
72694         (acquire_init_state_context, check_halt_node_context):
72695         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
72696         (sift_states_backward, clean_state_log_if_needed):
72697         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
72698         (find_recover_state, transit_state_sb, transit_state_mb):
72699         (transit_state_bkref, build_trtable, match_ctx_clean):
72700         Likewise.
72701         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
72702         to work around an assumption that REG_MISSING is negative.
72703
72704         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
72705         (seek_collating_symbol_entry) [defined _LIBC]:
72706         (lookup_collation_sequence_value) [defined _LIBC]:
72707         (build_range_exp, build_collating_symbol) [defined _LIBC]:
72708         Use prototypes rather than old-style function definitions.
72709         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
72710         (transit_state_sb) [0]:
72711         (find_collation_sequence_value) [defined _LIBC]: Likewise.
72712
72713         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
72714         rm_eo.
72715
72716         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
72717         (optimize_subexps, lower_subexp):
72718         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
72719         since the signed shift might overflow.  Use 1u<<31 instead.
72720         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
72721         Likewise.
72722         * lib/regexec.c (check_dst_limits_calc_pos_1,
72723         check_subexp_matching_top): Likewise.
72724
72725         * lib/regcomp.c (optimize_subexps, lower_subexp):
72726         Use CHAR_BIT rather than 8, for clarity.
72727         * lib/regexec.c (check_dst_limits_calc_pos_1):
72728         (check_subexp_matching_top): Likewise.
72729         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
72730         have to worry about portability issues when shifting it left.
72731         Remove no-longer-needed test for table_size > 0.
72732         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
72733         in a word, as the resulting behavior is undefined.
72734         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
72735         in one case, a <= should have been an <, and in another case the
72736         whole test was missing.
72737         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
72738         the standard name CHAR_BIT.
72739         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
72740         this is not true on one's complement and signed-magnitude hosts.
72741
72742         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
72743         next_last_offset.
72744         (struct re_dfa_t): Remove unused member states_alloc.
72745         * lib/regcomp.c (init_dfa): Don't initialize unused members.
72746
72747 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72748
72749         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
72750         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
72751         and large-file glibc and in 32-bit large-file Solaris.
72752
72753 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72754
72755         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
72756         lengths fit in regoff_t; this isn't true if regoff_t is the same
72757         width as size_t.
72758         * lib/regex.c (re_search_internal): 5th arg is LAST_START
72759         (= START + RANGE) instead of RANGE.  This avoids overflow
72760         problems when regoff_t is the same width as size_t.
72761         All callers changed.
72762         (re_search_2_stub): Check for overflow when adding the
72763         sizes of the two strings.
72764         (re_search_stub): Check for overflow when adding START
72765         to RANGE; if it occurs, substitute the extreme value.
72766
72767 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72768
72769         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
72770
72771 2005-08-31  Jim Meyering  <jim@meyering.net>
72772
72773         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
72774         a pointer-to-const.
72775         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
72776         (register_state): Likewise.
72777         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
72778         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
72779         (group_nodes_into_DFAstates): Likewise.
72780
72781 2005-08-31  Jim Meyering  <jim@meyering.net>
72782
72783         * check-module: Add a FIXME comment.
72784
72785 2005-08-31  Eric Blake  <ebb9@byu.net>
72786
72787         * modules/unistd-safer (Files): Add unistd--.h.
72788         * modules/stdio-safer (Files): Add stdio--.h.
72789
72790 2005-08-31  Derek Price  <derek@ximbiot.com>
72791
72792         * lib/getdelim.c (getdelim): Return EOF on EOF.
72793         Reported by Larry Jones <lawrence.jones@ugs.com>.
72794
72795 2005-08-31  Bruno Haible  <bruno@clisp.org>
72796
72797         Avoid unnecessary diffs in the generated lib/Makefile.am.
72798         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
72799         the generated files.
72800         (func_import): Don't set cmd.
72801
72802 2005-08-31  Bruno Haible  <bruno@clisp.org>
72803
72804         * lib/strstr.c: Include <stddef.h>, for NULL.
72805         * lib/strcasestr.c: Likewise.
72806         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72807
72808 2005-08-31  Bruno Haible  <bruno@clisp.org>
72809
72810         * gnulib-tool: New option --macro-prefix.
72811         (func_import): Use macro_prefix.
72812         (import): Handle option --macro-prefix.
72813
72814 2005-08-31  Bruno Haible  <bruno@clisp.org>
72815
72816         * gnulib-tool (import): Rename most ac_* variables to cached_*.
72817         Also use new variables cached_lgpl, cached_libtool.
72818
72819 2005-08-31  Bruno Haible  <bruno@clisp.org>
72820
72821         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
72822         always instantiating them.
72823
72824 2005-08-31  Bruno Haible  <bruno@clisp.org>
72825
72826         * gnulib-tool (func_import): Read the previous cached settings
72827         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
72828         earlier added by gnulib but are now dropped. Warn when a gnulib file
72829         overwrites a non-gnulib file.
72830
72831 2005-08-31  Bruno Haible  <bruno@clisp.org>
72832
72833         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
72834         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
72835         projects that don't keep autogenerated files in CVS. Put into
72836         actioncmd only the specified modules, not the transitive closure.
72837
72838 2005-08-31  Bruno Haible  <bruno@clisp.org>
72839
72840         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
72841         Create directories that shall be filled.
72842         (import): Don't look for gl_* macros in configure.ac. Recurse across
72843         all directories containing a gnulib-cache.m4 files, if meaningful.
72844
72845 2005-08-31  Bruno Haible  <bruno@clisp.org>
72846
72847         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
72848         (import): Set seen_libtool when we see gl_LIBTOOL.
72849
72850 2005-08-31  Bruno Haible  <bruno@clisp.org>
72851
72852         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
72853         declaration macro definitions from generated gnulib.m4.
72854
72855 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
72856
72857         * lib/iconvme.h: Add prototype for iconv_alloc.
72858
72859 2005-08-29  Simon Josefsson  <jas@extundo.com>
72860
72861         * lib/iconvme.c: Fix errno.
72862
72863 2005-08-29  Bruno Haible  <bruno@clisp.org>
72864
72865         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
72866         that it works when the directory contains spaces.
72867
72868 2005-08-29  Bruno Haible  <bruno@clisp.org>
72869
72870         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
72871
72872 2005-08-29  Bruno Haible  <bruno@clisp.org>
72873
72874         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
72875         Emit more advice.
72876
72877 2005-08-29  Bruno Haible  <bruno@clisp.org>
72878         and Stepan Kasal  <kasal@ucw.cz>
72879
72880         * check-module: If more parameters are given, check each of them
72881         separately; add more exceptions, as noted by Jim Meyering.
72882         (check_module): New procedure.
72883         (%exempt_header): Now contains all exceptions.
72884
72885 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
72886
72887         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
72888
72889 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
72890
72891         * lib/iconvme.c: Split iconv_string into iconv_alloc.
72892
72893 2005-08-28  Bruno Haible  <bruno@clisp.org>
72894
72895         * m4/gnulib-tool.m4: New file.
72896
72897 2005-08-27  Jim Meyering  <jim@meyering.net>
72898
72899         * modules/unistd-safer (Files): Add pipe-safer.c.
72900         * modules/fcntl-safer (Files): Add creat-safer.c.
72901
72902 2005-08-27  Jim Meyering  <jim@meyering.net>
72903
72904         * m4/stdlib-safer.m4: New file.  From coreutils.
72905         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
72906         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
72907         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
72908         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
72909         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
72910
72911 2005-08-27  Jim Meyering  <jim@meyering.net>
72912
72913         * lib/fopen-safer.c: Merge minor changes from coreutils.
72914         * lib/dup-safer.c: Likewise.
72915         * lib/fd-safer.c: Likewise.
72916
72917         Merge from coreutils.
72918         * lib/stdio--.h: New file.
72919         * lib/stdlib--.h: New file.
72920         * lib/mkstemp-safer.c: New file.
72921
72922         GNU tar needs these.
72923         * lib/pipe-safer.c: New file.
72924         * lib/creat-safer.c: New file.
72925         * lib/fcntl--.h (creat): Define to creat_safer.
72926         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
72927         * lib/unistd--.h (pipe): Define to pipe_safer.
72928         * lib/unistd-safer.h: Declare pipe_safer.
72929
72930 2005-08-26  Simon Josefsson  <jas@extundo.com>
72931
72932         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
72933         Haible <bruno@clisp.org>.
72934
72935 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * lib/regex_internal.h: Remove all references to
72938         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
72939         or better.
72940         (bitset_not, bitset_merge, bitset_not_merge):
72941         (bitset_mask, re_string_allocate, re_string_construct):
72942         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
72943         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
72944         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
72945         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
72946         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
72947         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
72948         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
72949         (re_acquire_state_context):
72950         Remove unnecessary forward decls.
72951         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
72952         Put __attribute at function definition,
72953         now that the function decl has been removed.
72954         * lib/regex_internal.c (re_string_peek_byte_case):
72955         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
72956         Likewise.
72957
72958 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
72959
72960         * m4/regex.m4: Add AC_PREREQ(2.50).
72961         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
72962
72963 2005-08-25  Simon Josefsson  <jas@extundo.com>
72964
72965         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
72966         __fsetlocking.
72967
72968 2005-08-25  Simon Josefsson  <jas@extundo.com>
72969
72970         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
72971         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
72972         GLIBC specific code.
72973
72974 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72975
72976         Make regex safe for g++.  This fixes one real bug (an "err"
72977         that should have been "*err").  g++ problem reported by
72978         Sam Steingold.
72979         * lib/regex_internal.h (re_calloc): New macro, consistent with
72980         re_malloc etc.  All callers of calloc changed to use re_calloc.
72981         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
72982         not int.  All callers changed.
72983         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
72984         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
72985         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
72986         (find_recover_state): Change "err" to "*err"; this fixes what
72987         appears to be a real bug.
72988         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
72989         versus int.
72990
72991 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72992
72993         * modules/regex (Depends-on): Add malloc, since the code
72994         assumes that !malloc(0) means failure.
72995
72996 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72997
72998         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
72999
73000         alloca modernization/simplification for regex.
73001         * lib/regex.c: Remove portability cruft for alloca.  This no longer
73002         needs to be at the start of the file, and can be moved into
73003         regex_internal.h and simplified.
73004         * lib/regex_internal.h: Include <alloca.h>.
73005         (__libc_use_alloca) [!defined _LIBC]: New macro.
73006         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
73007         now works outside glibc.
73008
73009 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73010
73011         * config/srclist.txt: Add glibc bugs 1241, 1245.
73012
73013 2005-08-25  Jim Meyering  <jim@meyering.net>
73014
73015         * lib/open-safer.c: Include <config.h>.
73016         Otherwise, we'd lose LARGEFILE support in any file using
73017         e.g. "fcntl--.h"
73018
73019 2005-08-25  Bruno Haible  <bruno@clisp.org>
73020
73021         * m4/minmax.m4: Require autoconf 2.52.
73022         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
73023         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
73024         alternatives of translit over the alphabet.
73025         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
73026
73027 2005-08-24  Simon Josefsson  <jas@extundo.com>
73028
73029         * tests/test-getpass.c: New file.
73030
73031 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73032
73033         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
73034         for GNU regex features.
73035
73036 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73037
73038         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
73039         * lib/regex.h (regerror): Likewise.
73040
73041         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
73042         requires this.  (The code never needed it.)
73043
73044         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
73045         All uses of recently-renamed identifiers changed to use the new,
73046         POSIX-compliant names.  The code will build and run just fine
73047         without these changes, but it's better to eat our own dog food
73048         and use the standard-conforming names.
73049
73050         * lib/regex.h: Fix a multitude of POSIX name space violations.
73051         These changes have an effect only for programs that define
73052         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
73053         do not change anything for programs compiled in the normal way.
73054         Also, there is no effect on the ABI.
73055
73056         (_REGEX_SOURCE): New macro.
73057         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
73058         defined and _GNU_SOURCE is not; this fixes a name space violation.
73059
73060         Rename the following macros to obey POSIX requirements.
73061         The old names are still visible as macros if _REGEX_SOURCE is defined.
73062         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
73063         RE_BACKSLASH_ESCAPE_IN_LISTS.
73064         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
73065         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
73066         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
73067         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
73068         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
73069         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
73070         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
73071         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
73072         (REG_INTERVALS): renamed from RE_INTERVALS.
73073         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
73074         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
73075         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
73076         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
73077         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
73078         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
73079         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
73080         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
73081         RE_UNMATCHED_RIGHT_PAREN_ORD.
73082         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
73083         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
73084         (REG_DEBUG): renamed from RE_DEBUG.
73085         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
73086         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
73087         unusual, since we can't clash with the POSIX REG_ICASE.
73088         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
73089         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
73090         (REG_NO_SUB): renamed from RE_NO_SUB.
73091         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
73092         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
73093         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
73094         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
73095         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
73096         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
73097         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
73098         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
73099         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
73100         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
73101         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
73102         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
73103         RE_SYNTAX_POSIX_MINIMAL_BASIC.
73104         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
73105         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
73106         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
73107         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
73108         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
73109         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
73110         (REG_FIXED): Renamed from REGS_FIXED.
73111         (REG_NREGS): Renamed from RE_NREGS.
73112
73113         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
73114         of other REG_* macros, since POSIX says the user is allowed to
73115         #undef these macros selectively.
73116
73117         (reg_errcode_t): Update comment stating what other tables need
73118         to be consistent.
73119
73120         Rename the following enum values to obey POSIX requirements.
73121         The old names are still visible as macros.
73122         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
73123         is not defined, since GNU is supposed to be a superset of POSIX as
73124         much as possible, and since we want reg_errcode_t to be a signed
73125         type for implementation consistency.
73126         (_REG_NOERROR): Renamed from REG_NOERROR.
73127         (_REG_NOMATCH): Renamed from REG_NOMATCH.
73128         (_REG_BADPAT): Renamed from REG_BADPAT.
73129         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
73130         (_REG_ECTYPE): Renamed from REG_ECTYPE.
73131         (_REG_EESCAPE): Renamed from REG_EESCAPE.
73132         (_REG_ESUBREG): Renamed from REG_ESUBREG.
73133         (_REG_EBRACK): Renamed from REG_EBRACK.
73134         (_REG_EPAREN): Renamed from REG_EPAREN.
73135         (_REG_EBRACE): Renamed from REG_EBRACE.
73136         (_REG_BADBR): Renamed from REG_BADBR.
73137         (_REG_ERANGE): Renamed from REG_ERANGE.
73138         (_REG_ESPACE): Renamed from REG_ESPACE.
73139         (_REG_BADRPT): Renamed from REG_BADRPT.
73140         (_REG_EEND): Renamed from REG_EEND.
73141         (_REG_ESIZE): Renamed from REG_ESIZE.
73142         (_REG_ERPAREN): Renamed from REG_ERPAREN.
73143         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
73144         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
73145         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
73146         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
73147
73148         (_REG_RE_NAME, _REG_RM_NAME): New macros.
73149         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
73150         changed.  But support the old name if the new one is not defined
73151         and if _REGEX_SOURCE.
73152
73153         Change the following member names in struct re_pattern_buffer.
73154         The old names are still supported if !_REGEX_SOURCE.
73155         The new names are always supported, regardless of _REGEX_SOURCE.
73156         (re_buffer): Renamed from buffer.
73157         (re_allocated): Renamed from allocated.
73158         (re_used): Renamed from used.
73159         (re_syntax): Renamed from syntax.
73160         (re_fastmap): Renamed from fastmap.
73161         (re_translate): Renamed from translate.
73162         (re_can_be_null): Renamed from can_be_null.
73163         (re_regs_allocated): Renamed from regs_allocated.
73164         (re_fastmap_accurate): Renamed from fastmap_accurate.
73165         (re_no_sub): Renamed from no_sub.
73166         (re_not_bol): Renamed from not_bol.
73167         (re_not_eol): Renamed from not_eol.
73168         (re_newline_anchor): Renamed from newline_anchor.
73169
73170         Change the following member names in struct re_registers.
73171         The old names are still supported if !_REGEX_SOURCE.
73172         The new names are always supported, regardless of _REGEX_SOURCE.
73173         (rm_num_regs): Renamed from num_regs.
73174         (rm_start): Renamed from start.
73175         (rm_end): Renamed from end.
73176
73177         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
73178         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
73179         Prepend __ to parameter names.
73180
73181         Undo yesterday's changes.
73182
73183 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73184
73185         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
73186         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
73187         lib/regex.c.
73188
73189 2005-08-24  Jim Meyering  <jim@meyering.net>
73190
73191         Sync from coreutils.
73192         * m4/fcntl-safer.m4: New file.
73193
73194         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
73195         and object files for this module.
73196
73197 2005-08-24  Jim Meyering  <jim@meyering.net>
73198
73199         Sync from coreutils.
73200         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
73201
73202 2005-08-24  Jim Meyering  <jim@meyering.net>
73203
73204         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
73205         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
73206
73207 2005-08-24  Jim Meyering  <jim@meyering.net>
73208
73209         * modules/fcntl-safer: New module.
73210         * modules/fts (Depends-on): Add fcntl-safer.
73211         * MODULES.html.sh (File descriptor based Input/Output):
73212         Add fcntl-safer.
73213
73214 2005-08-24  Bruno Haible  <bruno@clisp.org>
73215
73216         Support for unit test modules.
73217         * modules/README: Mention tests modules.
73218         * modules/TEMPLATE-TESTS: New file.
73219         * gnulib-tool: New options --extract-tests-module, --with-tests and
73220         --tests-base (unused for the moment).
73221         (testsbase, inctests): New variables.
73222         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
73223         (func_verify_module): Exclude TEMPLATE-TESTS.
73224         (func_verify_nontests_module, func_verify_tests_module): New functions.
73225         (func_get_dependencies): Add implicit dependency for tests modules.
73226         (func_get_tests_module): New function.
73227         (func_modules_transitive_closure): When --with-tests was specified,
73228         include the unit tests as well, unless explicitly avoided.
73229         (func_emit_lib_Makefile_am): Ignore the tests modules here.
73230         (func_emit_tests_Makefile_am): New function.
73231         (func_create_testdir): When --with-tests was specified, emit a
73232         tests/ directory.
73233         * MODULES.html.sh (Future developments): Update.
73234
73235 2005-08-24  Bruno Haible  <bruno@clisp.org>
73236
73237         * modules/tls-tests: New file.
73238         * tests/test-tls.c: New file, from GNU gettext.
73239
73240 2005-08-24  Bruno Haible  <bruno@clisp.org>
73241
73242         * modules/lock-tests: New file.
73243         * tests/test-lock.c: New file, from GNU gettext.
73244
73245 2005-08-24  Bruno Haible  <bruno@clisp.org>
73246
73247         * lib/lock.h: Add multiple inclusion guard.
73248         * lib/tls.h: Add multiple inclusion guard.
73249
73250 2005-08-24  Bruno Haible  <bruno@clisp.org>
73251
73252         * gnulib-tool: Add support for the --aux-dir option to
73253         --create-testdir, --create-megatestdir, --test, --megatest.
73254         (func_create_testdir, func_create_megatestdir): Optionally emit a
73255         AC_CONFIG_AUX_DIR directive.
73256         (create-testdir, create-megatestdir, test, megatest): Provide a
73257         default value for $auxdir.
73258
73259 2005-08-24  Bruno Haible  <bruno@clisp.org>
73260
73261         * gnulib-tool (import): Use compound statement instead of subshell
73262         where possible.
73263
73264 2005-08-24  Bruno Haible  <bruno@clisp.org>
73265
73266         * gnulib-tool (import): Change --aux-dir default to "build-aux".
73267
73268 2005-08-24  Bruno Haible  <bruno@clisp.org>
73269
73270         * gnulib-tool (func_version): Update.
73271
73272 2005-08-24  Bruno Haible  <bruno@clisp.org>
73273
73274         * gnulib-tool (func_import, func_create_testdir,
73275         func_create_megatestdir): Quote all autoconf macro arguments.
73276
73277 2005-08-24  Bruno Haible  <bruno@clisp.org>
73278
73279         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
73280         option --force, because --force causes the aclocal.m4 of each
73281         subdirectory to be newer than the corresponding config.h.in.
73282
73283 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73284
73285         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
73286         All contents moved to gl_REGEX.
73287         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
73288         assume that it does.
73289
73290 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73291
73292         * lib/regex.h (REG_NOSYS)
73293         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
73294         Define, since POSIX requires it as of 2001.
73295         (_REG_ENOSYS)
73296         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
73297         New private symbol, used to keep the enum signed in all cases.
73298         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
73299         Youngman in
73300         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
73301
73302         * lib/regex_internal.c (re_string_skip_chars, register_state):
73303         (calc_state_hash):
73304         Remove forward decls; no longer needed now that we use prototypes.
73305         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
73306         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
73307         (clean_state_log_if_needed): Likewise.
73308
73309 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73310
73311         * config/srclist.txt: Add glibc bugs 1231-1233.
73312
73313 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73314
73315         Fix problems reported by Sam Steingold in
73316         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
73317         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
73318         assumed that reg_errcode_t is a signed type, which is not
73319         necessarily true if _XOPEN_SOURCE is not defined.
73320         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
73321         since some compilers warn about it otherwise.
73322
73323 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73324
73325         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
73326         (init_word_char, create_initial_state, duplicate_node_closure):
73327         (fetch_token, peek_token_bracket, build_range_exp):
73328         (build_collating_symbol): Remove forward decls; no longer needed
73329         now that we use prototypes.
73330
73331         * lib/regcomp.c:
73332         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
73333         (re_compile_fastmap_iter, regcomp, regerror, regfree):
73334         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
73335         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
73336         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
73337         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
73338         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
73339         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
73340         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
73341         (build_range_exp, build_collating_symbol, parse_bracket_exp):
73342         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
73343         (build_charclass, build_charclass_op, fetch_number, create_tree):
73344         (create_token_tree, mark_opt_subexp, duplicate_tree):
73345         Use prototypes rather than old-style definitions.
73346
73347         * lib/regex_internal.c:
73348         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
73349         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
73350         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
73351         (re_string_reconstruct, re_string_peek_byte_case):
73352         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
73353         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
73354         (re_node_set_init_copy, re_node_set_add_intersect):
73355         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
73356         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
73357         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
73358         (re_acquire_state, re_acquire_state_context, register_state):
73359         (create_ci_newstate, create_cd_newstate, free_state):
73360         Likewise.
73361         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
73362         re_search_2):
73363         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
73364         (re_search_internal, prune_impossible_nodes):
73365         (acquire_init_state_context, check_matching, static):
73366         (check_halt_node_context, check_halt_state_context, proceed_next_node):
73367         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
73368         (update_regs, sift_states_backward, build_sifted_states):
73369         (clean_state_log_if_needed, merge_state_array):
73370         (update_cur_sifted_state, add_epsilon_src_nodes):
73371         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
73372         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
73373         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
73374         (find_recover_state, check_subexp_matching_top, transit_state_mb):
73375         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
73376         (check_arrival, check_arrival_add_next_nodes):
73377         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
73378         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
73379         (check_node_accept_bytes, check_node_accept, extend_buffers):
73380         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
73381         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
73382         (sift_ctx_init):
73383         Likewise.
73384
73385         * lib/regex_internal.h:
73386         (re_string_allocate, re_string_construct, re_string_reconstruct):
73387         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
73388         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
73389         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
73390         (re_string_context_at, re_string_peek_byte_case):
73391         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
73392         is defined, since we now use prototypes always.
73393
73394         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
73395         C89 or better.  All uses removed.
73396
73397 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73398
73399         * config/srclist.txt: Add glibc bugs 1220-1227.
73400
73401 2005-08-20  Jim Meyering  <jim@meyering.net>
73402
73403         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
73404         of unused local, dfa.
73405
73406 2005-08-20  Bruno Haible  <bruno@clisp.org>
73407
73408         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
73409
73410 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73411
73412         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
73413         (re_node_set_insert_last, re_dfa_add_node):
73414         Rename local variables to avoid GCC shadowing warnings.
73415
73416 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73417
73418         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
73419         [defined lint]: Suppress bogus uninitialized-variable warnings.
73420
73421         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
73422         and let the caller return REG_ESPACE if out of space.  This
73423         removes an uninitialied-variable warning with GCC 4.0.1, and also
73424         avoids taking the address of a local variable.  All callers
73425         changed.
73426
73427 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73428
73429         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
73430         $LIBCSRC/posix/regexec.c.
73431         Add glibc bug 1217 for regcomp.c.
73432
73433 2005-08-19  Jim Meyering  <jim@meyering.net>
73434
73435         * lib/regexec.c (proceed_next_node): Redo local variables to
73436         avoid GCC shadowing warnings.
73437
73438 2005-08-18  Bruno Haible  <bruno@clisp.org>
73439
73440         * lib/strstr.c (strstr): Fix return value in multibyte case.
73441         * lib/strcasestr.c (strcasestr): Likewise.
73442
73443 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73444
73445         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
73446
73447 2005-08-17  Jim Meyering  <jim@meyering.net>
73448
73449         Make the %s format (seconds since the epoch) work for a negative
73450         number and when used with a zero-padded field width, e.g. %015s.
73451
73452         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
73453         label so that it precedes the code to set `digits'.  Otherwise,
73454         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
73455         print `00-22'.  Now, it prints `-0022', as it should.
73456
73457 2005-08-17  Bruno Haible  <bruno@clisp.org>
73458
73459         * modules/strstr (Files): Add m4/mbrtowc.m4.
73460         (Depends-on): Add mbuiter.
73461
73462 2005-08-17  Bruno Haible  <bruno@clisp.org>
73463
73464         * modules/strcasestr: New file.
73465         * MODULES.html.sh (String handling, based on ANSI C 89): Add
73466         strcasestr.
73467
73468 2005-08-17  Bruno Haible  <bruno@clisp.org>
73469
73470         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
73471
73472 2005-08-17  Bruno Haible  <bruno@clisp.org>
73473
73474         * modules/mbuiter: New file.
73475         * MODULES.html.sh (Extended multibyte and wide character utilities):
73476         Add mbuiter.
73477
73478 2005-08-17  Bruno Haible  <bruno@clisp.org>
73479
73480         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
73481         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
73482
73483 2005-08-17  Bruno Haible  <bruno@clisp.org>
73484
73485         * m4/strcasestr.m4: New file.
73486
73487 2005-08-17  Bruno Haible  <bruno@clisp.org>
73488
73489         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
73490         * lib/strstr.c: Completely rewritten, with multibyte locale support.
73491
73492 2005-08-17  Bruno Haible  <bruno@clisp.org>
73493
73494         * lib/strcasestr.h: New file.
73495         * lib/strcasestr.c: New file.
73496
73497 2005-08-17  Bruno Haible  <bruno@clisp.org>
73498
73499         * lib/strcasecmp.c: Use mbuiter.h.
73500
73501 2005-08-17  Bruno Haible  <bruno@clisp.org>
73502
73503         * lib/mbuiter.h: New file.
73504
73505 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73506
73507         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
73508         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
73509         and gl_GETOPT are both invoked via different paths (as happens
73510         with GNU tar CVS because it uses both argp and getopt), the former
73511         wins.
73512
73513 2005-08-16  Bruno Haible  <bruno@clisp.org>
73514
73515         * modules/tls: New file.
73516         * MODULES.html.sh (Multithreading): Add tls.
73517
73518 2005-08-16  Bruno Haible  <bruno@clisp.org>
73519
73520         * modules/strnlen1: New file.
73521         * MODULES.html.sh (String handling): Add strnlen1.
73522
73523 2005-08-16  Bruno Haible  <bruno@clisp.org>
73524
73525         * modules/strcase (Files): Add m4/mbrtowc.m4.
73526         (Depends-on): Add strnlen1, mbchar.
73527
73528 2005-08-16  Bruno Haible  <bruno@clisp.org>
73529
73530         * modules/mbiter: New file.
73531         * MODULES.html.sh (Extended multibyte and wide character utilities):
73532         Add mbiter.
73533
73534 2005-08-16  Bruno Haible  <bruno@clisp.org>
73535
73536         * modules/mbfile: New file.
73537         * MODULES.html.sh (Extended multibyte and wide character utilities):
73538         Add mbfile.
73539
73540 2005-08-16  Bruno Haible  <bruno@clisp.org>
73541
73542         * modules/mbchar: New file.
73543         * MODULES.html.sh (Extended multibyte and wide character utilities):
73544         New section.
73545
73546 2005-08-16  Bruno Haible  <bruno@clisp.org>
73547
73548         * m4/tls.m4: New file, from GNU gettext.
73549
73550 2005-08-16  Bruno Haible  <bruno@clisp.org>
73551
73552         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
73553         always.
73554         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
73555
73556 2005-08-16  Bruno Haible  <bruno@clisp.org>
73557
73558         * m4/mbiter.m4: New file.
73559
73560 2005-08-16  Bruno Haible  <bruno@clisp.org>
73561
73562         * m4/mbfile.m4: New file.
73563
73564 2005-08-16  Bruno Haible  <bruno@clisp.org>
73565
73566         * m4/mbchar.m4: New file.
73567
73568 2005-08-16  Bruno Haible  <bruno@clisp.org>
73569
73570         * lib/tls.h: New file, from GNU gettext.
73571         * lib/tls.c: New file, from GNU gettext.
73572
73573 2005-08-16  Bruno Haible  <bruno@clisp.org>
73574
73575         * lib/strnlen1.h: New file.
73576         * lib/strnlen1.c: New file.
73577
73578 2005-08-16  Bruno Haible  <bruno@clisp.org>
73579
73580         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
73581         (mbi_init): Update.
73582         (mbi_avail, mbi_advance): Let the iteration end before the terminating
73583         NUL byte, not after it.
73584
73585 2005-08-16  Bruno Haible  <bruno@clisp.org>
73586
73587         * lib/strcase.h (strcasecmp): Add note in comments.
73588         * lib/strncasecmp.c: Use code from strcasecmp.c.
73589         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
73590         (strcasecmp): Work correctly in multibyte locales.
73591
73592 2005-08-16  Bruno Haible  <bruno@clisp.org>
73593
73594         * lib/mbiter.h: New file.
73595
73596 2005-08-16  Bruno Haible  <bruno@clisp.org>
73597
73598         * lib/mbfile.h: New file.
73599
73600 2005-08-16  Bruno Haible  <bruno@clisp.org>
73601
73602         * lib/mbchar.h: New file.
73603         * lib/mbchar.c: New file.
73604
73605 2005-08-16  Bruno Haible  <bruno@clisp.org>
73606
73607         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
73608         the valid ones. Makes the comparison operations transitive:
73609         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
73610         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
73611
73612 2005-08-15  Simon Josefsson  <jas@extundo.com>
73613
73614         * modules/ssize_t (License): Change to 'unlimited'.
73615
73616         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
73617
73618 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73619
73620         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
73621         Add comments for each pending glibc patch.
73622
73623 2005-08-15  Bruno Haible  <bruno@clisp.org>
73624
73625         * lib/regex.h (__restrict_arr): Don't define to __restrict if
73626         __cplusplus is defined.
73627
73628 2005-08-14  Jim Meyering  <jim@meyering.net>
73629
73630         Sync from coreutils.
73631
73632         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
73633         Use the hash-table-based cycle-detection code not just when
73634         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
73635         Reported by James Youngman in
73636         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
73637         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
73638         FTS_TIGHT_CYCLE_CHECK.
73639         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
73640         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
73641         once again.
73642         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
73643         * lib/fts.c (fd_safer): Remove decl.
73644         Include fcntl--.h rather than unistd-safer.h
73645         (fts_safe_changedir): Don't call fd_safer; no longer needed
73646         now that we include fcntl--.h.
73647
73648 2005-08-12  Simon Josefsson  <jas@extundo.com>
73649
73650         * modules/getndelim2: Use ssize_t module.
73651         * modules/getnline: Likewise.
73652         * modules/safe-read: Likewise.
73653         * modules/xreadlink: Likewise.
73654
73655         * modules/ssize_t: New file.
73656
73657 2005-08-12  Simon Josefsson  <jas@extundo.com>
73658
73659         * m4/readline.m4: Look for termcap, curses or ncurses if required.
73660
73661 2005-08-12  Simon Josefsson  <jas@extundo.com>
73662
73663         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73664         ssize_t.
73665
73666 2005-08-12  Simon Josefsson  <jas@extundo.com>
73667
73668         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
73669         readline, getdelim and check_version.
73670         (Support for systems lacking ISO C 99: Sizes of integer types):
73671         Add size_max.
73672
73673 2005-08-12  Bruno Haible  <bruno@clisp.org>
73674
73675         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
73676
73677 2005-08-11  Simon Josefsson  <jas@extundo.com>
73678
73679         * modules/readline: New file.
73680
73681         * modules/strnlen (Files): Add strnlen.h.
73682
73683 2005-08-11  Simon Josefsson  <jas@extundo.com>
73684
73685         * m4/readline.m4: New file.
73686
73687 2005-08-11  Simon Josefsson  <jas@extundo.com>
73688
73689         * lib/readline.h, readline.c: New file.
73690
73691 2005-08-11  Simon Josefsson  <jas@extundo.com>
73692
73693         * doc/gnulib.texi (Initial import, Finishing touches): Mention
73694         gl_AVOID.
73695
73696 2005-08-11  Bruno Haible  <bruno@clisp.org>
73697
73698         * lib/strnlen.h (strnlen): Change parameter name to match comment.
73699
73700 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
73701
73702         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
73703
73704 2005-08-10  Simon Josefsson  <jas@extundo.com>
73705
73706         * tests/test-iconvme.c: New file.
73707
73708 2005-08-10  Simon Josefsson  <jas@extundo.com>
73709
73710         * m4/strnlen.m4: New file.
73711
73712         * m4/strndup.m4: Don't check for strnlen declaration, done in
73713         strnlen.m4.
73714
73715 2005-08-10  Simon Josefsson  <jas@extundo.com>
73716
73717         * lib/strndup.c: Use strnlen.h.
73718
73719         * lib/strnlen.h: New file.
73720
73721 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73722
73723         * README: Typos.
73724
73725 2005-08-02  Simon Josefsson  <jas@extundo.com>
73726
73727         * modules/readline: New file.
73728
73729 2005-08-02  Simon Josefsson  <jas@extundo.com>
73730
73731         * modules/getdelim: New file.
73732
73733         * modules/getline: Rewrite, don't use getndelim2.
73734
73735 2005-08-02  Simon Josefsson  <jas@extundo.com>
73736
73737         * m4/getline.m4: Separate out getdelim stuff into separate module.
73738
73739         * m4/getdelim.m4: New file.
73740
73741 2005-08-02  Simon Josefsson  <jas@extundo.com>
73742
73743         * lib/getline.h, getline.c: Rewrite.
73744
73745         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
73746
73747 2005-07-31  Bruno Haible  <bruno@clisp.org>
73748
73749         * lib/lock.h (gl_lock_initializer): New macro.
73750         (gl_lock_define_initialized): Use it.
73751         (gl_rwlock_initializer): New macro.
73752         (gl_rwlock_define_initialized): Use it.
73753         (gl_recursive_lock_initializer): New macro.
73754         (gl_recursive_lock_define_initialized): Use it.
73755
73756 2005-07-30  Karl Berry  <karl@gnu.org>
73757
73758         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
73759         Report from Ben Pfaff, regarding getopt.
73760
73761 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
73762
73763         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
73764         normal way.
73765         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
73766         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
73767         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
73768         (gl_GETOPT): Use the new macros.  Most of the implementation
73769         is moved to the new macros.  This is for programs like Emacs
73770         that don't want all the functionality of gl_GETOPT.
73771
73772 2005-07-26  Bruno Haible  <bruno@clisp.org>
73773
73774         * m4/lock.m4: Update from GNU gettext.
73775
73776 2005-07-26  Bruno Haible  <bruno@clisp.org>
73777
73778         * lib/lock.h: Update from GNU gettext.
73779         * lib/lock.c: Update from GNU gettext.
73780
73781 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
73782
73783         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
73784         obsolescent AC_TRY_RUN.  Include the default includes files, for
73785         'exit'.
73786
73787 2005-07-24  Bruno Haible  <bruno@clisp.org>
73788
73789         * modules/visibility: New file.
73790         * MODULES.html.sh (Misc): Add visibility.
73791
73792 2005-07-24  Bruno Haible  <bruno@clisp.org>
73793
73794         * m4/visibility.m4: New file.
73795
73796 2005-07-24  Bruno Haible  <bruno@clisp.org>
73797
73798         * doc/visibility.texi: New file.
73799
73800 2005-07-22  Bruno Haible  <bruno@clisp.org>
73801
73802         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
73803         $(ALLOCA_H), redundant through BUILT_SOURCES.
73804         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
73805         redundant through BUILT_SOURCES.
73806         * modules/byteswap (Makefile.am): Remove explicit dependency on
73807         $(BYTESWAP_H), redundant through BUILT_SOURCES.
73808         * modules/fnmatch (Makefile.am): Remove explicit dependency on
73809         $(FNMATCH_H), redundant through BUILT_SOURCES.
73810         * modules/getopt (Makefile.am): Remove explicit dependency on
73811         $(GETOPT_H), redundant through BUILT_SOURCES.
73812         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
73813         redundant through BUILT_SOURCES.
73814         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
73815         redundant through BUILT_SOURCES.
73816         * modules/stdbool (Makefile.am): Remove explicit dependency on
73817         $(STDBOOL_H), redundant through BUILT_SOURCES.
73818         * modules/stdint (Makefile.am): Remove explicit dependency on
73819         $(STDINT_H), redundant through BUILT_SOURCES.
73820         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
73821         Remove explicit dependency on $(SYSEXITS_H).
73822         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
73823
73824 2005-07-18  Simon Josefsson  <jas@extundo.com>
73825
73826         * lib/check-version.c (check_version): Accept identical versions too.
73827
73828 2005-07-18  Bruno Haible  <bruno@clisp.org>
73829
73830         * modules/lock: New file.
73831         * MODULES.html.sh (Multithreading): New section.
73832
73833 2005-07-18  Bruno Haible  <bruno@clisp.org>
73834
73835         * m4/lock.m4: New file, from GNU gettext.
73836
73837 2005-07-18  Bruno Haible  <bruno@clisp.org>
73838
73839         * lib/lock.h: New file, from GNU gettext.
73840         * lib/lock.c: New file, from GNU gettext.
73841
73842 2005-07-18  Bruno Haible  <bruno@clisp.org>
73843
73844         * lib/lock.h (gl_once_t): New type.
73845         (gl_once_define, gl_once): New macros.
73846         * lib/lock.c (fresh_once): New variable.
73847         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
73848         functions.
73849
73850 2005-07-16  Simon Josefsson  <jas@extundo.com>
73851
73852         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
73853         workaround, suggested by Bruno.
73854
73855 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
73856
73857         * modules/xalloc (Depends-on): Add xalloc-die.
73858         * modules/xvasprintf (Depends-on): Add xalloc-die.
73859
73860 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
73861
73862         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
73863         with a minor change.
73864
73865 2005-07-15  Bruno Haible  <bruno@clisp.org>
73866
73867         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
73868         When using lib/poll.c, define poll as rpl_poll.
73869
73870 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
73871
73872         * modules/argp (Depends-on): Remove unlocked-io.
73873
73874 2005-07-14  Derek Price  <derek@ximbiot.com>
73875
73876         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
73877         for glob symlink bug.
73878
73879 2005-07-14  Bruno Haible  <bruno@clisp.org>
73880
73881         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
73882         Instead, test for *_unlocked function declarations directly.
73883
73884 2005-07-11  Simon Josefsson  <jas@extundo.com>
73885
73886         * modules/size_max: New file.
73887
73888         * modules/xsize: Depend on size_max module for size_max.m4.
73889
73890 2005-07-11  Simon Josefsson  <jas@extundo.com>
73891
73892         * lib/size_max.h: New file.
73893
73894 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
73895
73896         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
73897         copyright symbol and the year.
73898         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
73899         (version_etc_va): Use parameterized copyright notice.
73900         Reword to conform to the current GNU coding standards.
73901
73902 2005-07-11  Karl Berry  <karl@gnu.org>
73903
73904         * doc/gnulib.texi (Quoting): new node.
73905         (Initial import): more info, from Patrice.
73906
73907 2005-07-11  Bruno Haible  <bruno@clisp.org>
73908
73909         * gnulib-tool (func_usage): Document option --avoid.
73910         (Command line options): Handle --avoid.
73911         (func_acceptable): New function.
73912         (func_modules_transitive_closure): Use it.
73913
73914 2005-07-11  Bruno Haible  <bruno@clisp.org>
73915
73916         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
73917         Reported by Jim Meyering.
73918
73919 2005-07-10  Bruno Haible  <bruno@clisp.org>
73920
73921         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
73922         Needed when size_t is smaller than 'unsigned int'.
73923         Reported by Paul Eggert.
73924
73925 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73926
73927         * modules/argp (Depends-on): Add unlocked-io
73928
73929 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73930
73931         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
73932         block of defines.
73933
73934 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73935
73936         * config/srclist.txt: Comment out regcomp.c, since we have a porting
73937         fix now.
73938
73939 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
73940         and Paul Eggert  <eggert@cs.ucla.edu>
73941
73942         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
73943         in wint_t, not wchar_t.  Remove now-unnecessary cast.
73944
73945 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73946
73947         * modules/regex (Files): Add lib/regex_internal.c,
73948         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
73949         (Depends-on): Add extensions.
73950         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
73951
73952 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
73955         pathconf.
73956         * m4/same.m4 (gl_SAME): Likewise.
73957         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
73958
73959         * m4/regex.m4: Adjust to new libc regex implementation.
73960         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
73961         all the .c and .h parts of (the new) regex.
73962         Quote the m4 stuff better.
73963         Check for RE_ICASE bug of old gnulib.
73964         Check for REG_STARTEND of recent libc.
73965         Rename local variables from jm_* to gl_*.
73966         Quote operand of "test -f".
73967         Say "recent enough" version of libc, not "version 2".
73968         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
73969         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
73970         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
73971         Remove check for btowc, isascii.
73972         Require AM_LANGINFO_CODESET.
73973
73974 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73975
73976         * lib/regex.c, regex.h: Sync from libc.
73977         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
73978         * lib/regexec.c:
73979         New files, synced from libc, except that regex_internal.h
73980         currently has a small porting fix.
73981
73982 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73983
73984         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
73985         regex_internal.c, regexec.c.
73986         Add regex_internal.h too, but as a comment, since the libc version
73987         is currently broken in gnulib mode.
73988
73989 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73990
73991         Support programs like Emacs that use gnulib but not gettext.
73992         * MODULES.html.sh (Internationalization functions): Add gettext-h.
73993         * modules/gettext-h: New file.
73994         * modules/gettext (Files): Remove lib/gettext.h.
73995         (Depends-on): Add gettext-h.
73996         (Makefile.am): Remove lib_SOURCES.
73997         * modules/argmatch, modules/c-stack, modules/closeout:
73998         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
73999         * modules/execute, modules/file-type, modules/getaddrinfo:
74000         * modules/getopt, modules/human, modules/javacomp:
74001         * modules/javaexec, modules/mkdir-p, modules/obstack:
74002         * modules/openat, modules/pagealign_alloc, modules/pipe:
74003         * modules/quotearg, modules/regex, modules/rpmatch:
74004         * modules/unicodeio, modules/userspec, modules/version-etc:
74005         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
74006         * modules/xsetenv:
74007         Depend on gettext-h, not gettext.
74008
74009 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74010
74011         * gnulib-tool (func_import): Add support for 'public domain' license.
74012         * modules/alloca, modules/atexit, modules/memmove:
74013         Now public domain, not GPL.
74014         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
74015         * modules/realloc, modules/strerror, modules/strtod:
74016         Now LGPL, not GPL.
74017
74018 2005-07-05  Bruno Haible  <bruno@clisp.org>
74019
74020         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
74021         autoconf CVS. Needed for mingw.
74022
74023 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74024
74025         Remove the dependency of the strftime module on the tzset module.
74026         * modules/strftime (Depends-on): Remove dependency on tzset.
74027
74028 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74029
74030         Remove the dependency of the strftime module on the tzset module.
74031         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
74032         gl_FUNC_TZSET_CLOBBER.
74033
74034 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74035
74036         Remove the dependency of the strftime module on the tzset module.
74037         * lib/strftime.c (my_strftime)
74038         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
74039         Copy the input structure, to work around some of the bug with
74040         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
74041         Solaris releases, you should also use the tzset module, but we won't
74042         require it as a dependency any more since we don't want LGPLed code
74043         to depend on GPLed code.
74044
74045 2005-07-02  Jim Meyering  <jim@meyering.net>
74046
74047         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
74048         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
74049         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
74050         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
74051
74052 2005-07-02  Jim Meyering  <jim@meyering.net>
74053
74054         * lib/backupfile.c (backup_args): Change a `0' to NULL.
74055
74056 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74057
74058         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
74059         declares only 'struct timespec;' (!).
74060
74061 2005-07-01  Jim Meyering  <jim@meyering.net>
74062
74063         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
74064         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
74065         * lib/save-cwd.c, tempname.c:
74066         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74067         and don't include <sys/file.h>).
74068
74069 2005-06-29  Jim Meyering  <jim@meyering.net>
74070
74071         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
74072         type name.  Use the variable name instead.
74073         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
74074         Likewise.
74075
74076 2005-06-28  Simon Josefsson  <jas@extundo.com>
74077
74078         * modules/check-version (Files): Add check-version.m4.
74079
74080 2005-06-28  Simon Josefsson  <jas@extundo.com>
74081
74082         * m4/check-version.m4: New file, suggested by Jim Meyering
74083         <jim@meyering.net>.
74084
74085 2005-06-28  Simon Josefsson  <jas@extundo.com>
74086
74087         * lib/check-version.h, lib/check-version.c: New files.
74088
74089 2005-06-28  Simon Josefsson  <jas@extundo.com>
74090
74091         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
74092         collision with global variable.  Better indentation.  Don't
74093         increment buffer pointer beyond buffer end.  Based on comments
74094         from Paul Eggert <eggert@cs.ucla.edu>.
74095
74096         * lib/base64.h: Indent.
74097
74098 2005-06-28  Simon Josefsson  <jas@extundo.com>
74099
74100         * doc/gnulib.texi (Library version handling): New section.
74101
74102 2005-06-28  Jim Meyering  <jim@meyering.net>
74103
74104         * check-module (find_included_lib_files): Hard-code another
74105         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
74106         but modules/fts-lgpl (correctly) does not list those files.
74107
74108         * modules/canonicalize (Files): Add lib/pathmax.h.
74109
74110 2005-06-25  Simon Josefsson  <jas@extundo.com>
74111
74112         * modules/check-version: New file.
74113
74114 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
74115
74116         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
74117         initializer of struct addrinfo, as an indication that we don't
74118         care how many members the structure has.
74119
74120 2005-06-24  Derek Price  <derek@ximbiot.com>
74121         and Bruno Haible  <bruno@clisp.org>
74122
74123         Remove stat module & update lstat.
74124         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
74125         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74126         * m4/stat.m4: Remove this file.
74127
74128 2005-06-24  Derek Price  <derek@ximbiot.com>
74129         and Bruno Haible  <bruno@clisp.org>
74130
74131         Remove stat module & update lstat.
74132         * lib/stat.c: Remove this file...
74133         (slash_aware_lstat): ...moving this content and its support...
74134         * lib/lstat.c (rpl_lstat): ...into here.
74135         * lib/lstat.h: New file.
74136
74137 2005-06-24  Derek Price  <derek@ximbiot.com>
74138         and Bruno Haible  <bruno@clisp.org>
74139
74140         Remove stat module & update lstat.
74141         * config/srclist.txt (libc sources): Remove stat.
74142
74143 2005-06-24  Derek Price  <derek@ximbiot.com>
74144         and Bruno Haible  <bruno@clisp.org>
74145
74146         Remove stat module & update lstat.
74147         * MODULES.html.sh (stat): Remove.
74148         * MODULES.html: Regenerated.
74149         * modules/lstat (Description): Correct function name.
74150         (Files): Add "lstat.h".
74151         (Depends-on): Remove stat, add xalloc, stat-macros.
74152         * modules/stat: Remove this file.
74153         (Include): Add "lstat.h", remove <sys/stat.h>.
74154
74155 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
74156
74157         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
74158         (ranged_convert): Don't save conversion in a temporary struct.
74159         This causes a warning with GCC 4.0.0, and anyway in the typical
74160         case it's not worth the extra 100 bytes or so of code.
74161         (ranged_convert, __mktime_internal): When calling a function via a
74162         pointer P, use P () rather than (*P) (), as we now assume C89 or
74163         better.
74164
74165 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74166
74167         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
74168         "who -r" failed to give output.  Problem reported by Tim Waugh.
74169
74170         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
74171         (xcalloc): Use it to avoid needless tests.
74172         Problem reported by Jim Meyering.
74173
74174 2005-06-20  Derek Price  <derek@ximbiot.com>
74175
74176         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
74177         unnecessary for Autoconfs > 2.59c.
74178
74179 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74180
74181         * lib/argp.h (__option_is_short): Check upper limit of
74182         __key. Isprint() requires its argument to have the value
74183         of an unsigned char or EOF.
74184
74185 2005-06-16  Jim Meyering  <jim@meyering.net>
74186
74187         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
74188         when either N or S is zero.
74189
74190 2005-06-16  Derek Price  <derek@ximbiot.com>
74191
74192         * m4/bison.m4: Declare YACC & YFLAGS precious.
74193
74194 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
74195
74196         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
74197         multibyte string or pattern, fall back on unibyte matching.
74198         Problem reported by James Youngman.
74199
74200 2005-06-08  Bruno Haible  <bruno@clisp.org>
74201
74202         * modules/csharpcomp: New file.
74203         * MODULES.html.sh (C#): Add csharpcomp.
74204
74205 2005-06-08  Bruno Haible  <bruno@clisp.org>
74206
74207         * m4/csharpcomp.m4: New file, from GNU gettext.
74208
74209 2005-06-08  Bruno Haible  <bruno@clisp.org>
74210
74211         * lib/csharpcomp.h: New file, from GNU gettext.
74212         * lib/csharpcomp.c: New file, from GNU gettext.
74213         * lib/csharpcomp.sh.in: New file, from GNU gettext.
74214
74215 2005-06-08  Bruno Haible  <bruno@clisp.org>
74216
74217         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
74218         warning on mingw.
74219
74220 2005-06-07  Derek Price  <derek@ximbiot.com>
74221
74222         Sync from CVS.
74223         * lib/glob_.h: Indent nested #ifdef.
74224
74225 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74226
74227         Sync from coreutils.
74228         Use "file name" when talking about file names, instead of "filename"
74229         or "path", as per the GNU coding standards.
74230         * lib/mkdir-p.c: Renamed from makepath.c.
74231         (make_dir_parents): Renamed from make_path.  All callers changed.
74232         * lib/mkdir-p.h: Likewise.  All includers changed.
74233         * lib/filenamecat.c: Renamed from path-concat.c.
74234         (file_name_concat): Renamed from path_concat.  All callers changed.
74235         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
74236         * lib/filenamecat.h: Likewise.  All includers changed.
74237         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
74238         in comments or local variable names.
74239         * lib/basename.c: Likewise.
74240         * lib/canonicalize.c, canonicalize.h: Likewise.
74241         * lib/dirname.c, dirname.h: Likewise.
74242         * lib/euidaccess.c: Likewise.
74243         * lib/exclude.c: Likewise
74244         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
74245         * lib/fsusage.c, fsuage.h: Likewise.
74246         * lib/fts.c, fts_.h: Likewise.
74247         * lib/getcwd.c: Likewise.
74248         * lib/getloadavg.c: Likewise.
74249         * lib/mkstemp.c: Likewise.
74250         * lib/mountlist.c, mountlist.h: Likewise.
74251         * lib/openat.c, openat.h: Likewise.
74252         * lib/readlink-stub.c: Likewise.
74253         * lib/readutmp.c, readutmp.h: Likewise.
74254         * lib/rename.c: Likewise.
74255         * lib/rmdir.c: Likewise.
74256         * lib/same.c: Likewise.
74257         * lib/savedir.c: Likewise.
74258         * lib/stripslash.c: Likewise.
74259         * lib/tempname.c: Likewise.
74260         * lib/xreadlink.c: Likewise.
74261         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
74262         All uses changed.
74263         * lib/exclude.h: Likewise.
74264
74265         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
74266         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74267         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
74268         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74269         * lib/pathmax.h: Include <limits.h> unconditionally, since other
74270         files have been getting away with it for years (MORE/BSD 4.3
74271         is extinct now).
74272         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
74273         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74274
74275         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
74276         Define to 256, not 255, as per modern POSIX.
74277
74278 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74279
74280         Sync from coreutils.
74281         Use "file name" when talking about file names, instead of "filename"
74282         or "path", as per the GNU coding standards.
74283         * MODULES.html.sh: mkdir-p renamed from makepath.
74284         filenamecat renamed from path-concat.
74285         * modules/filenamecat: Renamed from modules/path-concat.
74286         (Files): filenamecat.h and filenamecat.c renamed from
74287         path-concat.h and path-concat.c.
74288         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
74289         (Include): filenamecat.h, not path-concat.h.
74290         * modules/mkdir-p: Renamed from modules/makepath.
74291         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
74292         makepath.c.
74293         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
74294         (Include): mkdir-p.h, not makepath.h.
74295
74296 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74297
74298         Sync from coreutils.
74299         * m4/mkdir-p.m4: Renamed from makepath.m4.
74300         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
74301         Rename files from makepath.c to mkdir-p.c, and from
74302         makepath.h to mkdir-p.h.
74303         * m4/filenamecat.m4: Renamed from path-concat.m4.
74304         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
74305         Rename files from path-concat.c to filenamecat.c,
74306         and from path-concat.h to filenamecat.h.
74307         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
74308         "file name" in local variables or comments.
74309         * m4/rename.m4: Likewise.
74310
74311 2005-06-01  Bruno Haible  <bruno@clisp.org>
74312
74313         * modules/csharpexec: New file.
74314         * MODULES.html.sh (C#): New section.
74315
74316 2005-06-01  Bruno Haible  <bruno@clisp.org>
74317
74318         * m4/csharp.m4: New file, from GNU gettext.
74319         * m4/csharpexec.m4: New file, from GNU gettext.
74320
74321 2005-06-01  Bruno Haible  <bruno@clisp.org>
74322
74323         * lib/csharpexec.h: New file, from GNU gettext.
74324         * lib/csharpexec.c: New file, from GNU gettext.
74325         * lib/csharpexec.sh.in: New file, from GNU gettext.
74326
74327 2005-05-31  Derek Price  <derek@ximbiot.com>
74328             Paul Eggert  <eggert@cs.ucla.edu>
74329
74330         Sync from cvs.
74331         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
74332
74333 2005-05-31  Derek Price  <derek@ximbiot.com>
74334             Paul Eggert  <eggert@cs.ucla.edu>
74335
74336         Sync from cvs.
74337         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
74338
74339 2005-05-29  Derek Price  <derek@ximbiot.com>
74340
74341         * config/srclist.txt (glob_.h, glob.c): Add these files.
74342
74343 2005-05-29  Derek Price  <derek@ximbiot.com>
74344
74345         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
74346         * modules/glob: New file.
74347         * modules/getlogin_r: Add link to POSIX spec in description.
74348
74349 2005-05-29  Derek Price  <derek@ximbiot.com>
74350             Paul Eggert  <eggert@cs.ucla.edu>
74351
74352         * m4/glob.m4: New file.
74353
74354 2005-05-29  Derek Price  <derek@ximbiot.com>
74355             Paul Eggert  <eggert@cs.ucla.edu>
74356
74357         * lib/glob_.h, lib/glob.c: New files.
74358
74359 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74360
74361         * modules/fts (Files): Remove m4/inttypes-pri.m4.
74362         * modules/fts-lgpl (Depends-on): Remove gettext.
74363
74364 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74365
74366         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
74367         and don't require gt_INTTYPES_PRI.
74368
74369 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74370
74371         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
74372
74373         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
74374         the configuration hassle isn't worth it.
74375         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
74376         (LONGEST_MODIFIER, PRIuMAX): Remove.
74377
74378 2005-05-27  Bruno Haible  <bruno@clisp.org>
74379
74380         * lib/getlogin_r.h: Remove second include of <stddef.h>.
74381
74382 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
74383
74384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
74385         _POSIX_PTHREAD_SEMANTICS for Solaris.
74386
74387 2005-05-25  Derek Price  <derek@ximbiot.com>
74388
74389         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
74390
74391 2005-05-25  Derek Price  <derek@ximbiot.com>
74392             Paul Eggert  <eggert@cs.ucla.edu>
74393
74394         * modules/getlogin_r, m4/getlogin_r.m4: New files.
74395         * lib/getlogin_r.c, getlogin_r.h: New files.
74396
74397 2005-05-25  Bruno Haible  <bruno@clisp.org>
74398             Derek Price  <derek@ximbiot.com>
74399
74400         * lib/getlogin_r.h: Simplify API documentation.
74401
74402 2005-05-23  Derek Price  <derek@ximbiot.com>
74403
74404         * modules/minmax (Files): Add m4/minmax.m4.
74405         (configure.ac): Add gl_MINMAX.
74406
74407 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74408
74409         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
74410         so that unistd-safer.h (GPL'ed code) need not be included.
74411
74412 2005-05-22  Bruno Haible  <bruno@clisp.org>
74413
74414         * m4/minmax.m4: New file.
74415         Based on a patch by Derek Price <derek@ximbiot.com>.
74416
74417 2005-05-22  Bruno Haible  <bruno@clisp.org>
74418
74419         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
74420         (INT64_MIN): Fix definition.
74421         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
74422
74423         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
74424         NEED_SIGNED_INT_TYPES.
74425
74426         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
74427         HAVE_SYSTEM_INTTYPES.
74428
74429 2005-05-22  Bruno Haible  <bruno@clisp.org>
74430
74431         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
74432         Also include <sys/param.h> if it defines MIN, MAX.
74433         Based on a patch by Derek Price <derek@ximbiot.com>.
74434
74435 2005-05-21  Jim Meyering  <jim@meyering.net>
74436
74437         * modules/fts (Files): Add m4/inttypes-pri.m4.
74438         (Depends-on): Add lstat and remove gettext.  Alphabetize.
74439
74440 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74441
74442         New fts module.
74443         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
74444         (setup_dir, free_dir): New functions.
74445         (enter_dir, leave_dir): Define trivial
74446         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
74447         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
74448         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
74449         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
74450         Move to fts-cycle.c.
74451         (fts_open): Use setup_dir.
74452         (fts_close): Use free_dir.
74453         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
74454         This adds a label and some gotos, but the alternatives were messier.
74455         Check for memory allocation failure when entering a dir.
74456         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
74457         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
74458         (FTS): New member fts_cycle, that is a union that contains the
74459         old active_dir_ht and cycle_state.  All uses changed to mention
74460         fts_cycle.ht and fts_cycle.state.
74461         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
74462         fts.c, with the following changes:
74463         (setup_dir, free_dir): New functions.
74464         (enter_dir): Now returns bool.  Return true if successful, false
74465         if memory exhausted.  All callers changed.
74466         Do not bother partly cleaning up on
74467         memory allocation failure; that is free_dir's job.
74468         However, free ad if hash_insert fails, to avoid memory leak.
74469         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
74470         fts->fts_options to see which union member to use.
74471
74472 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
74475         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
74476
74477 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74478
74479         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
74480
74481 2005-05-20  Jim Meyering  <jim@meyering.net>
74482
74483         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
74484         Now a macro, to pacify GCC.
74485
74486 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
74487
74488         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
74489         of -1.
74490
74491 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
74492
74493         * lib/chown.c (rpl_chown): Return -1 on failure.
74494
74495 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
74496
74497         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
74498         Don't check for stddef.h.
74499         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
74500         don't use its results.
74501         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
74502         since we include them unconditionally.  Don't require
74503         AM_STDBOOL_H, since stdbool is a prerequisite.
74504         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
74505         since we assume C89 or better.
74506         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
74507         as we don't use their results.
74508         Don't check for fchdir, memmove, memset, strrchr, as we use
74509         them unconditionally.
74510         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
74511         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
74512
74513 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
74514
74515         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
74516         Include <stddef.h> unconditionally, since we assume C89 now.
74517         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
74518         * lib/fts.c: Include fts_.h first, to check interface.
74519         Do not include intprops.h; no longer needed.
74520         Include cycle-check.h and hash.h, since fts_.h no longer does.
74521         Remove unnecessary casts of closedir to void.
74522         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
74523         decide whether to decrement nlinks.
74524         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
74525         (FTS): Use struct hash_table * instead of Hash_table, so that
74526         we no longer need to include hash.h here.
74527
74528 2005-05-18  Jim Meyering  <jim@meyering.net>
74529
74530         * modules/dirfd (License): Change to LGPL.  Most of the code
74531         is already in the public domain.
74532
74533 2005-05-18  Jim Meyering  <jim@meyering.net>
74534
74535         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
74536         Reported by Yoann Vandoorselaere.
74537
74538 2005-05-17  Jim Meyering  <jim@meyering.net>
74539
74540         * m4/fts.m4: New file, from coreutils.
74541
74542 2005-05-17  Jim Meyering  <jim@meyering.net>
74543
74544         * lib/fts.c, lib/fts_.h: New files, from coreutils.
74545
74546 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74547
74548         Sync from coreutils.
74549         * m4/unlinkdir.m4: New file.
74550
74551 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74552
74553         Sync from coreutils.
74554         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
74555         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
74556         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
74557         White space changes only.
74558         * lib/makepath.c (make_path): Port to hosts where leading "//" is
74559         special.
74560         * lib/yesno.c: Include getline.h, not ctype.h.
74561         (yesno): Don't remove leading white space; POSIX doesn't allow it.
74562         Use getline to remove arbitrary restriction on response length.
74563
74564 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74565
74566         * config/srclist-update: Spell out "Street" in FSF postal
74567         mail address; this is the style the FSF seems to prefer.
74568
74569         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
74570         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
74571         this updates FSF postal mail address.
74572
74573         Sync from coreutils.
74574         * modules/unlinkdir: New file.
74575         * modules/yesno (Depends-on): Add getline.
74576         * MODULES.html.sh (File system functions): Add unlinkdir.
74577
74578 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
74579
74580         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
74581         lib/strsep.h:
74582         Change the initial comment to refer to GPL, not LGPL.
74583         gnulib-tool will change it to LGPL as needed.
74584
74585         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
74586         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
74587         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
74588         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
74589         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
74590         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
74591         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
74592         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
74593         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
74594         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
74595         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
74596         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
74597         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
74598         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
74599         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
74600         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
74601         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
74602         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
74603         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
74604         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
74605         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
74606         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
74607         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
74608         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
74609         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
74610         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
74611         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
74612         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
74613         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
74614         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
74615         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
74616         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
74617         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
74618         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
74619         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
74620         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
74621         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
74622         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
74623         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
74624         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
74625         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
74626         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
74627         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
74628         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
74629         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
74630         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
74631         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
74632         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
74633         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
74634         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
74635         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
74636         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
74637         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
74638         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
74639         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
74640         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
74641         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
74642         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
74643         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
74644         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
74645         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
74646         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
74647         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
74648         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
74649         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
74650         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
74651         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
74652         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
74653         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
74654         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
74655         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
74656         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
74657         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
74658         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
74659         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
74660         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
74661         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
74662         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
74663         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
74664         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
74665         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
74666         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
74667         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
74668         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
74669         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
74670         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
74671         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
74672         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
74673         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
74674         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
74675         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
74676         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
74677         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
74678         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
74679         lib/yesno.c, lib/yesno.h:
74680         Update FSF postal mail address.
74681
74682 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
74683
74684         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
74685         tests/test-memmem.c, tests/test-stpncpy.c:
74686         Update FSF postal mail address.
74687
74688 2005-05-13  Bruno Haible  <bruno@clisp.org>
74689
74690         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
74691         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
74692         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
74693         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
74694         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
74695         Add support for 64-bit integers in the MSVC compiler.
74696
74697 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74698
74699         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
74700
74701 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
74702
74703         * gnulib-tool (func_import): Sort and uniquify recommended includes.
74704
74705 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
74706
74707         * doc/getdate.texi (General date syntax): Don't say that date
74708         date --iso-8601=ns generates acceptable dates; it doesn't yet.
74709         Problem reported by Nic Ferrier.
74710
74711 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74712
74713         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
74714         specified in ai_socktype. Fix invalid ai_protocol
74715         check. ai_protocol is usually set to 0 or depending on
74716         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
74717         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
74718         ai_socktype / ai_protocol in the returned addrinfo structure.
74719
74720 2005-05-10  Simon Josefsson  <jas@extundo.com>
74721
74722         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
74723         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74724
74725 2005-05-10  Karl Berry  <karl@gnu.org>
74726
74727         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
74728         (from http://www.gnu.org/licenses).
74729         * doc/COPYING.LIB: also rename to COPYING.LESSER.
74730         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
74731         fdl.texi suffices.
74732
74733 2005-05-10  Karl Berry  <karl@gnu.org>
74734
74735         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
74736         (COPYING.DOC): remove.
74737
74738         * config/srclist-update: new FSF address.
74739
74740 2005-05-10  Derek Price  <derek@ximbiot.com>
74741
74742         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
74743         possible.
74744
74745 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74746             Bruno Haible  <bruno@clisp.org>
74747
74748         * modules/inet_ntop: New file.
74749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74750         inet_ntop.
74751
74752 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74753             Bruno Haible  <bruno@clisp.org>
74754
74755         * m4/inet_ntop.m4: New file.
74756
74757 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74758             Bruno Haible  <bruno@clisp.org>
74759
74760         * lib/inet_ntop.h: New file.
74761         * lib/inet_ntop.c: New file, from glibc with modifications.
74762
74763 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
74764
74765         * modules/time_r (License): Change to LGPL.
74766         * modules/extensions (License): Change to LGPL.  Actually,
74767         the license is more permissive than that, but currently gnulib-tool
74768         doesn't know how to handle more-permissive licenses.
74769
74770         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
74771         Problem reported by Dave Love.
74772
74773 2005-05-08  Jim Meyering  <jim@meyering.net>
74774
74775         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
74776         blank.
74777
74778 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
74779
74780         * modules/argmatch (Depends-on): Add stdbool.
74781         * modules/backupfile (Depends-on): Likewise.
74782         * modules/chdir-long (Depends-on): Likewise.
74783         * modules/closeout (Depends-on): Likewise.
74784         * modules/cycle-check (Depends-on): Likewise.
74785         * modules/dirname (Depends-on): Likewise.
74786         * modules/fnmatch (Depends-on): Likewise.
74787         * modules/fsusage (Depends-on): Likewise.
74788         * modules/fwriteerror (Depends-on): Likewise.
74789         * modules/getcwd (Depends-on): Likewise.
74790         * modules/getloadavg (Depends-on): Likewise.
74791         * modules/hard-locale (Depends-on): Likewise.
74792         * modules/makepath (Depends-on): Likewise.
74793         * modules/mountlist (Depends-on): Likewise.
74794         * modules/nanosleep (Depends-on): Likewise.
74795         * modules/posixtm (Depends-on): Likewise.
74796         * modules/quotearg (Depends-on): Likewise.
74797         * modules/readtokens (Depends-on): Likewise.
74798         * modules/readtokens0 (Depends-on): Likewise.
74799         * modules/readutmp (Depends-on): Likewise.
74800         * modules/save-cwd (Depends-on): Likewise.
74801         * modules/strftime (Depends-on): Likewise.
74802         * modules/userspec (Depends-on): Likewise.
74803         * modules/utimecmp (Depends-on): Likewise.
74804         * modules/xgetcwd (Depends-on): Likewise.
74805         * modules/xnanosleep (Depends-on): Likewise.
74806         * modules/xstrtod (Depends-on): Likewise.
74807         * modules/yesno (Depends-on): Likewise.
74808
74809 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
74810
74811         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
74812         needless checks.
74813
74814 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74815
74816         Merge from coreutils.  Among other things,
74817         add bulletproofing for cases where stdin, stdout, or stderr are closed.
74818         * lib/fd-safer.c: New file.
74819         * lib/fcntl-safer.h, open-safer.c: Remove.
74820         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
74821         * lib/dup-safer.c: Include unistd-safer.h first.
74822         Don't include errno.h.
74823         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
74824         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
74825         * lib/file-type.c: Rely on file-type.h change.
74826         * lib/getloadavg.c: Include unistd-safer.h.
74827         (getloadavg): Use safer open.
74828         * lib/getusershell.c: Include "stdio-safer.h".
74829         (getusershell): Use safer fopen.
74830         * lib/long-options.c (long_options): Use NULL rather than 0.
74831         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
74832         'free'.
74833         * lib/modechange.c: Likewise.
74834         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
74835         (MODE_DONE): New constant.
74836         (struct mode_change): Remove 'next' member.
74837         (make_node_op_equals): New function; like the old one of the
74838         same name, except it allocates an array.
74839         (mode_compile, mode_create_from_ref): Use it.
74840         (mode_compile): Allocate result as an array, not a linked list.
74841         Parse octal string ourself, so that we catch mistakes like "+0".
74842         (mode_adjust): Arg is an array, not a linked list.
74843         * lib/modechange.c: Include stat-macros.h, xalloc.h.
74844         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
74845         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
74846         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
74847         Remove.  This is now stat-macros.h's job.
74848         (talloc): Remove.  All callers replaced by xalloc, so that
74849         our invokers don't have to worry about reporting memory failures.
74850         (make_node_op_equals): Remove.
74851         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
74852         New constants.
74853         (struct mode_change): Moved here from modechange.h.
74854         (mode_append_entry): Remove.
74855         (mode_compile): Remove MASKED_OPS arg, since it encouraged
74856         apps to have incorrect behavior.  Use simpler algorithm for head
74857         and tail.  Don't futz with umask; that's now the job of mode_adjust.
74858         Detect more invalid usages rather than having somewhat-random behavior.
74859         Don't insert an "a=" action, as that leads to incorrect behavior.
74860         (mode_compile, mode_create_from_ref): Return NULL on error instead
74861         of an enum, since now there's only one way to have an error.  All
74862         callers changed.
74863         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
74864         at the correct time.  Simplify calculation of "+u" and its ilk.
74865         Don't mishandle "+X".
74866         (mode_free): Remove "register" and localize decls.
74867         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
74868         (struct mode_change): Move to modechange.c; callers don't
74869         need to see this stuff.
74870         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
74871         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
74872         (mode_change, mode_adjust): Reflect the new signatures noted above.
74873         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
74874         that might redefine system include files.
74875         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
74876         (my_usleep): Use NULL rather than (void *) 0.
74877         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
74878         Use siginterrupt to specify that system calls should be interrupted.
74879         (rpl_nanosleep): Move initialization of suspended closer to call of
74880         my_usleep.
74881         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
74882         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
74883         (desirable_utmp_entry): New function.
74884         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
74885         using x2nrealloc, to simplify logic.
74886         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
74887         size calculation.  Do not assume utmp file is a regular file.
74888         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
74889         (READ_UTMP_CHECK_PIDS): New constant.
74890         * lib/save-cwd.c: Include unistd-safer.h.
74891         (save_cwd): Use fd_safer.
74892         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
74893         [!_LIBC] Include "stat-macros.h" instead.
74894         * lib/unistd-safer.h (fd_safer): New decl.
74895
74896 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74897
74898         * modules/getloadavg (Depends-on): Add unistd-safer.
74899         * modules/getusershell (Depends-on): Add stdio-safer.
74900         * modules/lstat (Depends-on): Remove xalloc.
74901         * modules/mkstemp (Depends-on): Add stat-macros.
74902         * modules/modechange (Depends-on): Remove xstrtol.
74903         Add stat-macros, xalloc.
74904         * modules/save-cwd (Depends-on): Add unistd-safer.
74905         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
74906         * modules/unistd-safer (Files): Add lib/fd-safer.c
74907         (Makefile.am): Remove lib_SOURCES.
74908
74909         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
74910         Remove fcntl-safer; unistd-safer supersedes it.
74911
74912 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
74915         AC_HEADER_STAT.
74916         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
74917         (gl_PREREQ_CHOWN): Remove.
74918         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
74919         it.  Don't require AC_HEADER_STAT.
74920         (gl_PREREQ_LSTAT): Remove.
74921         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
74922         Don't require AC_HEADER_STAT.
74923         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
74924         (gl_PREREQ_RMDIR): Remove.
74925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
74926         mention stat-macros.h or AC_HEADER_STAT, since we'll make
74927         the stat-macros module a prerequisite.
74928         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
74929         * m4/filemode.m4 (gl_FILEMODE): Likewise.
74930         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
74931         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
74932         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
74933         variable names.
74934         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
74935         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
74936         variable prefixes.
74937         * m4/fcntl-safer.m4: Remove.
74938         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
74939         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
74940         Invoke gl_PREREQ_FD_SAFER.
74941         (gl_PREREQ_FD_SAFER): New macro.
74942         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
74943         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
74944         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
74945         Remove duplicate call to AC_LIBOBJ(readutmp).
74946         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
74947
74948         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
74949         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
74950
74951 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74952
74953         * MODULES.html.sh (Misc): Add byteswap.
74954
74955 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74956
74957         * modules/getcwd (Depends-on): Add extensions.
74958         * modules/openat (Depends-on): Likewise.
74959
74960 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74961
74962         * modules/byteswap: New file.
74963
74964 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74965
74966         * m4/byteswap.m4: New file.
74967
74968 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74969
74970         * lib/byteswap_.h: New file.
74971
74972 2005-04-25  Karl Berry  <karl@gnu.org>
74973
74974         * m4/gettext.m4: Update from GNU gettext 0.14.4.
74975
74976 2005-04-25  Albert Chin  <china@thewrittenword.com>
74977
74978         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
74979         Toolkit C bug.
74980
74981 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
74982
74983         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
74984         (func_ln_if_changed): Remove forcibly for no error message
74985         in case file does not exist.
74986
74987 2005-04-19  Simon Josefsson  <jas@extundo.com>
74988
74989         * gnulib-tool (Options): Make --symlink mean --symbolic.
74990
74991 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
74992
74993         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
74994
74995 2005-04-16  Simon Josefsson  <jas@extundo.com>
74996
74997         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
74998
74999 2005-04-15  Simon Josefsson  <jas@extundo.com>
75000
75001         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
75002
75003 2005-04-15  Simon Josefsson  <jas@extundo.com>
75004
75005         * gnulib-tool: Rename --symlink to --symbolic.
75006
75007 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
75008
75009         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
75010         symbolic links to files instead of copying/moving.  Add --aux-dir,
75011         specifying directory relative --dir where auxiliary build tools
75012         are placed.
75013
75014 2005-04-14  Bruno Haible  <bruno@clisp.org>
75015
75016         * modules/allocsa (License): Change to LGPL.
75017         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
75018
75019 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75020
75021         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
75022         that "UTC +1 second" continues to work.  Problem reported
75023         by Dmitry V. Levin.
75024         (relunit_snumber): New rule.
75025         (relunit): Use it.
75026
75027 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75028
75029         * lib/getdate.y (universal_time_zone_table): New constant.
75030         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
75031         universal_time_zone_table.
75032         (lookup_zone): Prefer universal_time_zone_table to
75033         local_time_zone_table, so that "GMT" time stamps are allowed in
75034         London during the summer.  Problem reported by Ian Abbott.
75035
75036 2005-04-12  Jim Meyering  <jim@meyering.net>
75037
75038         * lib/human.c (humblock): Set *options even when returning due to
75039         xstrtoumax conversion failure.  Thanks to a used-uninitialized
75040         warning from gcc-4.
75041
75042 2005-04-09  Jim Meyering  <jim@meyering.net>
75043
75044         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
75045         -Wuninitialized: initialize tm0.tm_year.
75046
75047 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
75048
75049         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
75050         count, since there's no maximum.  All uses changed.
75051         Add member dsts_seen.
75052         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
75053         not being INT_MAX.
75054         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
75055         Use pc_rels_seen to decide whther a date is absolute.
75056
75057         * lib/getdate.y (number): Don't overwrite year.
75058         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
75059         check.
75060
75061 2005-04-02  Simon Josefsson  <jas@extundo.com>
75062
75063         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
75064         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
75065
75066 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
75067
75068         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
75069         where no absolute path name can be longer than PATH_MAX.
75070
75071 2005-03-27  Jim Meyering  <jim@meyering.net>
75072
75073         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
75074
75075 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
75076
75077         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
75078         "one's complement" -> "ones' complement" in comment, as per Knuth.
75079         "value of type" -> "type or expression" in comment.
75080         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
75081
75082 2005-03-26  Jim Meyering  <jim@meyering.net>
75083
75084         Comment nits.
75085         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
75086         Correct typos: s/or/of/.
75087
75088 2005-03-26  Jim Meyering  <jim@meyering.net>
75089
75090         * modules/check-include-files: Move to ../ and rename to...
75091         * check-module: ...this.
75092
75093 2005-03-25  Jim Meyering  <jim@meyering.net>
75094
75095         * modules/xvasprintf (Files): Add xalloc.h.
75096
75097 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
75098
75099         * modules/gettext (Files): config/config.rpath ->
75100         build-aux/config.rpath
75101         * modules/iconv (Files): Likewise.
75102         Problem reported by Oskar Liljeblad.
75103
75104 2005-03-23  Jim Meyering  <jim@meyering.net>
75105
75106         * modules/check-include-files: New script to check for
75107         missing dependencies, multiple includes, etc.
75108
75109         * modules/c-strtold (Depends-on): Add xalloc.
75110         * modules/c-strtod (Depends-on): Add xalloc.
75111         * modules/hash (Depends-on): Add xalloc.
75112         (Files): Remove lib/xalloc.h.
75113
75114         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
75115         * modules/userspec (Files): Add lib/inttostr.h.
75116
75117 2005-03-23  Jim Meyering  <jim@meyering.net>
75118
75119         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
75120
75121 2005-03-22  Jim Meyering  <jim@meyering.net>
75122
75123         * modules/stat-macros: New module.
75124         * modules/canonicalize, modules/euidaccess, modules/file-type,
75125         * modules/filemode, modules/lchown, modules/makepath,
75126         * modules/rmdir, modules/stat: Depend on new stat-macros module
75127         rather than listing lib/stat-macros.h manually.
75128         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
75129
75130 2005-03-22  Jim Meyering  <jim@meyering.net>
75131
75132         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
75133
75134 2005-03-22  Bruno Haible  <bruno@clisp.org>
75135
75136         * config/srclist.txt: Replace target directory 'config' with
75137         'build-aux'.
75138         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
75139         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
75140         ../build-aux/.
75141
75142 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
75143
75144         * modules/chdir-long (Depends-on): Add mempcpy.
75145
75146         * modules/acl, modules/backupfile, modules/c-strtod,
75147         modules/c-strtold, modules/canon-host, modules/canonicalize,
75148         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
75149         modules/exclude, modules/exitfail, modules/file-type,
75150         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
75151         modules/getdate, modules/getline, modules/getpagesize,
75152         modules/getpass, modules/getugroups, modules/group-member,
75153         modules/hard-locale, modules/hash, modules/human, modules/idcache,
75154         modules/inttostr, modules/long-options, modules/makepath,
75155         modules/md5, modules/memcasecmp, modules/memcoll,
75156         modules/modechange, modules/mountlist, modules/path-concat,
75157         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
75158         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
75159         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
75160         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
75161         modules/strftime, modules/strndup, modules/strverscmp,
75162         modules/timespec, modules/unlocked-io, modules/userspec,
75163         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
75164         modules/yesno:
75165         Remove lib_SOURCES line from Makefile.am section, as this is now
75166         done automatically by the corresponding Autoconf macro.
75167
75168 2005-03-21  Jim Meyering  <jim@meyering.net>
75169
75170         Changes imported from coreutils.
75171
75172         * lib/cycle-check.c: Don't include xalloc.h.
75173
75174         * lib/path-concat.c: Don't include assert.h.
75175         (path_concat): Remove assertion that would have triggered
75176         for ABASE starting with more than one slash.
75177         Reported by Andreas Schwab.
75178
75179         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
75180         properly when ABASE is an absolute file name.
75181         Correct the description of this function.
75182         Include <assert.h>.
75183         Add an assertion and a test driver.
75184         This fixes a bug introduced on 2004-07-02.
75185         Andreas Schwab reported the resulting failure of cp --parents:
75186         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
75187
75188 2005-03-21  Jim Meyering  <jim@meyering.net>
75189
75190         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
75191         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
75192
75193 2005-03-21  Jim Meyering  <jim@meyering.net>
75194         and  Paul Eggert  <eggert@cs.ucla.edu>
75195
75196         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
75197         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
75198         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
75199         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
75200         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
75201         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
75202         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
75203         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
75204         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
75205         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
75206         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
75207         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
75208         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
75209         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
75210         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
75211         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
75212         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
75213         for these modules.
75214
75215 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
75216
75217         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
75218         (which shouldn't happen), generate nothing instead of returning 0
75219         immediately, so that nstrftime (NULL, ...) doesn't return 0.
75220
75221 2005-03-16  Bruno Haible  <bruno@clisp.org>
75222
75223         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
75224         HAVE_LONGLONG_64BIT.
75225
75226 2005-03-16  Bruno Haible  <bruno@clisp.org>
75227
75228         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
75229         HAVE_LONGLONG_64BIT.
75230
75231 2005-03-16  Bruno Haible  <bruno@clisp.org>
75232
75233         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
75234         HAVE_LONGLONG_64BIT.
75235
75236 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         * lib/strftime.c (my_strftime): Prepend space to format so that we can
75239         reliably distinguish strftime failure from empty output on POSIX
75240         hosts.
75241
75242 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
75243
75244         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
75245         (iconv_string): Don't guess a size-zero buffer, as that might cause
75246         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
75247         result would be 'too large', where 'too large' is (heuristically)
75248         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
75249         overflow concerns.  This will prevent some unwanted malloc failures
75250         when the inputs are very large.
75251
75252 2005-03-15  Karl Berry  <karl@gnu.org>
75253
75254         * config/srclist.txt (config.rpath): from gettext.
75255         * config/config.rpath: update.
75256
75257 2005-03-15  Bruno Haible  <bruno@clisp.org>
75258
75259         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
75260         to 'negate'.
75261
75262         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
75263         variable.
75264
75265         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
75266         results.
75267
75268 2005-03-14  Simon Josefsson  <jas@extundo.com>
75269
75270         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
75271         <fx@gnu.org>.
75272
75273 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
75274
75275         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
75276         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
75277         intprops.h.
75278         * lib/strtol.c: Likewise.
75279
75280 2005-03-14  Jim Meyering  <jim@meyering.net>
75281
75282         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
75283         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
75284         to be nonzero so that we (and caller) can detect the difference
75285         between a valid zero-length expansion and an error return, even
75286         when the underlying strftime fails before writing anything into
75287         that location.
75288
75289 2005-03-14  Bruno Haible  <bruno@clisp.org>
75290
75291         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
75292         Update from GNU gettext 0.14.3.
75293
75294 2005-03-10  Jim Meyering  <jim@meyering.net>
75295
75296         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
75297
75298 2005-03-10  Jim Meyering  <jim@meyering.net>
75299
75300         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
75301         so that this module works on systems without fchdir.
75302
75303 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
75304
75305         Factor int-properties macros into a single file, except for
75306         glibc-related files.
75307         * lib/intprops.h: New file.
75308         * lib/getloadavg.c: Include it instead of limits.h.
75309         (INT_STRLEN_BOUND): Remove.
75310         * lib/human.c: Include intprops.h.
75311         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
75312         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
75313         302/1000.
75314         * lib/inttostr.h: Include intprops.h instead of limits.h.
75315         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
75316         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
75317         for consistency with intprops.h.
75318         (time_t_is_integer, twos_complement_arithmetic): Use them.
75319         * lib/sig2str.h: Include <signal.h>, intprops.h.
75320         (INT_STRLEN_BOUND): Remove.
75321         * lib/strftime.c (TYPE_SIGNED): Remove.
75322         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
75323         * lib/strtol.c: Adjust comments to match intprops.h.
75324         * lib/userspec.c: Include intprops.h.
75325         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
75326         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
75327         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
75328         instead of rolling our own expressions.
75329         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
75330
75331         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
75332         instead of int.
75333         (my_strftime): Do not mishandle years close to INT_MAX, by doing
75334         the right thing even if adding 1900 would overflow.  Similarly
75335         for tm_mon + 1 and tm_yday + 1.
75336         Make %Y always equivalent to %C%y, and similarly for %G and %g.
75337         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
75338         (DO_SIGNED_NUMBER): New macro.
75339         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
75340
75341 2005-03-07  Bruno Haible  <bruno@clisp.org>
75342
75343         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
75344
75345 2005-03-07  Bruno Haible  <bruno@clisp.org>
75346
75347         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
75348
75349 2005-03-04  Derek R. Price  <derek@ximbiot.com>
75350
75351         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
75352         (func_import): Only replace files via --import when they have actually
75353         changed.
75354
75355 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75356
75357         * m4/mmap-anon.m4: New file.
75358         * m4/pagealign_alloc.m4: New file.
75359
75360 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75361             Bruno Haible  <bruno@clisp.org>
75362
75363         * modules/pagealign_alloc: New file.
75364         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
75365
75366 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75367             Bruno Haible  <bruno@clisp.org>
75368
75369         * lib/pagealign_alloc.h: New file.
75370         * lib/pagealign_alloc.c: New file.
75371
75372 2005-03-03  Bruno Haible  <bruno@clisp.org>
75373
75374         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
75375         Use an all-permissive copyright notice, recommended by RMS.
75376
75377 2005-03-02  Bruno Haible  <bruno@clisp.org>
75378
75379         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
75380         of AIX, the replacement has to be done only after <string.h> is
75381         included, therefore not in config.h. stpncpy.h does the replacement,
75382         and stpncpy.c uses it.
75383
75384 2005-03-02  Bruno Haible  <bruno@clisp.org>
75385
75386         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
75387         stpncpy.c uses it.
75388
75389 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75390
75391         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
75392         The workaround isn't strictly needed for POSIX conformance, and
75393         it's too much of a pain to configure and maintain.  We'll ask
75394         people to fix their kernels instead.
75395         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
75396         (NANOSLEEP_BUG_WORKAROUND): Remove.
75397         (xnanosleep): Remove the workaround.
75398
75399 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75400
75401         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
75402         Reported by Derek Price.
75403         (Include): Add "timespec.h".
75404
75405         * modules/xnanosleep (Depends-on): Remove gethrxtime.
75406
75407 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75408
75409         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
75410         to detect nanosleep bug.
75411
75412 2005-03-01  Bruno Haible  <bruno@clisp.org>
75413
75414         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
75415
75416 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75417
75418         * modules/gethrxtime: New file.
75419         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
75420         (Depends-on): Add gethrxtime.
75421         (configure.ac): Add gl_XNANOSLEEP.
75422         (Makefile.am): Remove lib_SOURCES line.
75423
75424 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
75425
75426         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
75427         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
75428
75429 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
75432         * lib/timespec.h (gettime): Return void, since it always
75433         succeeds now.  All uses changed.
75434         * lib/gettime.c (gettime): Likewise.
75435         [HAVE_NANOTIME]: Prefer nanotime.
75436         Assume gettimeofday succeeds, as POSIX requires.
75437         Assime time () succeeds, since other code already does.
75438         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
75439         (timespec_subtract): Remove.
75440         (NANOSLEEP_BUG_WORKAROUND): New constant.
75441         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
75442         things considerably.  Use it only on GNU/Linux hosts, since the
75443         workaround shouldn't be needed elsewhere.
75444
75445 2005-02-24  Bruno Haible  <bruno@clisp.org>
75446
75447         * modules/gettext (Files): Add m4/glibc2.m4.
75448
75449 2005-02-24  Bruno Haible  <bruno@clisp.org>
75450
75451         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
75452         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
75453         * m4/progtest.m4:
75454         Update from GNU gettext 0.14.2.
75455         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
75456
75457 2005-02-24  Bruno Haible  <bruno@clisp.org>
75458
75459         * lib/localcharset.c: Update from GNU gettext 0.14.2.
75460         * lib/config.charset: Update from GNU gettext 0.14.2.
75461
75462 2005-02-24  Bruno Haible  <bruno@clisp.org>
75463
75464         * lib/gettext.h: Update from GNU gettext 0.14.2.
75465
75466 2005-02-23  Simon Josefsson  <jas@extundo.com>
75467
75468         * m4/iconvme.m4: New file.
75469
75470 2005-02-23  Jim Meyering  <jim@meyering.net>
75471
75472         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
75473         change.
75474         Thanks to Bruno Haible for catching it.
75475
75476 2005-02-22  Simon Josefsson  <jas@extundo.com>
75477
75478         * modules/iconvme: New file.
75479
75480         * MODULES.html.sh: Add iconvme.
75481
75482 2005-02-22  Simon Josefsson  <jas@extundo.com>
75483
75484         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
75485
75486 2005-02-22  Simon Josefsson  <jas@extundo.com>
75487
75488         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
75489
75490 2005-02-22  Jim Meyering  <jim@meyering.net>
75491
75492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
75493         s/ifndef/ifdef/.
75494
75495 2005-02-20  Neil Conway  <neilc@samurai.com>
75496
75497         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
75498         returned by OSX/Darwin if the specified buffer is not large
75499         enough for the hostname.
75500
75501 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75502
75503         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
75504         pass it to _help, otherwise the latter coredumps trying to
75505         dereference state.root_argp.
75506
75507 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75508
75509         * modules/chdir-long (Depends-on): Add memrchr.
75510         * modules/memrchr (Files): Add lib/memrchr.h.
75511         (Include): "memrchr.h".
75512
75513 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75514
75515         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
75516
75517 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75518
75519         * lib/memrchr.h: New file.
75520         * lib/chdir-long.c: Include it.
75521         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
75522         Don't bother including stddef.h.
75523
75524 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
75525
75526         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
75527         inclusion.
75528         Include <sys/types.h>, for dev_t.
75529         (ME_DUMMY, ME_REMOTE): Move from here....
75530         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
75531         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
75532         Dmitry V. Levin.
75533         Include mountlist.h first, to test the interface.
75534
75535 2005-01-29  Bruno Haible  <bruno@clisp.org>
75536
75537         * lib/progname.c (program_name): Initialize.
75538         Needed when linking statically on MacOS X.
75539
75540 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
75541
75542         Sync from coreutils.
75543         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
75544         (Depends-on): Add c-strtod.
75545         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
75546
75547 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
75548
75549         Sync from coreutils.
75550         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
75551
75552         Remove files that are specific to coreutils.
75553         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
75554
75555 2005-01-28  Bruno Haible  <bruno@clisp.org>
75556
75557         * modules/javacomp: New file.
75558         * MODULES.html.sh (Java): Add javacomp.
75559
75560 2005-01-28  Bruno Haible  <bruno@clisp.org>
75561
75562         * m4/javacomp.m4: New file, from GNU gettext.
75563
75564 2005-01-28  Bruno Haible  <bruno@clisp.org>
75565
75566         * lib/javacomp.sh.in: New file, from GNU gettext.
75567         * lib/javacomp.h: New file, from GNU gettext.
75568         * lib/javacomp.c: New file, from GNU gettext.
75569
75570 2005-01-26  Simon Josefsson  <jas@extundo.com>
75571
75572         * lib/gai_strerror.c: Use GPL in header.
75573
75574 2005-01-26  Bruno Haible  <bruno@clisp.org>
75575
75576         * modules/javaexec: New file.
75577         * MODULES.html.sh (Java): Add javaexec.
75578
75579 2005-01-26  Bruno Haible  <bruno@clisp.org>
75580
75581         * m4/javaexec.m4: New file, from GNU gettext.
75582
75583 2005-01-26  Bruno Haible  <bruno@clisp.org>
75584
75585         * lib/javaexec.sh.in: New file, from GNU gettext.
75586         * lib/javaexec.h: New file, from GNU gettext.
75587         * lib/javaexec.c: New file, from GNU gettext.
75588
75589 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75590
75591         * modules/lchown (Depends-on): Remove lchown.h
75592
75593 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75594
75595         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
75596         must be defined if the header file was not found, in order
75597         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
75598
75599 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75600
75601         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
75602         initializers for struct pentry_state.
75603         (__argp_error): Check return value of __asprintf
75604         (__argp_failure): Translate error message
75605
75606         * lib/argp-parse.c: Removed braces around the expansion of N_()
75607
75608 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75609
75610         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
75611         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
75612         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
75613         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
75614         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
75615         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
75616         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
75617         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
75618         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
75619         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
75620         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
75621         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
75622         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
75623         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
75624         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
75625         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
75626         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
75627         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
75628         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
75629         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
75630         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
75631         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
75632         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
75633         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
75634         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
75635         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
75636         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
75637         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
75638         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
75639         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
75640         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
75641         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
75642         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
75643         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
75644         xstrtol.m4, xstrtoumax.m4, yesno.m4:
75645         Use an all-permissive copyright notice, recommended by RMS.
75646
75647 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
75648
75649         * modules/chdir-long (Depends-on): Remove mempcpy.
75650
75651 2005-01-21  Jim Meyering  <jim@meyering.net>
75652
75653         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
75654         same value as for Solaris 9.
75655
75656         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
75657         component length.  This included changing the parameter to be
75658         of type `char *' rather than `char const *'.
75659         * lib/chdir-long.h (chdir_long): Update prototype.
75660
75661         * lib/openat.c (fdopendir, fstatat): New functions.
75662         * lib/openat.h: Include headers required for use of DIR and struct
75663         stat.
75664         [AT_SYMLINK_NOFOLLOW]: Define.
75665         (fdopendir, fstatat): Add prototypes.
75666
75667 2005-01-21  Bruno Haible  <bruno@clisp.org>
75668
75669         * modules/classpath: New file.
75670         * MODULES.html.sh (Java): Add classpath.
75671
75672 2005-01-21  Bruno Haible  <bruno@clisp.org>
75673
75674         * lib/classpath.h: New file, from GNU gettext.
75675         * lib/classpath.c: New file, from GNU gettext.
75676
75677 2005-01-20  Simon Josefsson  <jas@extundo.com>
75678
75679         * modules/version-etc-fsf: New file.
75680
75681 2005-01-20  Simon Josefsson  <jas@extundo.com>
75682
75683         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
75684         * lib/version-etc.c: Remove version_etc_copyright.
75685         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
75686         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
75687
75688 2005-01-20  Simon Josefsson  <jas@extundo.com>
75689
75690         * lib/base64.h (isbase64): Add.
75691
75692         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
75693         using a unsigned prototype, don't inline.
75694         (base64_decode): Use it.
75695
75696 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75697
75698         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
75699         it.
75700
75701 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75702
75703         * lib/save-cwd.c (save_cwd): Remove code to support the case
75704         where fchdir is missing or flaky.
75705
75706 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75707
75708         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
75709
75710 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
75711
75712         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
75713         AC_LIBSOURCES now does this.
75714         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
75715         with new ullong_max module.
75716
75717 2005-01-19  Bruno Haible  <bruno@clisp.org>
75718
75719         * modules/sh-quote: New file.
75720         * MODULES.html.sh (Executing programs): Add sh-quote.
75721
75722 2005-01-19  Bruno Haible  <bruno@clisp.org>
75723
75724         * lib/sh-quote.h: New file, from GNU gettext.
75725         * lib/sh-quote.c: New file, from GNU gettext.
75726
75727 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
75728
75729         Merge from coreutils.
75730         * m4/ullong_max.m4: New file.
75731         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
75732         (gl_MACROS): Assume localeconv exists.
75733
75734 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
75735
75736         Merge changes from coreutils, as described below in several
75737         changelogs dated today.
75738
75739         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
75740         (O_DIRECTORY): Remove; not needed here, since "." must be
75741         a directory.  All uses removed.
75742         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
75743         universal on Suns, and we also need to test for IRIX.
75744         Revamp code to use 'if' rather than '#if'.
75745         Avoid unnecessary comparison of cwd->desc to 0.
75746
75747         * lib/utimens.c (futimens): Robustify the previous patch, by checking
75748         for known valid error numbers rather than observed invalid ones.
75749
75750 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
75751
75752         * modules/ullong_max: New file.
75753
75754         * modules/chdir-long, modules/openat: New files.
75755         * modules/save-cwd (Depends-on): Depend on chdir-long.
75756         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
75757
75758 2005-01-18  Jim Meyering  <jim@meyering.net>
75759
75760         Merge from coreutils.
75761         * m4/chdir-long.m4, m4/openat.m4: New files.
75762         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
75763         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
75764         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
75765         is sane and DOES follow symlinks.  Besides, testing 20 different
75766         systems found no broken chown implementations.
75767         Prompted by a change in rsync's copy of this macro.
75768         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
75769
75770         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
75771
75772         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
75773         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
75774         NULL-means-set-to-current-time semantics.
75775         Remove temporary file immediately, rather than waiting
75776         for configure's at-exit trap code to do it.
75777
75778 2005-01-18  Jim Meyering  <jim@meyering.net>
75779
75780         * lib/version-etc.c (version_etc_copyright): Update copyright date.
75781
75782         * lib/utimens.c (futimens): Account for the fact that futimes
75783         can also fail with errno == ENOSYS or errno == ENOENT.
75784         Patch from Dmitry V. Levin.
75785
75786         Change the name of the robust chdir function from chdir to chdir_long.
75787         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
75788         (restore_cwd): Use chdir_long, not chdir.
75789         * lib/chdir-long.c: Renamed from chdir.c.
75790         * lib/chdir-long.h: Renamed from chdir.h.
75791         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
75792         Hurd.
75793
75794 2005-01-18  Bruno Haible  <bruno@clisp.org>
75795
75796         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
75797         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
75798         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
75799         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
75800         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
75801         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
75802         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
75803         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
75804         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
75805         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
75806         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
75807         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
75808         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
75809         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
75810         Use an all-permissive copyright notice, recommended by RMS.
75811
75812 2005-01-18  Bob Proulx  <bob@proulx.com>
75813
75814         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
75815         simplify offsetof() macro construct to avoid compile failure with
75816         native HP-UX 11.0 ANSI C compiler.
75817
75818 2005-01-17  Bruno Haible  <bruno@clisp.org>
75819
75820         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
75821         redundant because stpncpy.m4 takes care of it.
75822
75823 2005-01-17  Bruno Haible  <bruno@clisp.org>
75824
75825         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
75826
75827 2005-01-17  Bruno Haible  <bruno@clisp.org>
75828
75829         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
75830         used.
75831
75832 2005-01-17  Bruno Haible  <bruno@clisp.org>
75833
75834         * lib/fwriteerror.h (fwriteerror): Change specification to include
75835         fclose.
75836         * lib/fwriteerror.c: Include <stdbool.h>.
75837         (fwriteerror): At the end, close the file stream. Record whether
75838         stdout was already closed.
75839
75840 2005-01-17  Bruno Haible  <bruno@clisp.org>
75841
75842         * lib/execute.c (environ): Declare if needed.
75843         * lib/pipe.c (environ): Likewise.
75844         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
75845
75846 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75847
75848         * modules/argp: Depend on vsnprintf
75849
75850 2005-01-10  Jim Meyering  <jim@meyering.net>
75851
75852         * modules/closeout (Depends-on): Add atexit.
75853
75854 2005-01-06  Bruno Haible  <bruno@clisp.org>
75855
75856         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
75857
75858 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75859
75860         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
75861         definitions to be after all include files, to avoid collisions.
75862         Problem reported by Bob Proulx.
75863
75864 2005-01-04  Jim Meyering  <jim@meyering.net>
75865
75866         Changes imported from coreutils.
75867         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
75868         as the mkstemp template, use a temporary directory and an
75869         8.3-friendly template to avoid trouble on systems like DJGPP.
75870         Reported by Juan M. Guerrero via Stepan Kasal.
75871         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
75872         close. Remove the temporary directory right away, rather than waiting
75873         for configure's at-exit trap code to do it.
75874         Suggestion from Stepan Kasal.
75875
75876 2005-01-01  Simon Josefsson  <jas@extundo.com>
75877
75878         * gnulib-tool: Print #include directives when --import'ing.
75879
75880 2004-12-28  Simon Josefsson  <jas@extundo.com>
75881
75882         * tests/test-base64.c: Include required header files.  Remove
75883         unused variables.
75884
75885 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75886
75887         * modules/error (Depends-on): Remove gettext.
75888
75889 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75890
75891         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
75892         not needed.  This removes a dependency on the gettext module.
75893         [defined _LIBC]: Do not include <libintl.h>; not needed.
75894
75895 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
75896
75897         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
75898         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
75899
75900 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
75901
75902         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
75903         HAVE_DECL_STRTOLD.
75904
75905 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75906
75907         * modules/getdate (Depends-on): Remove alloca-opt.
75908
75909 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75910
75911         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
75912
75913 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75914
75915         * lib/argp-parse.c: Include <stddef.h>.
75916         (alignof, alignto): New macros.
75917         (parser_init): Don't assume that void * is aligned sufficiently
75918         for struct option.
75919
75920         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
75921         need to extend the stack.
75922         (YYINITDEPTH): New macro, so that the initial stack isn't overly
75923         large.
75924
75925 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75926
75927         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
75928
75929 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
75930
75931         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
75932         (2004-10-24) change.  Apparently this was a false alarm.
75933
75934         * modules/getdate: Depend on alloca-opt, not alloca.
75935
75936 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
75937
75938         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
75939         Remove now-obsolete comment about AIX.
75940         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
75941         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
75942         (YYMAXDEPTH): New macro.
75943
75944 2004-12-18  Simon Josefsson  <jas@extundo.com>
75945
75946         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
75947
75948 2004-12-18  Bruno Haible  <bruno@clisp.org>
75949
75950         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
75951
75952 2004-12-18  Bruno Haible  <bruno@clisp.org>
75953
75954         * lib/fatal-signal.c (fatal_signals): Make non-const.
75955         (init_fatal_signals): New function.
75956         (uninstall_handlers, install_handlers): Ignore signals that were set to
75957         SIG_IGN.
75958         (at_fatal_signal): Call init_fatal_signals.
75959         (init_fatal_signal_set): Likewise. Ignore signals that were set to
75960         SIG_IGN.
75961         Reported by Paul Eggert.
75962
75963 2004-12-18  Bruno Haible  <bruno@clisp.org>
75964
75965         * doc/alloca.texi: New file.
75966         * doc/alloca-opt.texi: New file.
75967
75968 2004-12-17  Jim Meyering  <jim@meyering.net>
75969
75970         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
75971         Otherwise, install-sh could exit with improper exit status when
75972         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
75973
75974 2004-12-16  Simon Josefsson  <jas@extundo.com>
75975
75976         * tests/test-base64.c: Add license.
75977
75978 2004-12-15  Stepan Kasal  <address@hidden>
75979
75980         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
75981
75982 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75983
75984         * modules/getcwd (Files): Add m4/d-ino.m4.
75985         Suggested by Mark D. Baushke.
75986
75987 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75988
75989         * lib/getdate.y (textint): New member "negative".
75990         (time_zone_hhmm): New function.
75991         Expect 14 shift-reduce conflicts, not 13.
75992         (o_colon_minutes): New rule.
75993         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
75994         (yylex): Set the "negative" member of signed numbers.
75995
75996 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75997
75998         * doc/getdate.texi (Time of day items, Time zone items):
75999         Describe new formats +00:00, UTC+00:00.
76000
76001 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76002
76003         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
76004         spurious "-l"s.  Problem reported by Stepan Kasal.
76005
76006 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
76009         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
76010
76011 2004-12-04  Simon Josefsson  <jas@extundo.com>
76012
76013         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
76014         Vandoorselaere <yoann@prelude-ids.org>.
76015
76016 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76017
76018         Changes imported from coreutils.
76019         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
76020         exist.
76021         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
76022
76023 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76024
76025         Changes imported from coreutils.
76026         * lib/hard-locale.c: Assume <locale.h> exists.
76027         Include "strdup.h".
76028         (GLIBC_VERSION): New macro.
76029         (hard_locale): Assume setlocale exists.
76030         Rewrite to avoid #ifdef.
76031         Use strdup rather than malloc + strcpy.
76032         * lib/human.c: Assume <locale.h> exists.
76033         (human_readable): Assume localeconv exists.
76034
76035 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76036
76037         * modules/hard-locale (Depends-on): Add strdup.
76038
76039 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
76040
76041         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
76042         convert T2, not T.  (Imported from libc.)
76043
76044 2004-11-30  Simon Josefsson  <jas@extundo.com>
76045
76046         * modules/restrict (License): Change to LGPL.
76047
76048 2004-11-30  Simon Josefsson  <jas@extundo.com>
76049
76050         * m4/restrict.m4: Add copyright and copying conditions.
76051
76052 2004-11-30  Simon Josefsson  <jas@extundo.com>
76053
76054         * m4/base64.m4: New file.
76055
76056 2004-11-30  Simon Josefsson  <jas@extundo.com>
76057
76058         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
76059         base64.
76060
76061         * tests/test-base64.c: New file.
76062
76063         * modules/base64: New file.
76064
76065 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
76066
76067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
76068         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
76069
76070         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
76071
76072 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
76073
76074         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
76075         (__getcwd.c): Don't restore errno; glibc doesn't.
76076         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
76077         first, falling back to our code only if its results look suspicious.
76078         Ensure that the resulting buffer is only as large as necessary.
76079
76080         * lib/readutmp.c: Include readutmp.h first.
76081         Include <errno.h>, since readutmp.h no longer does that.
76082         * lib/readutmp.h: Don't include <errno.h>,
76083         <sys/param.h>, <time.h>; not needed to establish interface.
76084         (errno): Remove decl.
76085         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
76086         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
76087         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
76088
76089 2004-11-28  Simon Josefsson  <jas@extundo.com>
76090
76091         * lib/base64.h, base64.c: New file.
76092
76093 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76094
76095         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
76096
76097 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76098
76099         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
76100         (Depends-on): Remove pathmax, same.  Add mempcpy.
76101         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
76102         (Makefile.am): Append getcwd.h to lib_SOURCES.
76103         (Include): Add getcwd.h.
76104         (Maintainer): Change from Jim Meyering to "all, glibc",
76105         since getdate now uses intended-for-glibc code.
76106         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
76107         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
76108
76109 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76110
76111         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
76112         HP's ANSI C compiler.
76113         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
76114         Declaring int functions causes warnings on some modern systems and
76115         shouldn't be needed to compile on ancient ones.
76116         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
76117         defined.
76118
76119         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
76120         with the following changes.
76121         (__set_errno): Parenthesize properly.
76122         Include <stdbool.h>.
76123         (MIN, MAX, MATCHING_INO): New macros.
76124         (__getcwd): Define with prototype, not K&R form.
76125         Use heuristics to allocate default buffer on stack if possible.
76126         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
76127         behavior, and to avoid the PATH_MAX limit when computing
76128         ../../../../...
76129         Use MATCHING_INO to compare inode number to file.
76130         Check for arithmetic overflow in size calculations.
76131         Fix bug in reallocation of dot array that caused getcwd to fail
76132         on directories nested deeper than 75.
76133         Be more careful about saving errno on error.
76134         Do not use realloc; use only free+malloc, as this is a bit
76135         more flexible and avoids a needless copy operation.
76136         Do not inspect st_dev and st_ino for symbolic links; POSIX
76137         doesn't specify the latter.
76138         Check for closedir errors.
76139         Avoid needless casts.
76140         Use "#ifdef weak_alias" around weak_alias, to be like other
76141         glibc code.
76142         The following changes to getcwd.c have effect only when used in
76143         gnulib; they have no effect inside glibc proper.
76144         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
76145         as alloca isn't used.
76146         (alloca, __alloca): Likewise.
76147         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
76148         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
76149         unconditionally, as gnulib assumes C89 or better.
76150         Do not include <sys/param.h>.
76151         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
76152         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
76153         better.
76154         (NULL) [!defined NULL]: Remove; we assume C89 or better.
76155         Include <dirent.h> in a way that is compatible with modern Autoconf.
76156         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
76157         New macros, if not already defined.
76158         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
76159         Use "_LIBC", not "defined _LIBC", for consistency.
76160         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
76161         a mempcpy module.
76162         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
76163         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
76164         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
76165         credit only to Jim Meyering and adjust the copyright dates.
76166         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
76167         <stdlib.h>, <unistd.h>, "pathmax.h".
76168         Instead, include "xgetcwd.h" (first) and "getcwd.h".
76169         (INITIAL_BUFFER_SIZE): Remove.
76170         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
76171
76172 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76173
76174         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
76175         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
76176         Use the _ONCE methods, for efficiency.
76177         Check for fcntl.h.  In test program, include <errno.h>
76178         and <fcntl.h> if available.  Remove old K&R cruft from
76179         test program.  Check for common errors in GNU/Linux,
76180         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
76181         don't do AC_LIBOBJ, as that's getcwd.m4's job.
76182         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
76183         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
76184         name accordingly.
76185         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
76186         accommodate new getcwd.c.
76187         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
76188         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
76189         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
76190         that's all we need now.
76191
76192 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76193
76194         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
76195         argp-parse.c depends on getopt internals, that means we should
76196         always use our getopt, to be on the safe side.
76197         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
76198         order not to spoil the result of an eventual previous invocation
76199         of gl_GETOPT_SUBSTITUTE.
76200
76201 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76202
76203         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
76204         redefinition warnings. To avoid them, include the defines
76205         in `#if !defined __need_getopt ... #endif'. The only place
76206         where __getopt_argv_const is used is in definitions
76207         of getopt_long and getopt_long_only below, which are as well
76208         protected by `#ifndef __need_getopt'.
76209         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
76210         __need_getopt after including <stdio.h> and <unistd.h> These
76211         headers might have defined it.
76212
76213 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
76214
76215         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
76216
76217 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
76218
76219         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
76220         (futimens): New function, which uses futimes if available.
76221         (futimens, utimens): Support timespec==NULL, with same semantics
76222         as utime and utimens.
76223         * lib/utimens.h (futimens): New decl.
76224
76225 2004-11-23  Jim Meyering  <jim@meyering.net>
76226
76227         * lib/getopt_.h: Remove trailing blanks.
76228
76229 2004-11-23  Jim Meyering  <jim@meyering.net>
76230
76231         * lib/__fpending.c: Add comment.
76232
76233 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
76234
76235         * modules/canonicalize (Depends-on): Add xreadlink.
76236         Problem reported by James Youngman.
76237
76238 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76239
76240         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
76241         New macros.
76242         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
76243         optopt): Use them instead of invoking ## directly; otherwise, the
76244         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
76245
76246 2004-11-19  Bruno Haible  <bruno@clisp.org>
76247
76248         * lib/strtok_r.c: Move comments from here...
76249         * lib/strtok_r.h: ... to here.
76250
76251 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76252
76253         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
76254         implementations that mishandle size_t overflow.
76255
76256 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76257
76258         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
76259         might fail.  Problem reported by Yoann Vandoorselaere.
76260         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
76261         implementations that mishandle size_t overflow.
76262
76263 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76264
76265         * modules/canon-host (Depends-on): Add strdup.
76266
76267 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76268
76269         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
76270
76271 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * lib/canon-host.c: Include "strdup.h".
76274         (canon_host): Use getaddrinfo if available, so that IPv6 works.
76275         Use strdup instead of malloc/strcpy to duplicate strings.
76276
76277         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
76278         (human_space_before_unit): New constant.
76279         * lib/human.c (human_readable): Support it.
76280
76281         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
76282         (xgetcwd): Set errno correctly when failing.
76283         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
76284         the failure is actually due to a PATH_MAX problem.
76285
76286         Further getopt changes to make it more likely that glibc will
76287         buy the changes back.
76288         * lib/getopt.c (POSIXLY_CORRECT): New constant.
76289         (getopt): Use it, so to preserve glibc semantic
76290         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
76291         when compiling for libc.
76292         * lib/getopt_.h (__getopt_argv_const): Bring it back.
76293         (getopt_long, getopt_long_only): Use it.
76294
76295         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
76296         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
76297         (getopt): Argv is now char * const *, as per standard.
76298         (_getopt_internal_r, _getopt_internal): Argv is now char **,
76299         not char *__getopt_argv_const *.
76300         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
76301         _getopt_long_only_r): Likewise.
76302         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
76303         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
76304         _getopt_long_r, _getopt_long_only_r): Likewise.
76305         * lib/getopt_.h (__getopt_argv_const): Remove.
76306         (getopt): Argv is now char * const *, as per standard.
76307
76308         * lib/getdate.y (tORDINAL): New token.
76309         (day, relunit): Allow it for relative times.
76310         (relative_time_table): Use tORDINAL for ordinals.
76311
76312 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76313
76314         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
76315         Document that "second" isn't allowed as an ordinal number.
76316
76317 2004-11-16  Jim Meyering  <jim@meyering.net>
76318
76319         * modules/closeout (Depends-on): Add fpending.
76320
76321 2004-11-15  Jim Meyering  <jim@meyering.net>
76322
76323         * lib/closeout.c: Include "__fpending.h" once again.
76324         Include <stdbool.h>.
76325         (close_stdout): Don't fail just because stdout was closed initially,
76326         since some programs don't write to stdout in the normal course of
76327         operation (other than --version and --help), and we don't want this
76328         function to make e.g. `touch file >&-' fail.
76329         But do fail if it was closed and someone has tried to write to it.
76330         E.g., `printf foo >&-' must fail.
76331
76332 2004-11-13  Jim Meyering  <jim@meyering.net>
76333
76334         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
76335
76336 2004-11-12  Simon Josefsson  <jas@extundo.com>
76337
76338         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
76339         small doc fix is still pending.
76340
76341 2004-11-11  Simon Josefsson  <jas@extundo.com>
76342
76343         * modules/strtok_r: New file.
76344
76345         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76346         strtok_r.
76347
76348 2004-11-11  Simon Josefsson  <jas@extundo.com>
76349
76350         * m4/strtok_r.m4: New file.
76351
76352         * m4/getopt.m4: Replace opterr.
76353
76354 2004-11-11  Simon Josefsson  <jas@extundo.com>
76355
76356         * lib/strtok_r.h, strtok_r.c: New file.
76357
76358 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
76361         of replacing opterr, getopt, etc.  This should handle the
76362         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
76363
76364 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
76367         we can stop lying to compilers about the constness of argv when we
76368         are compiled outside glibc.
76369         (getopt, getopt_long, getopt_long_only): Use it.
76370         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
76371         _getopt_internal, getopt): Likewise.
76372         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
76373         _getopt_long_only_r): Likewise.
76374         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
76375         _getopt_long_r, _getopt_long_only_r): Likewise.
76376
76377         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
76378         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
76379         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
76380         the other external symbols.
76381         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
76382         declaration, since the above renaming now works around collisions.
76383
76384 2004-11-11  Jim Meyering  <jim@meyering.net>
76385
76386         * lib/linebreak.c: Remove trailing blanks.
76387         * lib/alloca_.h: Likewise.
76388         * lib/acosl.c: Likewise.
76389         * lib/euidaccess.c: Likewise.
76390         * lib/allocsa.h: Likewise.
76391
76392 2004-11-10  Simon Josefsson  <jas@extundo.com>
76393
76394         * m4/getaddrinfo.m4: New file.
76395
76396 2004-11-10  Simon Josefsson  <jas@extundo.com>
76397
76398         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
76399
76400 2004-11-10  Simon Josefsson  <jas@extundo.com>
76401
76402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76403         getaddrinfo.
76404
76405         * modules/getaddrinfo: New file.
76406
76407 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76408
76409         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
76410
76411 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76412
76413         * lib/mktime.c (SHR): New macro, which is a portable
76414         substitute for >> that should work even on Crays.
76415         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
76416         Problem reported by Mark D. Baushke in
76417         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
76418         * lib/getdate.y (SHR): Likewise.
76419         (tm_diff): Use it.
76420         * lib/strftime.c (SHR): Likewise.
76421         (tm_diff): Use it.
76422         * lib/quotearg.c (struct quoting_options): Use unsigned int for
76423         quote_these_too, so that right shifts are well defined.  All uses
76424         changed.
76425
76426 2004-11-10  Jim Meyering  <jim@meyering.net>
76427
76428         Ensure that no close failure goes unreported.
76429         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
76430         return early when it seems there's nothing to flush.
76431         Don't include __fpending.h.
76432
76433 2004-11-10  Jim Meyering  <jim@meyering.net>
76434
76435         * modules/closeout (Depends-on): Remove fpending.
76436
76437 2004-11-10  Jim Meyering  <jim@meyering.net>
76438
76439         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
76440
76441 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76442
76443         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
76444         gl_FUNC_STRFTIME.
76445         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
76446         and AC_REQUIRE when possible, to avoid duplicate checks.
76447         Check for <wchar.h>.
76448
76449 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76450
76451         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
76452
76453 2004-11-09  Bruno Haible  <bruno@clisp.org>
76454
76455         * m4/sockpfaf.m4: New file.
76456
76457 2004-11-05  Bruno Haible  <bruno@clisp.org>
76458
76459         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
76460         Reported by Mark D. Baushke <mdb@cvshome.org>.
76461
76462 2004-11-04  Bruno Haible  <bruno@clisp.org>
76463
76464         2004-09-11  Bruno Haible  <bruno@clisp.org>
76465                 * allocsa.valgrind: New file.
76466         2004-02-06  Bruno Haible  <bruno@clisp.org>
76467                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
76468                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
76469                 Reported by Christopher Seip <chris.seip@hp.com>.
76470
76471 2004-11-04  Bruno Haible  <bruno@clisp.org>
76472
76473         * modules/allocsa (Files): Add lib/allocsa.valgrind.
76474         (Makefile.am): Distribute it.
76475
76476 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76477
76478         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
76479         with errno == ERANGE if the buffer is too small.
76480         Problem reported by Mark D. Baushke.
76481
76482 2004-11-03  Albert Chin  <china@thewrittenword.com>
76483             Paul Eggert  <eggert@cs.ucla.edu>
76484
76485         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
76486         equivalent, substitute $ac_type for equivalent type rather than
76487         blindly using uint32_t *always* which won't work if uint32_t is not
76488         available.  Define _UINT32_T to work around typedef of uint32_t if
76489         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
76490         2.5.1.
76491
76492 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         * m4/jm-macros.m4: Sync from coreutils.
76495         (gl_MACROS): Check for mbrlen, for pathchk.
76496         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
76497
76498 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76499
76500         * lib/xreadlink.c (MAXSIZE): New macro.
76501         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
76502         size does not exceed MAXSIZE.  Avoid cast.
76503         As suggested by Mark D. Baushke in
76504         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
76505         if readlink fails with buffer size just under MAXSIZE, try again
76506         with MAXSIZE.
76507
76508 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76509
76510         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
76511
76512 2004-11-02  Derek R. Price  <derek@ximbiot.com>
76513         and  Paul Eggert  <eggert@cs.ucla.edu>
76514
76515         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
76516         (get_date): Overparenthesize to avoid GCC warning.
76517
76518 2004-11-02  Bruno Haible  <bruno@clisp.org>
76519
76520         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
76521         returns void.
76522
76523 2004-11-02  Bruno Haible  <bruno@clisp.org>
76524
76525         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
76526         function returns void.
76527
76528 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
76529
76530         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
76531         fflush_unlocked, flockfile, funlockfile, funlockfile,
76532         fputs_unlocked, putc_unlocked.
76533
76534 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
76535
76536         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
76537         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
76538         already declared.
76539
76540 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76541
76542         * modules/getdate (Files): Add doc/getdate.texi.
76543         (Depends-on): Add setenv, xalloc.
76544
76545 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         * lib/getdate.y: Add support for TZ="foo" within a date string.
76548         Fix some bugs near time_t boundaries.  Reject dates with
76549         out-of-range components, e.g., "Sept 31".
76550         Include <stdlib.h>, "setenv.h", "xalloc.h".
76551         (ISDIGIT_LOCALE): Remove; unused.
76552         Note that the TZ and time functions used here are not reentrant.
76553         (mktime_ok, get_tz): New functions.
76554         (TZBUFSIZE): New constant.
76555         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
76556         This requires that we sometimes generate our own TZ="XXX..." setting.
76557
76558 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76559
76560         * doc/getdate.texi: New file, from coreutils with modifications for
76561         the new TZ parsing.
76562
76563 2004-10-27  Derek R. Price  <derek@ximbiot.com>
76564
76565         * lib/mktime.c (not_equal_tm): Remove redundant check.
76566
76567 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76568
76569         * modules/regex (lib_SOURCES): Add regex.c.
76570         Reported by James Youngman in
76571         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
76572
76573 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76574
76575         * lib/getdate.y: Use Bison 1.875 features, and some minor
76576         code cleanups.  This change does not affect semantics.
76577         Don't include <stdlib.h>; no longer needed.
76578         Don't include unlocked-io.h; only the "#if TEST" code uses
76579         stdio, and performance isn't crucial there.
76580         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
76581         Bison 1.875 features as described below.
76582         All uses of "PC." replaced by "pc->".
76583         (YYSTYPE): Add a forward declaration.
76584         (yylex, yyerror): Use full prototypes in forward decls.
76585         Use "%pure-parser" rather than obsolescent "%pure_parser".
76586         Use %parse-param and %lex-param instead of obsolescent
76587         YYPARSE_PARAM and YYLEX_PARAM.
76588         (meridian_table, month_and_day_table, time_units_table,
76589         relative_time_table, time_zone_table, military_table,
76590         lookup_zone, lookup_word, get_date):
76591         Use NULL instead of 0 where appropriate.
76592         (to_hour): Avoid abort (), to avoid a dependency on
76593         stdlib.h.
76594         (yyerror, yylex): Now accepts parser_control * arg.
76595         (main) [TEST]: Use '\0' rather than 0 for char.
76596
76597 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
76598
76599         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
76600
76601 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
76604         It's now the caller's responsibility to handle the case where
76605         !HAVE_GETPAGESIZE && !defined getpagesize.
76606
76607         * lib/mktime.c (leapyear): Arg is long int, not int.
76608
76609 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
76610
76611         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
76612
76613 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76614
76615         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
76616         missing.  Problem reported by James Youngman.
76617
76618 2004-10-16  Simon Josefsson  <jas@extundo.com>
76619
76620         * gnulib-tool: Fix comments.  Fix parse problem.
76621         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
76622
76623 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
76624
76625         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
76626         implementation of getopt_long.  Problem reported by Alexander Taler in:
76627         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
76628
76629 2004-10-15  Bruno Haible  <bruno@clisp.org>
76630
76631         * gnulib-tool: Untabify. Initialize supplied_libname.
76632         (func_usage): More homogenous output.
76633         (func_modules_transitive_closure, func_modules_to_filelist,
76634         func_emit_lib_Makefile_am): New functions.
76635         (func_import): New function, extracted from big case statement. Use
76636         func_get_license, func_modules_transitive_closure,
76637         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
76638         opt_lgpl. Don't use test -a, as it's not portable.
76639         (func_create_testdir): Use func_modules_transitive_closure,
76640         func_modules_to_filelist, func_emit_lib_Makefile_am.
76641
76642 2004-10-15  Bruno Haible  <bruno@clisp.org>
76643
76644         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
76645
76646 2004-10-15  Bruno Haible  <bruno@clisp.org>
76647
76648         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
76649         the portions belonging to each module.
76650         Suggested by Derek Robert Price <derek@ximbiot.com>.
76651
76652 2004-10-12  Simon Josefsson  <jas@extundo.com>
76653
76654         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
76655         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
76656         to real functions.
76657
76658 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76659
76660         * modules/vsnprintf: New file.
76661
76662 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76663
76664         * m4/vsnprintf.m4: New file.
76665
76666 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76667
76668         * lib/vsnprintf.h: New file.
76669         * lib/vsnprintf.c: New file.
76670
76671 2004-10-11  Bruno Haible  <bruno@clisp.org>
76672
76673         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
76674         vsnprintf.
76675
76676 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76677
76678         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
76679
76680 2004-10-07  Bruno Haible  <bruno@clisp.org>
76681
76682         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
76683         fits into the provided buffer.
76684
76685 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76686
76687         * lib/diacrit.c, diacrit.h: Add GPL notice.
76688
76689         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
76690         notice.
76691         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
76692         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
76693         This avoids a potential constant-folding bug.
76694
76695 2004-10-05  Bruno Haible  <bruno@clisp.org>
76696
76697         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
76698         for the declaration of strsep.
76699
76700 2004-10-05  Bruno Haible  <bruno@clisp.org>
76701
76702         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
76703
76704 2004-10-04  Simon Josefsson  <jas@extundo.com>
76705
76706         * modules/memmem: New file.
76707         * tests/test-memmem.c: New file.
76708         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
76709
76710 2004-10-04  Simon Josefsson  <jas@extundo.com>
76711
76712         * m4/memmem.m4: New file.
76713
76714 2004-10-04  Simon Josefsson  <jas@extundo.com>
76715
76716         * lib/memmem.h: New file.
76717         * lib/memmem.c: New file, taken from glibc.
76718
76719 2004-10-04  Simon Josefsson  <jas@extundo.com>
76720
76721         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
76722         '#ifdef USE_UNLOCKED_IO'.
76723
76724 2004-10-04  Simon Josefsson  <jas@extundo.com>
76725
76726         * config/srclist.txt: Add memmem from glibc.
76727
76728 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
76729
76730         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
76731
76732         * modules/argmatch, modules/argp, modules/closeout, modules/error,
76733         modules/exclude, modules/getdate, modules/getline,
76734         modules/getndelim2, modules/getpass, modules/getpass-gnu,
76735         modules/getusershell, modules/linebuffer, modules/md5,
76736         modules/mountlist, modules/posixtm, modules/readtokens,
76737         modules/readutmp, modules/regex, modules/sha1,
76738         modules/version-etc, modules/yesno:
76739         Remove dependency on unlocked-io.
76740
76741 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
76742
76743         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
76744
76745         * m4/unlocked-io.m4: Add copyright notice.
76746         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
76747
76748 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
76749
76750         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
76751         * lib/xmalloc.c (xmemdup): Likewise.
76752         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
76753         XFREE): Remove these long-obsolescent macros.
76754         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
76755         * lib/xstrdup.c: Remove.
76756
76757         * lib/regex.c (re_comp): Cast gettext return value to char *,
76758         Problem reported by Martin Neitzel via Mark D. Baushke.
76759
76760 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
76761
76762         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
76763         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
76764         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
76765         regex.c, sha1.c, version-etc.c, yesno.c:
76766         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
76767         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
76768         the includer's responsibility.
76769
76770         Sync from coreutils.
76771
76772         * lib/modechange.c (mode_compile): Don't decrement a pointer that
76773         points to the start of a string, as the C Standard says the
76774         resulting behavior is undefined.
76775
76776         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
76777         simple -> simple_backups, numbered_existing ->
76778         numbered_existing_backups, numbered -> numbered_backups
76779         to avoid shadowing problems.  All uses changed.
76780         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
76781         * lib/backupfile.c (check_extension, numbered_backup):
76782         Rename locals to avoid shadowing 'basename'.
76783         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
76784         once.
76785
76786         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
76787         * lib/.cvsignore: Add getopt.h.
76788
76789 2004-10-04  Bruno Haible  <bruno@clisp.org>
76790
76791         * modules/README: New file.
76792         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
76793         not a module.
76794
76795 2004-10-02  Jim Meyering  <jim@meyering.net>
76796
76797         * lib/dirfd.h, getpagesize.h: Add copyright notice.
76798
76799 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76800
76801         * modules/strsep: New file.
76802
76803 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76804
76805         * m4/strsep.m4: New file.
76806
76807 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76808
76809         * lib/strsep.h: New file.
76810         * lib/strsep.c: New file.
76811
76812 2004-10-01  Simon Josefsson  <jas@extundo.com>
76813
76814         * lib/snprintf.c (snprintf): Handle size==0.
76815
76816 2004-10-01  Simon Josefsson  <jas@extundo.com>
76817             Bruno Haible  <bruno@clisp.org>
76818
76819         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
76820         (snprintf): Declare 'args'.
76821
76822 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
76823
76824         * lib/snprintf.c: Remove comments as to why each header is needed.
76825
76826 2004-10-01  Bruno Haible  <bruno@clisp.org>
76827
76828         * MODULES.html.sh: Add strsep.
76829
76830 2004-09-30  Simon Josefsson  <jas@extundo.com>
76831
76832         * modules/snprintf: New file.
76833
76834 2004-09-30  Simon Josefsson  <jas@extundo.com>
76835
76836         * m4/snprintf.m4: New file.
76837
76838 2004-09-30  Simon Josefsson  <jas@extundo.com>
76839
76840         * lib/snprintf.h, lib/snprintf.c: New files.
76841
76842 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76843
76844         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
76845         (hol_entry_help): Never translate an empty string.
76846         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
76847         * lib/argp.h (OPTION_NO_TRANS): New option.
76848
76849 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76850
76851         * modules/argp (Maintainer): Replace Simon Josefsson
76852         by Sergey Poznyakoff.
76853
76854 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76855
76856         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
76857         changes merged back into glibc.
76858
76859 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
76862
76863 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
76864
76865         * lib/xvasprintf.c: Include xalloc.h.
76866         (xvasprintf): Use xalloc_die, not xmalloc_die.
76867
76868 2004-09-29  Bruno Haible  <bruno@clisp.org>
76869
76870         * modules/alloca-opt: New file, derived from modules/alloca.
76871         * modules/allocsa: Depend on alloca-opt instead of alloca.
76872         * modules/setenv: Likewise.
76873         * modules/vasnprintf: Likewise.
76874         * MODULES.html.sh: Add alloca-opt.
76875
76876 2004-09-28  Simon Josefsson  <jas@extundo.com>
76877
76878         * gnulib-tool: New parameter --lgpl, to asseert that modules are
76879         LGPL, and to replace license template from GPL to LGPL.
76880
76881 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
76882
76883         * modules/dummy: Change license to LGPL.
76884
76885 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
76888
76889 2004-09-24  Simon Josefsson  <jas@extundo.com>
76890
76891         * modules/minmax (License): Change from GPL to LGPL.
76892
76893 2004-09-23  Simon Josefsson  <jas@extundo.com>
76894
76895         * gnulib-tool (--import): Typo.
76896
76897 2004-09-23  Simon Josefsson  <jas@extundo.com>
76898
76899         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
76900
76901 2004-09-22  Bruno Haible  <bruno@clisp.org>
76902
76903         * modules/*: Add 'License' field.
76904         * gnulib-tool: Accept --extract-license option.
76905         (func_get_license): New function.
76906
76907 2004-09-21  Bruno Haible  <bruno@clisp.org>
76908
76909         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
76910         Reported by Simon Josefsson.
76911
76912 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76913
76914         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
76915         gl_AC_TYPE_LONG_LONG.
76916
76917 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76918
76919         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
76920
76921 2004-09-18  Simon Josefsson  <jas@extundo.com>
76922         and  Paul Eggert  <eggert@cs.ucla.edu>
76923
76924         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
76925         calls with autoreconf.  Define GL_LIB.
76926
76927 2004-09-14  Karl Berry  <karl@gnu.org>
76928
76929         * config/srclist.txt: unsync setenv.c, sigh.
76930
76931 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76932
76933         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
76934         Problem reported by Bruno Haible in:
76935         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
76936
76937 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76938
76939         * config/srclist.txt: Comment out argp-pvh.c.
76940
76941 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
76942
76943         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
76944         in case some system header has #define'd it.  Problem reported by
76945         Soeren D. Schulze in
76946         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
76947
76948 2004-09-09  Karl Berry  <karl@gnu.org>
76949
76950         * regex.[ch]: delete from the root.  These were supposed to be
76951                 synced with emacs cvs, but this has not happened for about
76952                 a year, and anyway nothing else uses emacs regex.[ch].
76953                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
76954                 lib/regex[.ch] is untouched.
76955
76956 2004-09-09  Bruno Haible  <bruno@clisp.org>
76957
76958         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
76959
76960 2004-09-09  Bruno Haible  <bruno@clisp.org>
76961
76962         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
76963         modifications.
76964         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
76965
76966 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
76967
76968         * modules/xvasprintf: New file.
76969         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
76970
76971 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
76972
76973         * lib/xvasprintf.h: New file.
76974         * lib/xvasprintf.c: New file.
76975         * lib/xasprintf.c: New file.
76976
76977 2004-09-08  Bruno Haible  <bruno@clisp.org>
76978
76979         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
76980
76981 2004-09-08  Bruno Haible  <bruno@clisp.org>
76982
76983         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
76984         length is > INT_MAX.
76985         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
76986         more.
76987
76988 2004-09-08  Bruno Haible  <bruno@clisp.org>
76989
76990         * lib/stdint_.h: New file, taken from GNU clisp.
76991
76992 2004-09-08  Bruno Haible  <bruno@clisp.org>
76993             Oskar Liljeblad  <oskar@osk.mine.nu>
76994
76995         * modules/stdint: New file.
76996         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
76997
76998 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76999
77000         Import from coreutils.
77001         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
77002         strings on unbounded length.  alloca's performance benefits aren't
77003         that important here.
77004         (V_STRDUP): Remove.
77005         (parse_with_separator): New function, with most of the internals
77006         of the old parse_user_spec.  Allow user to omit both user and group,
77007         for compatibility with FreeBSD.
77008         Clone only the user name, not the entire spec.
77009         Do not set *uid, *gid unless entirely successful.
77010         Avoid memory leak in some failing cases.
77011         Fix regression for USER.GROUP reported by Dmitry V. Levin in
77012         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
77013         (parse_user_spec): Rewrite to use parse_with_separator.
77014
77015 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77016
77017         * modules/userspec: Don't depend on alloca.
77018
77019 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77020
77021         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
77022
77023 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77024
77025         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
77026         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
77027         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
77028
77029 2004-08-16  Simon Josefsson  <jas@extundo.com>
77030
77031         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
77032         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
77033         Add --dry-run for --import.
77034         Let user provided command line parameters override configure.ac
77035         settings.
77036
77037 2004-08-12  Simon Josefsson  <jas@extundo.com>
77038
77039         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
77040         as discussed with Paul Eggert in threads rooted at
77041         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
77042         and
77043         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
77044         Before, the test was empty, and relied on ELIDE_CODE in source
77045         code.)
77046         (gl_PREREQ_GETOPT): New macro.
77047         (gl_GETOPT): Use them.
77048
77049 2004-08-12  Simon Josefsson  <jas@extundo.com>
77050
77051         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
77052         * lib/getopt_.h: Renamed from getopt.h.
77053
77054 2004-08-12  Simon Josefsson  <jas@extundo.com>
77055
77056         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
77057         Change default library name from libfoo to libgnu.
77058         Now, if you have a configure.ac that says:
77059                 gl_SOURCE_BASE(gl)
77060                 gl_M4_BASE(gl/m4)
77061                 gl_MODULES(error getopt etcetera)
77062                 gl_INIT
77063         you can import all you need by running:
77064                 ../gnulib/gnulib-tool --import
77065
77066         * modules/getopt (Files): Rename getopt.h to getopt_.h.
77067         (Makefile.am): Rewrite, use logic from argz.
77068         (Include): Use <getopt.h> instead of "getopt.h".
77069
77070 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77071
77072         * modules/argp (Files): Add m4/unlocked-io.m4.
77073         (Depends-on): Add extensions.
77074
77075 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77076
77077         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
77078         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
77079         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
77080         Check for program_invocation_name, program_invocation_short_name,
77081         flockfile, funlockfile, features.h, _getopt_long_only_r.
77082
77083 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
77086         its complicated substitute.
77087         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
77088         and program_invocation_name.
77089         (__argp_basename) [!_LIBC]: Remove; the only use was
77090         replaced by its body.
77091         (__argp_short_program_name): Change condition from
77092         !defined __argp_short_program_name to
77093         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
77094         to match argp-namefrob.h.
77095         (__argp_failure): Don't assume strerror_r returns char *.
77096         * lib/argp-parse.c (N_): Define unconditionally.
77097         (argp_default_options): Fill out initializers with 0 to avoid
77098         gcc warnings.
77099
77100 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77101
77102         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
77103         getopt1.c.
77104
77105 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77106
77107         Merge from coreutils.
77108
77109         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
77110
77111         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
77112         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
77113
77114 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77115
77116         Merge from coreutils.
77117
77118         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
77119         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
77120         for Reliant Unix 5.43.
77121
77122         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
77123         (union fooround): Use uintmax_t, not long int.
77124         The rest is a merge from libc:
77125         [defined _LIBC]: Include <shlib-compat.h>.
77126         (_obstack) [defined _LIBC]: Remove after 2.3.4.
77127
77128         * lib/settime.c (settime): Recode to avoid warning with
77129         Sun Forte C 6U2.
77130
77131         * lib/strverscmp.c: Convert to UTF-8.
77132
77133 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77134
77135         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77136         m4/uintmax_t.m4.
77137
77138 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77139
77140         * modules/xalloc-die: New file.
77141         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
77142
77143         * modules/md5 (Files): Add m4/uint32_t.m4.
77144         * modules/sha1: Renamed from modules/sha.
77145         (Files):
77146         Rename lib/sha.h to lib/sha1.h.
77147         Rename lib/sha.c to lib/sha1.c.
77148         Rename m4/sha.m4 to m4/sha1.m4.
77149         (lib_SOURCES): Likewise.
77150         (configure.ac): Rename gl_SHA to gl_SHA1.
77151         (Include): sha.h -> sha1.h.
77152
77153 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77154
77155         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
77156         * m4/sha1.m4: Renamed from sha.m4.
77157         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
77158
77159 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77160
77161         * lib/obstack.h (obstack_empty_p):
77162         Don't assume that chunk->contents is suitably aligned.
77163         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
77164         Likewise. Problem reported by Benno in
77165         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
77166
77167         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
77168         readable.  This could be improved further but it'd take some work.
77169
77170 2004-08-08  Simon Josefsson  <jas@extundo.com>
77171
77172         * modules/xgethostname (Depends-on): Remove exit and error (not
77173         used).
77174
77175         * modules/getpass-gnu: Add getpass.h.
77176         (Depends-on): Add stdbool.
77177         * modules/getpass: Add getpass.h.
77178
77179 2004-08-08  Simon Josefsson  <jas@extundo.com>
77180
77181         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
77182         Check getpass declaration.
77183
77184 2004-08-08  Simon Josefsson  <jas@extundo.com>
77185
77186         * lib/xgethostname.c: Don't include error.h (not used).
77187
77188         * lib/getpass.h: Add.
77189         * lib/getpass.c: Include getpass.h first.
77190
77191 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
77192
77193         * lib/xalloc-die.c: New file.
77194         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
77195         All uses removed.
77196         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
77197         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
77198         xalloc-die.c.
77199         (_, N_, xalloc_die): Move to xalloc-die.c.
77200         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
77201         so that we needn't mess with xalloc_msg_memory_exhausted.
77202
77203         * lib/sha1.h: Renamed from sha.h.
77204         (SHA1_H): Renamed from _SHA_H.
77205         (sha1_ctx): Renamed from sha_ctx.
77206         (sha1_init_ctx): Renamed from sha_init_ctx.
77207         (sha1_process_block): Renamed from sha_process_block.
77208         (sha1_process_bytes): Renamed from sha_process_bytes.
77209         (sha1_finish_ctx): Renamed from sha_finish_ctx.
77210         (sha1_read_ctx): Renamed from sha_read_ctx.
77211         (sha1_stream): Renamed from sha_stream.
77212         (sha1_buffer): Renamed from sha_buffer.
77213         * lib/sha1.c: Likewise; renamed from sha.c.
77214         Do not include <sys/types.h>.
77215         Include <stddef.h> rather than <stdlib.h>.
77216
77217 2004-08-08  Bruno Haible  <bruno@clisp.org>
77218
77219         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
77220         FILESYSTEM_PREFIX_LEN.
77221         * lib/progreloc.c: Likewise.
77222         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
77223
77224 2004-08-06  Simon Josefsson  <jas@extundo.com>
77225
77226         * modules/progname (Depends-on): Don't depend on stdbool.
77227
77228 2004-08-06  Simon Josefsson  <jas@extundo.com>
77229
77230         * modules/getsubopt: New file.
77231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77232         getsubopt.
77233
77234 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77235
77236         More merge from coreutils.
77237
77238         * m4/utimens.m4, m4/utimecmp.m4: New files.
77239         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
77240         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
77241         prereq.m4, sha.m4: Import changes from coreutils.
77242
77243 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77244
77245         More merge from coreutils.
77246         * modules/raise, modules/readtokens0, modules/utimens:
77247         * modules/utimecmp, module/xnanosleep: New files.
77248         * modules/strftime: Add lib/strftime.h.
77249         Change include from <time.h> to "strftime.h".
77250         * modules/yesno: Add lib/yesno.h.
77251         * modules/backupfile: Remove lib/addext.c.
77252         * modules/euidaccess: Add stat-macros.h.
77253         * modules/canonicalize, modules/euidaccess,
77254         modules/filemode, modules/lchown, modules/makepath,
77255         modules/rmdir, modules/stat: Likewise.
77256
77257 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77258
77259         Merge from tar.
77260         * lib/argp-help.c (make_hol, hol_append): Don't assume that
77261         SIZE_MAX is a valid preprocessor constant.
77262         (__argp_basename): Change from "#ifndef _LIBC"
77263         to "#ifndef __argp_short_program_name", so that
77264         we don't compile these functions for tar.
77265
77266         More merges from coreutils.
77267         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
77268         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
77269         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
77270         * lib/addext.c: Remove; no longer needed.
77271         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
77272         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
77273         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
77274         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
77275         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
77276         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
77277         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
77278         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
77279         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
77280         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
77281         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
77282         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
77283         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
77284         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
77285         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
77286         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
77287         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
77288         Import changes from coreutils.
77289
77290 2004-08-05  Simon Josefsson  <jas@extundo.com>
77291
77292         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
77293
77294 2004-08-05  Simon Josefsson  <jas@extundo.com>
77295
77296         * m4/getsubopt.m4: New file.
77297
77298 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77299
77300         Merge from coreutils.
77301
77302         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
77303         * m4/getcwd-path-max.m4: New files.
77304
77305         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
77306         FILESYSTEM_PREFIX_LEN ->
77307         FILE_SYSTEM_PREFIX_LEN.
77308         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
77309         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
77310         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
77311         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
77312
77313         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
77314         prerequisite modules now handle the DOS stuff.
77315         Don't check for unistd.h.
77316
77317 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77318
77319         Merge from coreutils.
77320
77321         * lib/.gdb-history: Remove; this doesn't belong here.
77322
77323         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
77324         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
77325         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
77326         * lib/getcwd.c: New files.
77327
77328         * lib/dirname.h: Include <stdbool.h>.
77329         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
77330         for consistency with POSIX terminology.  All uses changed.
77331         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
77332         (strip_trailing_slashes): Use bool for booleans.
77333         * lib/stripslash.c (strip_trailing_slashes): Likewise.
77334
77335         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
77336         sometimes returns a positive errno value even when it succeeds.
77337         (print_errno_message) [!LIBC]: Fall back on strerror if
77338         __strerror_r fails.
77339
77340         * lib/path-concat.c (mempcpy): Don't define if a system header defines
77341         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
77342         (longest_relative_suffix): New function.
77343         (path_concat): Use it.  Assume first argument is not NULL.
77344         Port to DOS.  Omit redundant separators.
77345         Report an error instead of returning NULL.
77346         Use mempcpy instead of memcpy.
77347         (xpath_concat): Remove: not declared or used.
77348
77349         * lib/same.h: Include <stdbool.h>
77350         (same_name): Return bool, not int.
77351         * lib/same.c (same_name): Likewise.
77352         (errno): Don't declare; we assume C89 or better now.
77353
77354         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
77355         if not already defined.
77356
77357         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
77358         * lib/dup-safer.c (errno): Likewise.
77359
77360 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77361
77362         Merge from coreutils.
77363         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
77364         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
77365         * modules/path-concat: Don't depend on strdup.
77366
77367 2004-08-03  Simon Josefsson  <jas@extundo.com>
77368
77369         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
77370         * lib/progname.h: Don't include stdbool.h.
77371
77372 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77373
77374         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
77375         * MODULES.html.sh (func_all_modules): Remove fatal.
77376
77377 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77378
77379         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
77380
77381 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77382
77383         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
77384         working.
77385
77386 2004-08-02  Simon Josefsson  <jas@extundo.com>
77387
77388         * lib/getsubopt.h: New file, with comments from Bruno Haible.
77389         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
77390         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
77391
77392 2004-08-01  Simon Josefsson  <jas@extundo.com>
77393
77394         * lib/xgetdomainname.c: Include stdlib.h, for free().
77395
77396 2004-07-19  Bruno Haible  <bruno@clisp.org>
77397
77398         * MODULES.html.sh (func_all_modules): Add dummy.
77399
77400 2004-07-16  Simon Josefsson  <jas@extundo.com>
77401
77402         * modules/dummy: New file.
77403
77404 2004-07-16  Simon Josefsson  <jas@extundo.com>
77405
77406         * lib/dummy.c: New file.
77407
77408 2004-07-16  Bruno Haible  <bruno@clisp.org>
77409
77410         * lib/backupfile.h: Add extern "C" for C++.
77411         * lib/closeout.h: Likewise.
77412         * lib/copy-file.h: Likewise.
77413         * lib/findprog.h: Likewise.
77414         * lib/full-write.h: Likewise.
77415         * lib/pathname.h: Likewise.
77416         * lib/progname.h: Likewise.
77417         * lib/stpcpy.h: Likewise.
77418         * lib/stpncpy.h: Likewise.
77419         * lib/strcase.h: Likewise.
77420         * lib/strstr.h: Likewise.
77421         * lib/xalloc.h: Likewise.
77422
77423         * lib/mbswidth.h: Add extern "C" for C++.
77424         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
77425
77426 2004-07-13  Robert Millan  <robertmh@gnu.org>
77427
77428         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
77429
77430 2004-07-09  Simon Josefsson  <jas@extundo.com>
77431
77432         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
77433         failed without this.)
77434
77435 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77436
77437         * modules/chown (Files): Add lib/fchown-stub.c, since
77438         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
77439
77440 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77441
77442         * lib/fchown-stub.c: New file.
77443
77444 2004-06-24  Jim Meyering  <jim@meyering.net>
77445
77446         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
77447
77448 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77449
77450         * modules/argz: Omit "#include".
77451
77452         * MODULES.html.sh (func_all_modules): Add calloc, to match
77453         2004-06-01 addition of calloc module.
77454
77455 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77456
77457         * m4/argz.m4: New file, which is autoupdated from libtool.
77458
77459 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77460
77461         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
77462         libtool.
77463
77464 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77465
77466         * config/srclist-update: Don't insist on "USA." before the
77467         close-comment, as libtool omits the period and puts the */ on a
77468         separate line.
77469         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
77470         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
77471
77472 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
77473
77474         * modules/argz: New file.
77475         * MODULES.html.sh (func_all_modules): Add argz.
77476
77477 2004-06-12  Jim Meyering  <jim@meyering.net>
77478         and  Paul Eggert  <eggert@cs.ucla.edu>
77479
77480         * modules/hash (Files): Add lib/xalloc.h.
77481         * modules/pipe (Depends-on): Add wait-process.
77482         * modules/stat (Depends-on): Add xalloc.
77483         * modules/userspec (Files): Add lib/userspec.h.
77484         * modules/xstrto
77485
77486         Upgrade from gettext-0.13.
77487         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
77488         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
77489         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
77490
77491 2004-06-10  Jim Meyering  <jim@meyering.net>
77492
77493         * lib/calloc.c: New file.
77494
77495 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
77496
77497         * lib/getdate.y (yylex): Allow space between sign and number.
77498         Problem reported by Dan Jacobson.
77499
77500 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
77501
77502         Merge from coreutils CVS.
77503
77504         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
77505         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
77506         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
77507         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
77508         xstrtol.m4: Fix copyright date and/or serial number.
77509
77510         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
77511         See if we need an fchown replacement.
77512         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
77513         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
77514         and use the replacement function if we detect either defect.
77515
77516         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
77517         gl_UTIMECMP.
77518
77519 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
77520         and  Jim Meyering  <jim@meyering.net>
77521
77522         Merge from coreutils CVS.
77523
77524         * lib/stat-macros.h: New file, with contents from file-type.h
77525         and coreutils' system.h.
77526         * lib/file-type.c: Include "stat-macros.h".
77527         * lib/file-type.h (file_type): Move all macro definitions to new file,
77528         stat-macros.h.
77529
77530         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
77531         Wrap old code with this conditional.
77532         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
77533         function that does not dereference symlinks.
77534         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
77535
77536         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
77537         dependency problems.
77538         (xreadlink): Accept new arg SIZE, for efficiency.
77539         All decls and uses changed.
77540         * lib/xreadlink.h: Include <stddef.h>, for size_t.
77541
77542         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
77543         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
77544
77545         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
77546         sysexits.h.
77547
77548 2004-06-01  Jim Meyering  <jim@meyering.net>
77549
77550         * m4/calloc.m4: New file.
77551
77552 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
77555         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
77556         Also, fix a typo in a diagnostic.
77557
77558 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
77559
77560         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
77561         or AC_FUNC_REALLOC.
77562
77563 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
77564
77565         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
77566         macros to be defined.
77567         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
77568         the allocator returns NULL because the requested size is zero.
77569
77570 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77571
77572         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
77573         var.  Add comment explaining why libc still defines it.  This
77574         merges the following patch from glibc:
77575         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
77576
77577 2004-05-20  Andreas Schwab  <schwab@suse.de>
77578
77579         * m4/free.m4: Replace free if it not known to work, not the other
77580         way round.
77581
77582 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
77585         present in glibc since revision 1.1 of this file.
77586         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
77587         obstack_alignment_mask, obstack_alloc, obstack_base,
77588         obstack_blank, obstack_blank_fast, obstack_chunk_size,
77589         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
77590         obstack_grow0, obstack_init, obstack_int_grow,
77591         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
77592         obstack_next_free, obstack_object_size, obstack_ptr_grow,
77593         obstack_ptr_grow_fast, obstack_room): Remove declarations of
77594         nonexistent functions.
77595
77596 2004-05-18  Karl Berry  <karl@gnu.org>
77597
77598         * config/srclist.txt: break link for vasnprintf.c.
77599
77600 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         Port obstack to the AS/400, where pointers are 16 bytes wide and
77603         you cannot cast an integer to a valid pointer.  This patch is
77604         currently waiting to be integrated into glibc; see
77605         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
77606
77607         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
77608         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
77609         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
77610         (struct obstack): temp member is now a union of a pointer and
77611         an integer, instead of an integer.  All integer uses changed.
77612         This does not affect the physical layout of struct obstack,
77613         except on hosts (like the AS/400) where the size or alignment of
77614         void * is greater than that of ptrdiff_t.
77615         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
77616         __STDC__)]: Store temporary in pointer member of union, not
77617         integer member.
77618         * lib/obstack.c: Include <stddef.h>, for offsetof.
77619         (struct fooalign): Remove; it doesn't need a name.
77620         (union fooround): Change double to long double, and add void *.
77621         (DEFAULT_ALIGNMENT): Use offsetof to compute.
77622         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
77623         not a macro.  Hence the values are always int; so remove all
77624         casts-to-int in uses.
77625
77626 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
77627
77628         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
77629         we can get this patch merged into glibc.
77630
77631 2004-05-17  Derek R. Price  <derek@ximbiot.com>
77632             Paul Eggert  <eggert@cs.ucla.edu>
77633
77634         * m4/argp: Depend on alloca.
77635
77636 2004-05-17  Derek R. Price  <derek@ximbiot.com>
77637             Paul Eggert  <eggert@cs.ucla.edu>
77638
77639         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
77640         freecoding.
77641
77642 2004-05-17  Bruno Haible  <bruno@clisp.org>
77643
77644         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
77645         precision that consists of a '.' followed by an empty digit string.
77646         Patch by Tor Lillqvist <tml@iki.fi>.
77647
77648 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
77649
77650         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
77651         for backward compatibility with older code.  We need our own
77652         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
77653         it under some other name, and our alloca.h will define it.
77654
77655 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
77656             Derek Price  <derek@ximbiot.com>
77657
77658         * lib/alloca.c: Include <alloca.h>, to get our interface.
77659         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
77660         include <alloca.h> first.  Use C89 prototype for alloca; this
77661         requires including <stddef.h> for size_t.  Use extern "C" if C++.
77662         Use #elif for simplicity, since we can assume C89 now.
77663         Don't try to source the system alloca.h since it will not be found
77664         and to prevent recursively including its replacement.
77665         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
77666         * lib/regex.c: Likewise.
77667
77668 2004-05-16  Derek Price  <derek@ximbiot.com>
77669             Paul Eggert  <eggert@cs.ucla.edu>
77670
77671         getline cleanup.  This changes the getndelim2 API: both order of
77672         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
77673         no delimiter).
77674
77675         * lib/getline.c: Don't include stddef.h or stdio.h, since our
77676         interface does that.
77677         (getline): Always use getdelim, so that we don't have two
77678         copies of this code.
77679         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
77680         if available.
77681         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
77682         (GETNDELIM2_MAXIMUM): New macro.
77683         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
77684         instead of the old practice of delim2==0.  All callers changed.
77685         Return -1 on overflow, instead of returning junk.
77686         Do not set *linesize unless allocation succeeds.
77687         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
77688         that we include sys/types.h.
77689         * lib/getnline.h: Likewise.
77690         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
77691         (getndelim2): Reorder arguments.
77692         * lib/getnline.c (getnline, getndelim):
77693         Don't discard the NMAX argument.
77694         (getnline): Invoke getndelim, to avoid code duplication.
77695         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
77696         of (size_t) -1 by callers of the getnline family.
77697
77698 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77699
77700         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
77701         Check for gettimeofday.
77702         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
77703         Check for settimeofday, stime.
77704
77705 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77706
77707         * lib/nanosleep.c (suspended): Change its type from int to
77708         sig_atomic_t volatile.
77709         (first_call): Make it private to rpl_nanosleep, and have it
77710         be zero initially as that's a bit faster.
77711         (my_usleep): Round up fractional times instead of truncating them,
77712         as this is the usual meaning for 'sleep'.
77713
77714         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
77715         doesn't work.
77716         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
77717         (ENOSYS): Define if not defined.
77718         (settime): Fall back on stime if it exists and settimeofday fails.
77719         But don't bother with fallbacks if a method fails with errno == EPERM.
77720
77721 2004-05-11  Jim Meyering  <jim@meyering.net>
77722
77723         Prior to this change, the save_cwd caller required read access to the
77724         current directory on most systems (ones with the fchdir function).
77725
77726         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
77727         fails, try write-only, and finally, resort to using xgetcwd.
77728
77729 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77730
77731         * lib/obstack.c, obstack.h: Import changes from libc.
77732
77733 2004-04-28  Bruno Haible  <bruno@clisp.org>
77734
77735         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
77736         also implicitly appends .exe to executables.
77737         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
77738         accepts Windows pathnames.
77739         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
77740         Treat Cygwin like Windows, since it now accepts Windows pathnames.
77741         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
77742         Treat Cygwin like Windows, since it now accepts Windows pathnames.
77743         Reported by Derek Robert Price <derek@ximbiot.com>.
77744
77745 2004-04-21  Karl Berry  <karl@gnu.org>
77746
77747         * config/srclist.txt (localcharset.c): break sync.
77748
77749 2004-04-20  Paul Eggert  <eggert@twinsun.com>
77750
77751         * m4/host-os.m4: Add a copyright notice.
77752
77753 2004-04-20  Jim Meyering  <jim@meyering.net>
77754
77755         Change UTILS_ to gl_ in AC_DEFINE'd names.
77756         Change utils_- and jm_-prefixed variables, too.
77757         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
77758         UTILS_FUNC_MKDIR_TRAILING_SLASH.
77759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
77760
77761         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
77762         Don't emit trailing blanks.
77763         Also rename jm_-prefixed variables to have gl_ prefix.
77764
77765         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
77766         Also rename jm_-prefixed variables to have gl_ prefix.
77767
77768         * m4/jm-macros.m4: Reflect the renamings.
77769         * m4/prereq.m4: Likewise.
77770
77771 2004-04-20  Jim Meyering  <jim@meyering.net>
77772
77773         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
77774         memory.
77775
77776 2004-04-20  Jim Meyering  <jim@meyering.net>
77777             Bruno Haible  <bruno@clisp.org>
77778
77779         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
77780         memory when realloc fails.
77781
77782 2004-04-19  Jim Meyering  <jim@meyering.net>
77783
77784         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
77785         now that readutmp.c may call `free (0)'.
77786
77787 2004-04-19  Bruno Haible  <bruno@clisp.org>
77788
77789         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
77790         * m4/inttypes_h.m4: Likewise.
77791         * m4/stdint_h.m4: Likewise.
77792         * m4/intmax_t.m4: Likewise.
77793         * m4/uintmax_t.m4: Likewise.
77794
77795 2004-04-18  Jim Meyering  <jim@meyering.net>
77796
77797         * m4/prereq.m4: Don't forbid jm_ prefix.
77798
77799         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
77800         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
77801         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
77802         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
77803         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
77804         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
77805         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
77806         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
77807         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
77808         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
77809         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
77810         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
77811         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
77812         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
77813         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
77814         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
77815         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
77816         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
77817         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
77818
77819 2004-04-18  Jim Meyering  <jim@meyering.net>
77820
77821         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
77822         failure, don't leak memory and do call END_UTMP_ENT.
77823
77824 2004-04-16  Jim Meyering  <jim@meyering.net>
77825
77826         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
77827         coreutils' stat program.
77828         (gl_PREREQ): Don't require jm_PREREQ_STAT.
77829
77830 2004-04-11  Paul Eggert  <eggert@twinsun.com>
77831
77832         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
77833         C89.
77834         (CHAR_BIT): Remove, since we assume C89.
77835         Include <stdint.h> if available, as per current Autoconf CVS advice.
77836
77837 2004-03-31  Jim Meyering  <jim@meyering.net>
77838
77839         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
77840         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
77841         * m4/xalloc.m4: Likewise.
77842
77843 2004-03-30  Paul Eggert  <eggert@twinsun.com>
77844
77845         Merge from coreutils.
77846
77847         * m4/inttostr.m4: New file.
77848         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
77849         Require AM_STDBOOL_H and gl_TIMESPEC instead.
77850         Require gl_CLOCK_TIME.
77851         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
77852
77853 2004-03-30  Paul Eggert  <eggert@twinsun.com>
77854
77855         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
77856         not bool, to be more consistent with Unix conventions.
77857         Suggested by Bruno Haible.
77858
77859         Merge from coreutils.
77860
77861         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
77862         * lib/umaxtostr.c: New files.
77863
77864         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
77865         the usual <time.h> dance.
77866         (get_date): Change signature to support fractional time stamps.
77867         All callers changed.
77868         * lib/getdate.y: Include "getdate.h" first, as we can now
77869         assume C89 and don't need to worry about 'const'.
77870         Similarly, include "unlocked-io.h" near start, not in middle.
77871         Include <limits.h>.
77872         (textint.value): Use long int rather than int.
77873         (textint.digits): Use size_t rather than int.
77874         (BILLION, LOG10_BILLION): New constants.
77875         (parser_control): New member rel_ns.  Members day_ordinal,
77876         time_zone, month, day, hour, minutes, rel_year, rel_month,
77877         rel_day, rel_hour, rel_minutes, rel_seconds
77878         are now long int, not int.  Member seconds is now struct timespec,
77879         not int.  New member timespec_seen.  Members dates_seen, days_seen,
77880         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
77881         not int.
77882         (%union.intval): Now long int, not int.
77883         New member timespec.
77884         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
77885         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
77886         (spec): Now is a timespec or an item list.
77887         (timespec, items): New nonterminals.
77888         (time, rel, relunit, number, get_date):
77889         Add support for fractional seconds.
77890         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
77891         (gmtime, localtime, mktime): Remove decls; not needed with C89.
77892         (to_hour): First arg is now long int, not int.
77893         (to_year): Returns long int, not int.
77894         Don't treat year -70 like 70.
77895         (tm_diff): Returns long int, not int.
77896         (lookup_word): Use bool instead of int when appropriate.
77897         (yylex): Use size_t for count, not int.
77898         Detect overflow when parsing large integer constants.
77899         Add support for fractions.
77900         (get_date): Make pointers 'const' if possible.
77901         Use more-portable code to detect integer overflow.
77902         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
77903         Don't use ctime; it's not reliable if the year has >4 digits.
77904
77905         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
77906         This is for compatibility with BSD.
77907
77908         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
77909         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
77910         From coreutils' system.h.
77911
77912         * lib/userspec.c: Don't include "posixver.h".
77913         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
77914         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
77915         compatible extension.  Simplify code by removing a boolean int
77916         that was always nonzero if a string was nonnull.
77917
77918 2004-03-30  Jim Meyering  <jim@meyering.net>
77919
77920         Merge from coreutils.
77921
77922         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
77923         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
77924         on some systems one must include <grp.h> before it.
77925         Reported by Christian Krackowizer.
77926
77927 2004-03-30  Jim Meyering  <jim@meyering.net>
77928
77929         Merge from coreutils.
77930
77931         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
77932
77933         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
77934         an empty input stream.
77935
77936         * lib/readtokens.c: Include <stdbool.h>.
77937         (readtoken): Use `size_t' rather than int/long.
77938         All callers adjusted.
77939         Use `bool' rather than `int' where appropriate.
77940         Use memset rather than an explicit loop.
77941         Use x2nrealloc rather than xrealloc.
77942         Allow the use of `\0' as a delimiter.
77943         (readtokens): Likewise.
77944         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
77945
77946 2004-03-30  Jim Meyering  <jim@meyering.net>
77947
77948         * m4/realloc.m4: Remove file, since now it does no more than
77949         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
77950         the `configure.ac' section of module/realloc.
77951         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
77952
77953 2004-03-30  Bruno Haible  <bruno@clisp.org>
77954
77955         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
77956         nonnull.
77957
77958 2004-03-29  Paul Eggert  <eggert@twinsun.com>
77959
77960         Merge changes to getloadavg.c from coreutils and Emacs.
77961
77962         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
77963         Define to an expression, not to the empty string.
77964         Include cloexec.h and xalloc.h.
77965         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
77966         Use set_cloexec_flag rather than rolling our own.
77967         * lib/cloexec.c, lib/cloexec.h: New files.
77968
77969 2004-03-29  Paul Eggert  <eggert@twinsun.com>
77970
77971         * m4/cloexec.m4: New file.
77972
77973 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77974
77975         * lib/getopt.h: Sync with libc CVS.
77976
77977 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77978             Bruno Haible  <bruno@clisp.org>
77979
77980         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
77981         mbswidth.
77982
77983 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77984             Bruno Haible  <bruno@clisp.org>
77985
77986         * lib/mbswidth.h: Include <wchar.h> only if
77987         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
77988         <wchar.h>.
77989         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
77990
77991 2004-03-09  Paul Eggert  <eggert@twinsun.com>
77992
77993         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
77994         Sync with libc CVS.
77995         * lib/getopt_int.h: New file, also synced from libc.
77996
77997 2004-03-09  Paul Eggert  <eggert@twinsun.com>
77998
77999         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
78000         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
78001         Bring back getopt.c, getopt.h, getopt1.c.
78002
78003 2004-03-07  Paul Eggert  <eggert@twinsun.com>
78004
78005         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
78006         All uses changed.  Check for sa_sigaction member; this fixes
78007         a bug first reported by Jason Andrade in
78008         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
78009
78010 2004-03-07  Paul Eggert  <eggert@twinsun.com>
78011
78012         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
78013         '#if' expressions.  Unlike the code it replaces, it does not
78014         depend on (defined _SC_PAGESIZE).  However, it does depend on
78015         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
78016         first reported by Jason Andrade in
78017         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
78018
78019 2004-02-25  Simon Josefsson  <jas@extundo.com>
78020
78021         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
78022
78023 2004-02-25  Simon Josefsson  <jas@extundo.com>
78024
78025         * lib/strdup.h: New file.
78026         * lib/strdup.c: Include it.
78027         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
78028         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
78029
78030 2004-02-23  Karl Berry  <karl@gnu.org>
78031
78032         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
78033         (from fencepost.gnu.org:/gd/gnuorg).
78034
78035 2004-02-23  Karl Berry  <karl@gnu.org>
78036
78037         * config/srclistvars.sh (GNUORG) [karl]: redefine.
78038         * config/srclist.txt: add maintain/standards documents.
78039
78040 2004-02-18  Bruno Haible  <bruno@clisp.org>
78041
78042         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
78043         Reported by Derek Robert Price <derek@ximbiot.com>.
78044
78045 2004-02-16  Karl Berry  <karl@gnu.org>
78046
78047         * config/mkinstalldirs, install-sh: update from automake.
78048
78049 2004-02-06  Karl Berry  <karl@gnu.org>
78050
78051         * m4/po.m4: update from gettext 0.14.1.
78052
78053 2004-02-06  Karl Berry  <karl@gnu.org>
78054
78055         * lib/config.charset: update from gettext 0.14.1.
78056
78057 2004-02-05  Paul Eggert  <eggert@twinsun.com>
78058
78059         Add comments and code, prompted by suggestions from Bruno Haible
78060         for sh-quote.
78061         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
78062         describing the enum quoting_style values.
78063         * lib/quotearg.c (quotearg_alloc): New function.
78064         (quotearg_buffer_restyled): Treat lone { and } as special.
78065         Treat = as special.  Work around bug with older shells
78066         that "see" a '\' that is really the 2nd byte of a multibyte char.
78067         Quote empty string with shell_quoting_style.
78068
78069 2004-02-03  Bruno Haible  <bruno@clisp.org>
78070
78071         * m4/pipe.m4: New file, from GNU gettext.
78072
78073 2004-02-03  Bruno Haible  <bruno@clisp.org>
78074
78075         * lib/pipe.h: New file, from GNU gettext.
78076         * lib/pipe.c: New file, from GNU gettext.
78077
78078 2004-01-27  Bruno Haible  <bruno@clisp.org>
78079
78080         * m4/execute.m4: New file, from GNU gettext.
78081
78082 2004-01-27  Bruno Haible  <bruno@clisp.org>
78083
78084         * lib/execute.h: New file, from GNU gettext.
78085         * lib/execute.c: New file, from GNU gettext.
78086         * lib/w32spawn.h: New file, from GNU gettext.
78087
78088 2004-01-24  Paul Eggert  <eggert@twinsun.com>
78089
78090         Merge from diffutils.
78091
78092         * lib/file-type.c (file_type): Add typed memory objects.
78093         * lib/file-type.h (S_TYPEISTMO): New macro.
78094
78095         * lib/c-stack.h (c_stack_action): Remove argv argument.
78096         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
78097         (die): Don't calculate message unless segv_action returns.
78098         (get_stack_location, min_address_from_argv, max_address_from_argv,
78099         volatile stack_base, volatile_stack_size): Remove.
78100         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
78101         that every segmentation violation is a stack overflow.  (Ouch!)
78102         See Debian bug 136249 (still outstanding) for more info about why
78103         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
78104
78105 2004-01-24  Paul Eggert  <eggert@twinsun.com>
78106
78107         Exit-status fix from coreutils.
78108
78109         Use exit_failure consistently in place of EXIT_FAILURE,
78110         so that program exit statuses are consistent on failure.
78111
78112         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
78113         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
78114         * lib/argmatch.h: Comment fix to match the above.
78115         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
78116         Now a macro referring to exit_failure, instead of a separate
78117         variable.  Include "exitfail.h" to get it.
78118         * lib/xstrtol.h: Include "exitfail.h".
78119         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
78120
78121         * lib/long-options.c (parse_long_options): Use prototype
78122         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
78123         for clarity.
78124
78125 2004-01-21  Jim Meyering  <jim@meyering.net>
78126
78127         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
78128         so as not to conflict with a different-sized __mktime_internal
78129         function in GNU libc.
78130         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
78131         Problem building statically-linked `ls' reported by Michael Brunnbauer.
78132
78133 2004-01-20  Karl Berry  <karl@gnu.org>
78134
78135         * config/config.guess: update from config.
78136
78137         * config/srclistvars.sh: GNUWWWLICENSES for karl.
78138
78139 2004-01-20  Bruno Haible  <bruno@clisp.org>
78140
78141         Safer stack allocation.
78142         * lib/setenv.c: Include allocsa.h.
78143         (alloca): Remove fallback definition.
78144         (freea): Remove macro.
78145         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
78146         instead of freea.
78147
78148 2004-01-20  Bruno Haible  <bruno@clisp.org>
78149
78150         * m4/eealloc.m4: New file, from GNU gettext.
78151
78152 2004-01-20  Bruno Haible  <bruno@clisp.org>
78153
78154         * m4/allocsa.m4: New file, from GNU gettext.
78155
78156 2004-01-20  Bruno Haible  <bruno@clisp.org>
78157
78158         * lib/xallocsa.h: New file, from GNU gettext.
78159         * lib/xallocsa.c: New file, from GNU gettext.
78160
78161 2004-01-20  Bruno Haible  <bruno@clisp.org>
78162
78163         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
78164
78165 2004-01-20  Bruno Haible  <bruno@clisp.org>
78166
78167         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
78168         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
78169         specially.
78170
78171 2004-01-20  Bruno Haible  <bruno@clisp.org>
78172
78173         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
78174         patch.
78175
78176 2004-01-20  Bruno Haible  <bruno@clisp.org>
78177
78178         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
78179
78180 2004-01-20  Bruno Haible  <bruno@clisp.org>
78181
78182         * lib/eealloc.h: New file.
78183
78184 2004-01-20  Bruno Haible  <bruno@clisp.org>
78185
78186         * lib/binary-io.h: Avoid warnings on Cygwin.
78187
78188 2004-01-20  Bruno Haible  <bruno@clisp.org>
78189
78190         * lib/allocsa.h: New file, from GNU gettext.
78191         * lib/allocsa.c: New file, from GNU gettext.
78192
78193 2004-01-18  Karl Berry  <karl@gnu.org>
78194
78195         * doc/gpl.texi, doc/lgpl.texi: new files.
78196
78197 2004-01-18  Karl Berry  <karl@gnu.org>
78198
78199         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
78200         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
78201
78202 2004-01-15  Paul Eggert  <eggert@twinsun.com>
78203
78204         Merge from coreutils.
78205
78206         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
78207         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
78208         (gl_DEFAULT_POSIX2_VERSION): Move
78209         the documentation from 'configure' into 'config.hin',
78210         so that 'configure --help' isn't burdened by it and
78211         we don't have to worry about its formatting there.
78212         Reword the documentation so that it's more succinct
78213         and can be run together into a single paragraph.
78214         * m4/same.m4 (gl_SAME): Check for pathconf.
78215
78216 2004-01-15  Paul Eggert  <eggert@twinsun.com>
78217
78218         Merge from coreutils.
78219
78220         * lib/posixver.c: Include posixver.h.
78221
78222         * lib/same.c: Include <stdbool.h>, <limits.h>.
78223         (_POSIX_NAME_MAX): Define if not defined.
78224         (MIN): New macro.
78225         (same_name): If file names are silently truncated, report
78226         that the file names are the same if they are the same after
78227         the silent truncation.
78228
78229         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
78230         conversion function.
78231         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
78232         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
78233         longer needed.
78234
78235 2004-01-15  Jim Meyering  <jim@meyering.net>
78236
78237         Merge from coreutils.
78238
78239         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
78240         if no library is required.
78241         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
78242         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
78243         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
78244         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
78245         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
78246         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
78247         value, $ac_cv_search_crypt, if it's "none required".
78248         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
78249         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
78250         not gl_FUNC_GETLOADAVG.
78251         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
78252         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
78253
78254 2004-01-15  Jim Meyering  <jim@meyering.net>
78255
78256         Merge from coreutils.
78257
78258         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
78259         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
78260         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
78261
78262         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
78263         optional configure-time default.
78264
78265         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78266
78267         * lib/xreadlink.c (xreadlink): Correct outdated comment.
78268
78269 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
78270
78271         Merge from coreutils.
78272
78273         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
78274         value, $ac_cv_search_nanosleep, if it's "none required".
78275
78276 2004-01-14  Paul Eggert  <eggert@twinsun.com>
78277
78278         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
78279         with like-named macro in fnmatch.c.
78280         (EXT): Use an internal constant instead.
78281
78282         Merge fnmatch patches from glibc.
78283         * lib/fnmatch.c (mbsinit): Remove define.
78284         Add libc_hidden_ver (__fnmatch, fnmatch).
78285         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
78286         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
78287
78288 2004-01-14  Karl Berry  <karl@gnu.org>
78289
78290         * config/install-sh: update from automake.
78291
78292 2004-01-13  Karl Berry  <karl@gnu.org>
78293
78294         * config/install-sh: update from automake.
78295
78296 2004-01-09  Karl Berry  <karl@gnu.org>
78297
78298         * config/install-sh: update from automake.
78299
78300 2004-01-05  Karl Berry  <karl@gnu.org>
78301
78302         * config/config.{sub,guess}: update from config.
78303
78304 2003-12-31  Karl Berry  <karl@gnu.org>
78305
78306         * config/depcomp: update from automake.
78307
78308 2003-12-14  Karl Berry  <karl@gnu.org>
78309
78310         * lib/config.charset: update from gettext-runtime.
78311
78312 2003-12-03  Paul Eggert  <eggert@twinsun.com>
78313
78314         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
78315         Bug reported by Alfred M. Szmidt.
78316
78317 2003-12-03  Bruno Haible  <bruno@clisp.org>
78318
78319         * m4/gettext.m4: Upgrade from gettext-0.13.
78320         * m4/po.m4: Upgrade from gettext-0.13.
78321         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
78322         * m4/intmax.m4: New file, from gettext-0.13.
78323         * m4/printf-posix.m4: New file, from gettext-0.13.
78324
78325 2003-11-29  Karl Berry  <karl@gnu.org>
78326
78327         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
78328
78329 2003-11-25  Paul Eggert  <eggert@twinsun.com>
78330             Bruno Haible  <bruno@clisp.org>
78331
78332         * lib/printf-parse.h: Don't include sys/types.h.
78333         (ARG_NONE): New macro.
78334         (char_directive): Change type of *arg_index fields to size_t.
78335         * lib/printf-parse.c: Don't include sys/types.h.
78336         (SSIZE_MAX): Remove macro.
78337         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
78338         Remove unnecessary overflow check.
78339         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
78340         fields.
78341
78342 2003-11-25  Bruno Haible  <bruno@clisp.org>
78343
78344         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
78345
78346 2003-11-25  Bruno Haible  <bruno@clisp.org>
78347
78348         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
78349         gt_TYPE_SSIZE_T.
78350
78351 2003-11-24  Paul Eggert  <eggert@twinsun.com>
78352
78353         * modules/alloca: Remove dependency on xalloc.
78354
78355 2003-11-24  Paul Eggert  <eggert@twinsun.com>
78356
78357         * lib/alloca.c: Remove dependency on xalloc module.
78358         (xalloc_die): Remove.
78359         (memory_full) [!defined emacs]: New macro.
78360         [!defined emacs]: Don't include xalloc.h.
78361         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
78362         address arithmetic overflows.  Change datatypes a bit to avoid
78363         unnecessary casts.
78364
78365 2003-11-22  Jim Meyering  <jim@meyering.net>
78366
78367         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
78368         s/size/size_t/.
78369
78370 2003-11-21  Karl Berry  <karl@gnu.org>
78371
78372         * config/config.{sub,guess}: update from config.
78373
78374 2003-11-18  Karl Berry  <karl@gnu.org>
78375
78376         * config/config.{sub,guess}: update from config.
78377
78378         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
78379
78380 2003-11-17  Paul Eggert  <eggert@twinsun.com>
78381
78382         * README: Mention that S+T cannot overflow if S is the size of
78383         an existing object and T is sufficiently small.
78384
78385 2003-11-17  Jim Meyering  <jim@meyering.net>
78386
78387         On systems without utime and without a utimes function capable of
78388         dealing with a NULL struct utimbuf* argument, this utime replacement
78389         could -- in unusual circumstances -- leak a file descriptor.
78390         * lib/utime.c: Include <unistd.h> and <errno.h>.
78391         (utime_null): Be sure to close `fd' and to preserve errno.
78392         Reported by Geoff Collyer via Arnold Robbins.
78393
78394 2003-11-17  Bruno Haible  <bruno@clisp.org>
78395
78396         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
78397         (Depends-on): Add xsize.
78398
78399 2003-11-17  Bruno Haible  <bruno@clisp.org>
78400
78401         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
78402
78403 2003-11-17  Bruno Haible  <bruno@clisp.org>
78404
78405         * lib/vasnprintf.c (alloca): Remove fallback definition.
78406         (freea): Remove definition.
78407         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
78408         Reported by Paul Eggert.
78409
78410 2003-11-16  Paul Eggert  <eggert@twinsun.com>
78411             Bruno Haible  <bruno@clisp.org>
78412
78413         Protect against address arithmetic overflow.
78414         * lib/printf-args.h: Include stddef.h.
78415         (arguments): Change type of field 'count' to size_t.
78416         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
78417         'unsigned int' where appropriate.
78418         * lib/printf-parse.h: Include sys/types.h.
78419         (char_directive): Change type of *arg_index fields to ssize_t.
78420         (char_directives): Change type of fields 'count', max_*_length to
78421         size_t.
78422         * lib/printf-parse.c: Include sys/types.h and xsize.h.
78423         (SSIZE_MAX): Define fallback value.
78424         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
78425         instead of 'int' where appropriate. Check a_allocated, d_allocated
78426         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
78427         * lib/vasnprintf.c: Include xsize.h.
78428         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
78429         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
78430         overflow. Avoid wraparound when converting a width or precision from
78431         decimal to binary.
78432
78433 2003-11-16  Bruno Haible  <bruno@clisp.org>
78434
78435         Update from GNU gettext.
78436         * lib/printf-parse.c: Generalize to it can be compiled for wide
78437         strings.
78438         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
78439         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
78440         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
78441         SNPRINTF): New macros.
78442         Don't include <alloca.h> if the file is used inside libintl.
78443         (local_wcslen): New function, for Solaris 2.5.1.
78444         (VASNPRINTF): Use it instead of wcslen.
78445
78446 2003-11-16  Bruno Haible  <bruno@clisp.org>
78447
78448         * lib/xsize.h (xmax): New function.
78449         (xsum, xsum3, xsum4): Declare as "pure" functions.
78450
78451 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78452
78453         * modules/xalloc (Files): Undo latest change, since xalloc.h
78454         no longer needs SIZE_MAX or PTRDIFF_MAX.
78455
78456 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78457
78458         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
78459         gl_PTRDIFF_MAX.
78460
78461 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78462
78463         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
78464         "return", to pacify some unknown compiler.  Problem reported
78465         by Joerg Schilling.
78466
78467 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78468
78469         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
78470         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
78471         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
78472         heuristic is just as accurate as far as we know, and it removes a
78473         dependency on size_max.m4 and ptrdiff_max.m4.
78474
78475 2003-11-11  Bruno Haible  <bruno@clisp.org>
78476
78477         * modules/xsize (Files): Add m4/size_max.m4.
78478         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
78479
78480 2003-11-11  Bruno Haible  <bruno@clisp.org>
78481
78482         * m4/size_max.m4: New file.
78483         * m4/ptrdiff_max.m4: New file.
78484         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
78485         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
78486         (gl_XALLOC): Invoke it.
78487
78488 2003-11-11  Bruno Haible  <bruno@clisp.org>
78489
78490         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
78491         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
78492         defined.
78493
78494 2003-11-10  Paul Eggert  <eggert@twinsun.com>
78495
78496         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
78497         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
78498         rejected some allocations of exactly SIZE_MAX - 2 bytes.
78499         From Bruno Haible.
78500         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
78501         not (size_t) -1, since it's defined here.
78502
78503 2003-11-09  Karl Berry  <karl@gnu.org>
78504
78505         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
78506
78507 2003-11-06  Paul Eggert  <eggert@twinsun.com>
78508
78509         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
78510         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
78511         Reject sizes of exactly SIZE_MAX bytes.
78512         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
78513         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
78514
78515 2003-11-05  Bruno Haible  <bruno@clisp.org>
78516
78517         * lib/xsize.h: Include limits.h, to avoid a possible collision with
78518         SIZE_MAX defined in <limits.h> on Solaris.
78519
78520 2003-11-04  Jim Meyering  <jim@meyering.net>
78521
78522         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
78523         variable names, rather than @VAR@.
78524         * modules/poll: Likewise.
78525
78526 2003-11-04  Bruno Haible  <bruno@clisp.org>
78527
78528         * modules/xsize: New file.
78529         * modules/linebreak: Depend on xsize.
78530         * MODULES.html.sh (func_all_modules): Add xsize.
78531
78532 2003-11-04  Bruno Haible  <bruno@clisp.org>
78533
78534         * m4/xsize.m4: New file.
78535
78536 2003-11-04  Bruno Haible  <bruno@clisp.org>
78537
78538         * lib/xsize.h: New file.
78539         * lib/linebreak.c: Include xsize.h.
78540         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
78541         argument for overflow.
78542         Suggested by Paul Eggert.
78543
78544 2003-11-03  Karl Berry  <karl@gnu.org>
78545
78546         * config/config.{guess,sub}: update from config.
78547
78548 2003-11-03  Jim Meyering  <jim@meyering.net>
78549
78550         * modules/userspec (lib_SOURCES): Add userspec.h.
78551         (Include): Add "userspec.h".
78552         Improve description.
78553
78554 2003-11-03  Jim Meyering  <jim@meyering.net>
78555
78556         * lib/userspec.c: Include "userspec.h".
78557         * lib/userspec.h: New file.
78558
78559 2003-11-03  Bruno Haible  <bruno@clisp.org>
78560
78561         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
78562
78563 2003-11-03  Bruno Haible  <bruno@clisp.org>
78564
78565         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
78566         available, to avoid (extremely rare) race condition.
78567         Suggested by Paul Eggert.
78568
78569 2003-11-02  Karl Berry  <karl@gnu.org>
78570
78571         * config/srclist.txt (vasprintf.c): sync broken, sigh.
78572
78573 2003-10-31  Paul Eggert  <eggert@twinsun.com>
78574
78575         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
78576         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
78577         (read_filesystem_list): Set and use me_type_malloced.
78578         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
78579         whatever the type happens to be), for brevity and consistency.
78580         Check for size calculation overflow on Alphas running OSF/1.
78581
78582 2003-10-31  Jim Meyering  <jim@meyering.net>
78583
78584         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
78585
78586         * lib/linebuffer.c: Include <string.h> for declaration of memset.
78587
78588 2003-10-30  Paul Eggert  <eggert@twinsun.com>
78589             Bruno Haible  <bruno@clisp.org>
78590
78591         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
78592         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
78593
78594 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78595
78596         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
78597         netbsd*-gnu*.  Suggested by Robert Millan.
78598
78599 2003-10-29  Paul Eggert  <eggert@twinsun.com>
78600
78601         * modules/group-member: Depend on stdbool.
78602
78603 2003-10-29  Paul Eggert  <eggert@twinsun.com>
78604
78605         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
78606
78607 2003-10-29  Paul Eggert  <eggert@twinsun.com>
78608
78609         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
78610         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
78611         after the 'gnu' in these cases.  This fixes some bugs in the
78612         previous change, and is based on suggestions by Robert Millan.
78613
78614 2003-10-29  Paul Eggert  <eggert@twinsun.com>
78615
78616         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
78617         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
78618         no longer needed.
78619         * lib/quotearg.c (quotearg_n_options): Use it.
78620         * lib/group-member.c: Include <stdbool.h>.
78621         (free_group_info): Arg is now const *; don't free arg.
78622         (get_group_info): Now returns bool and accepts struct group_info *,
78623         rather than returning a malloc'ed struct group_info *.
78624         All uses changed.  Check for overflow in internal size calculation.
78625
78626         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
78627         rather than xmalloc/xrealloc.
78628         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
78629         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
78630         conformance bug: the old code used a pointer after freeing the
78631         storage that it addressed.
78632         * lib/hash.c (hash_initialize): Simplify the code by using
78633         xalloc_oversized rather than doing it by hand.
78634         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
78635         the buffer preserved.  Use free and xmalloc instead.
78636         * lib/quotearg.c (quotearg_n_options): Likewise.
78637         Use a simpler test for size overflow.  Don't use xalloc_oversized
78638         because unsigned int might be wider than size_t (!); this suggests
78639         that we should switch from unsigned int to size_t for slot numbers.
78640
78641 2003-10-28  Paul Eggert  <eggert@twinsun.com>
78642
78643         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
78644         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
78645         NetBSD kernels.  Requested by Richard Stallman.
78646
78647 2003-10-27  Paul Eggert  <eggert@twinsun.com>
78648
78649         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
78650         to allocate the returned structure.  Do not allocate a subarray,
78651         as x2nrealloc will do that.
78652         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
78653         instead of xnrealloc.
78654         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
78655
78656 2003-10-27  Bruno Haible  <bruno@clisp.org>
78657
78658         * lib/stdbool_.h: Better support for BeOS.
78659
78660 2003-10-26  Paul Eggert  <eggert@twinsun.com>
78661
78662         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
78663         now uses inline.
78664
78665 2003-10-26  Paul Eggert  <eggert@twinsun.com>
78666
78667         * lib/xalloc.h (xalloc_oversized): New static inline function, for
78668         callers that want to do their own size-overflow checking.  Include
78669         <stdbool.h>, since xalloc_oversized returns bool.
78670         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
78671         to use xalloc_oversized.
78672
78673         Add two functions x2realloc, x2nrealloc, for programs that grow
78674         arrays dynamically by doubling their sizes.
78675         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
78676         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
78677         New functions.
78678
78679         Port to C99 semantics for 'inline' of external functions.
78680         Bug reported by Bruno Haible.
78681         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
78682         with the old contents of xnmalloc.
78683         (xnmalloc, xmalloc): Use it.
78684         (xnrealloc_inline): New static inline function,
78685         with the old contents of xnrealloc.
78686         (xnrealloc, xrealloc): Use it.
78687
78688         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
78689         that.
78690
78691 2003-10-26  Karl Berry  <karl@gnu.org>
78692
78693         * config/srclist.txt (COPYING.DOC): no longer available from
78694         /gd/gnuorg; don't know where the ultimate source is.
78695
78696 2003-10-25  Paul Eggert  <eggert@twinsun.com>
78697
78698         Fix several address-calculation bugs in the hash modules,
78699         plus some minor code cleanup.
78700
78701         * lib/hash.h: Include <stdbool.h>, for bool.
78702         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
78703         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
78704         hash_get_n_entries, hash_get_max_bucket_length,
78705         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
78706         hash_rehash): Use size_t rather than unsigned.
78707         * lib/hash.c (struct hash_table, hash_get_n_buckets,
78708         hash_get_n_buckets_used, hash_get_n_entries,
78709         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
78710         hash_get_entries, hash_do_for_each, hash_string, is_prime,
78711         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
78712         Likewise.
78713         (SIZE_MAX): Define if not defined.
78714         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
78715         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
78716         hash_print):
78717         Use const * when possible.
78718         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
78719         (check_tuning): Fix bug: if tuning parameters were very close to
78720         0 or 1, rounding errors could have caused subscript violations.
78721         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
78722         (hash_initialize): Add 'fail:' label
78723         to free table and return NULL, and use it to simplify code.
78724         Use calloc rather than clearing the storage ourself.
78725         (hash_initialize, hash_rehash): Check for arithmetic overflow in
78726         buffer size calculations.
78727         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
78728         Include <stddef.h>, for size_t.
78729         * lib/hash-pjw.c (hash_pjw): Likewise.
78730         Switch to method described by Bruno Haible.
78731         Include <limits.h>, for CHAR_BIT.
78732         (SIZE_BITS): New macro.
78733
78734 2003-10-23  Paul Eggert  <eggert@twinsun.com>
78735
78736         * m4/getline.m4 (AM_FUNC_GETLINE):
78737         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
78738         hosts.  Problem reported by Derek Robert Price in
78739         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
78740         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
78741         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
78742
78743 2003-10-21  Paul Eggert  <eggert@twinsun.com>
78744
78745         * lib/getndelim2.c (getndelim2): When size calculation overflows,
78746         ceiling the allocation at NMAX bytes rather than silently
78747         discarding input bytes before NMAX is reached.  This makes
78748         a difference only if NMAX exceeds SIZE_MAX / 2.
78749
78750         * lib/obstack.c: Merge from glibc.
78751         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
78752         Add libc_hidden_def (_obstack_newchunk).
78753         (_obstack_free) [! defined _LIBC]: Remove.
78754         [defined _LIBC]: Make a strong alias from obstack_free, rather than
78755         a clone of the function body.
78756         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
78757         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
78758
78759         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
78760         glibc.
78761         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
78762         arg to memcpy.
78763
78764         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
78765         (obstack_ptr_grow_fast, obstack_int_grow_fast):
78766         Don't use lvalue casts, as GCC plans to remove support for them
78767         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
78768         was also present in the non-GCC version, indicating that this
78769         code had always been buggy and had never been widely used.
78770         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
78771         Use the fast variant of each macro, rather than copying the
78772         definiens of the fast variant; that way, we'll be more likely to
78773         catch future bugs in the fast variants.
78774
78775 2003-10-20  Bruno Haible  <bruno@clisp.org>
78776
78777         * modules/wait-process: New file.
78778         * MODULES.html.sh (func_all_modules): Add wait-process.
78779
78780 2003-10-20  Bruno Haible  <bruno@clisp.org>
78781
78782         * m4/wait-process.m4: New file.
78783
78784 2003-10-20  Bruno Haible  <bruno@clisp.org>
78785
78786         * lib/wait-process.h: New file, from GNU gettext.
78787         * lib/wait-process.c: New file, from GNU gettext.
78788
78789 2003-10-19  Jim Meyering  <jim@meyering.net>
78790
78791         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
78792         HPUX 10.20.
78793
78794 2003-10-18  Karl Berry  <karl@gnu.org>
78795
78796         * config/config.guess: update from config.
78797
78798 2003-10-16  Paul Eggert  <eggert@twinsun.com>
78799
78800         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
78801         (getgroups): First arg is int, not size_t.
78802         Don't let 'free' mangle errno.
78803
78804 2003-10-16  Paul Eggert  <eggert@twinsun.com>
78805
78806         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
78807
78808 2003-10-16  Karl Berry  <karl@gnu.org>
78809
78810         * config/config.{guess,sub}: update from config.
78811
78812 2003-10-16  Jim Meyering  <jim@meyering.net>
78813
78814         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
78815         memcpy.
78816
78817 2003-10-15  Paul Eggert  <eggert@twinsun.com>
78818
78819         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
78820         (SIZE_MAX): Remove.
78821         (new_exclude, add_exclude_file): Initial size no longer needs to
78822         be a power of 2.
78823         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
78824         our own address arithmetic overflow checking.
78825
78826         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
78827         (fnmatch): Do not alloca more than 2000 wide characters;
78828         instead, use malloc for large buffers.
78829         Check for address arithmetic overflow, and return -1
78830         with errno set to ENOMEM in that case.
78831         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
78832         (NEW_PATTERN): Do not alloca more than 8000 bytes;
78833         instead, return -1.  Check for address arithmetic overflow.
78834
78835 2003-10-14  Paul Eggert  <eggert@twinsun.com>
78836
78837         Handle invalid suffixes and overflow independently, so that
78838         callers can treat them independently as needed.  Fix some bugs in
78839         suffix handling, e.g., "100k@" was not diagnosed as an invalid
78840         suffix for a human-readable blocksize.  The major caller-visible
78841         change is the addition of a new
78842         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
78843         that both overflow and suffix chars were found.
78844
78845         * lib/human.c (humblock): Don't check separately for invalid suffix
78846         char; that is xstrtoumax's job (now that its bug is fixed).
78847         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
78848         INTMAX_MAX]: New macros.
78849         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
78850         TYPE_MAXIMUM): New macros.
78851         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
78852         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
78853         if overflow occurs, as it's what __strtol does and it's more useful
78854         in practice.
78855         (__xstrtol): If __strtol reports some error other than ERANGE,
78856         reflect it to the caller as LONGINT_INVALID.  If it reports
78857         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
78858         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
78859         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
78860         value.
78861         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
78862         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
78863         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
78864         [defined UINTMAX_MAX]: New macros.
78865
78866 2003-10-14  Bruno Haible  <bruno@clisp.org>
78867
78868         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
78869
78870 2003-10-14  Bruno Haible  <bruno@clisp.org>
78871
78872         * m4/sig_atomic_t: New file, from GNU gettext.
78873         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
78874
78875 2003-10-14  Bruno Haible  <bruno@clisp.org>
78876
78877         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
78878         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
78879         Also use volatile where needed.
78880
78881 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78882
78883         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
78884         Change maintainer from Bruno Haible to 'all'.
78885
78886 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78887
78888         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
78889
78890 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78891
78892         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
78893         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
78894         and define in terms of the other primitives.
78895         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
78896         (SIZE_MAX): Define if not already defined.
78897         (array_size_overflow): New function.
78898         (xalloc_die): Abort instead of exiting if 'error' returns.
78899         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
78900         (xmalloc, xrealloc): Use them.
78901         (xcalloc): Check for address arithmetic overflow.
78902         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
78903         a bit faster than strcpy.
78904
78905 2003-10-10  Simon Josefsson  <jas@extundo.com>
78906
78907         * modules/argp (Depends-on): Add restrict and strcase.
78908
78909 2003-10-10  Simon Josefsson  <jas@extundo.com>
78910
78911         * m4/argp.m4: Add AC_C_INLINE.
78912
78913 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78914
78915         Merge getpass from libc, plus a few fixes.
78916
78917         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
78918         Include <stdbool.h>.
78919         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
78920         __fsetlocking to empty.
78921         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
78922         do include <bits/libc-lock.h>.
78923         Do not include <fcntl.h>; not needed.
78924         [_LIBC]: Include <wchar.h>.
78925         (NOTCANCEL_MODE): New macro.
78926         (flockfile, funlockfile) [_LIBC]: New macros.
78927         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
78928         [!_LIBC]: New macros.
78929         (call_fclose): New function.
78930         (getpass): Use it.  Save tty stream separately; this simplifies the
78931         code and makes it more reliable if stdin happens to equal stdout.
78932         Invoke __fsetlocking on tty.
78933         Handle thread cancellation if needed.
78934         Namespace cleanup (use __tcgetattr, __getline).
78935         Use bool for Booleans.
78936         [USE_IN_LIBIO]: Handle wide streams.
78937         [!_LIBC]: Unconditionally do the fseek, since we don't know what
78938         stream might go where.
78939
78940         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
78941         doesn't have to include <stdio.h> before us.
78942         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
78943         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
78944         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
78945         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
78946         if not declared, so that we can use getpass.c code from libc without
78947         rewriting it.
78948         (flockfile, ftrylockfile, funlockfile): New macros.
78949
78950 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78951
78952         * modules/getpass: Depend on stdbool.
78953
78954 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78955
78956         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
78957
78958 2003-10-07  Karl Berry  <karl@gnu.org>
78959
78960         * config/config.{guess,sub}: update from config.
78961
78962 2003-10-06  Jim Meyering  <jim@meyering.net>
78963             Bruno Haible  <bruno@clisp.org>
78964
78965         This lets translators provide better translations for the
78966         "Written by ..." part of --version output.
78967         * lib/version-etc.h: Include stdarg.h.
78968         (version_etc_copyright): Declare as readonly.
78969         (version_etc): Make this function variadic with a NULL-terminated list
78970         of author name strings.
78971         (version_etc_va): New declaration.
78972         * lib/version-etc.c: Include stdarg.h, stdlib.h.
78973         (version_etc_copyright): Declare as readonly.
78974         (version_etc_va): New function. Provide a different translatable string
78975         for each possible number of authors < 10. Abbreviate when there are 10
78976         authors or more.
78977         (version_etc): Make this function variadic. Call version_etc_va.
78978         Suggestion from Gary V. Vaughan.
78979
78980         * lib/long-options.h (parse_long_options): Change prototype: the
78981         authors string is moved to the end and becomes variadic.
78982         * lib/long-options.c: Include stdarg.h.
78983         (parse_long_options): Make this function variadic, too.
78984         Call version_etc_va, not version_etc.
78985
78986 2003-10-06  Bruno Haible  <bruno@clisp.org>
78987
78988         * modules/version-etc-2: Remove file.
78989         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
78990
78991 2003-10-06  Bruno Haible  <bruno@clisp.org>
78992
78993         * modules/fatal-signal: New file.
78994         * MODULES.html.sh (func_all_modules): Add fatal-signal.
78995
78996 2003-10-06  Bruno Haible  <bruno@clisp.org>
78997
78998         * m4/fatal-signal.m4: New file.
78999         * m4/signalblocking.m4: New file, from GNU gettext.
79000
79001 2003-10-06  Bruno Haible  <bruno@clisp.org>
79002
79003         * lib/version-etc-2.h: Remove file.
79004         * lib/version-etc-2.c: Remove file.
79005
79006 2003-10-06  Bruno Haible  <bruno@clisp.org>
79007
79008         * lib/fatal-signal.h: New file, from GNU gettext.
79009         * lib/fatal-signal.c: New file, from GNU gettext.
79010
79011 2003-10-05  Paul Eggert  <eggert@twinsun.com>
79012
79013         * README: Rework advice for preventing empty .o files.
79014         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
79015         not <sys/types.h>.
79016
79017 2003-10-04  Karl Berry  <karl@gnu.org>
79018
79019         * lib/argp*: update from libc.
79020
79021 2003-10-04  Karl Berry  <karl@gnu.org>
79022
79023         * config/config.{guess,sub}: update from config.
79024
79025 2003-10-02  Bruno Haible  <bruno@clisp.org>
79026
79027         * modules/lchown (Include): Add lchown.h.
79028         * modules/time_r (Include): Use "..." syntax.
79029         * modules/xgetdomainname (Include): Add xgetdomainname.h.
79030
79031 2003-10-01  Simon Josefsson  <jas@extundo.com>
79032
79033         * MODULES.html.sh (func_all_modules): Move gethostname from section
79034         'based on' to section 'lacking' POSIX:2001.
79035
79036 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
79037
79038         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
79039         to output mode on the same stream.
79040
79041 2003-09-29  Paul Eggert  <eggert@twinsun.com>
79042
79043         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
79044         Fix arg typo in previous patch.
79045
79046 2003-09-28  Jim Meyering  <jim@meyering.net>
79047
79048         * lib/error.c: Correct cpp indentation.
79049
79050 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79051
79052         * modules/free: New file.
79053
79054 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79055
79056         * m4/free.m4: New file.
79057
79058 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79059
79060         * lib/minmax.h (MIN, MAX)
79061         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
79062         Omit the special code that used __typeof__, since we worry that
79063         it could be more trouble than it's worth.  See:
79064         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
79065         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
79066
79067         * lib/free.c: New file.
79068
79069 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
79070
79071         Trivial fixes to Makefile.am parts of module listings.
79072         * modules/strstr: Append strstr.h to lib_SOURCES.
79073         * modules/strcase: Likewise, for strcase.h.
79074
79075 2003-09-27  Karl Berry  <karl@gnu.org>
79076
79077         * config/mkinstalldirs: update from automake.
79078
79079 2003-09-26  Paul Eggert  <eggert@twinsun.com>
79080
79081         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
79082         (error_tail): Do not loop, reallocating temporary buffer, since
79083         the output cannot contain more wide characters than the input
79084         contains bytes, the size must be big enough already.  This avoids
79085         one potential size overflow calculation.  Check for size overflow
79086         when calculating temporary buffer size.  Free temporary buffer
79087         when done, if it was allocated with malloc; this plugs a memory
79088         leak.  Remove casts from void * to pointers, that are no longer
79089         needed now that we're assuming C89 or better.
79090
79091         Merge error changes from glibc.
79092
79093         * lib/error.c, error.h: Update copyright notice header to match glibc.
79094         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
79095         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
79096         Disable cancellation while printing error.
79097         * lib/error.h: Prepend __ to parameter names.
79098
79099 2003-09-26  Jim Meyering  <jim@meyering.net>
79100
79101         * lib/error.c (error_tail): Move some declarations
79102         into inner scope where the local variables are used.
79103
79104 2003-09-26  Bruno Haible  <bruno@clisp.org>
79105
79106         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
79107         stpncpy().
79108         Don't define stpncpy through config.h; it's now done through stpncpy.h.
79109
79110 2003-09-26  Bruno Haible  <bruno@clisp.org>
79111
79112         * lib/stpncpy.h (gnu_stpncpy): New declaration.
79113         (stpncpy): Define as alias for gnu_stpncpy.
79114         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
79115
79116 2003-09-25  Simon Josefsson  <jas@extundo.com>
79117
79118         * lib/xgetdomainname.h: New file.
79119         * lib/xgetdomainname.c: New file.
79120
79121 2003-09-25  Simon Josefsson  <jas@extundo.com>
79122             Bruno Haible  <bruno@clisp.org>
79123
79124         * modules/getdomainname: New file.
79125         * modules/xgetdomainname: New file.
79126         * MODULES.html.sh (func_all_modules): Add getdomainname,
79127         xgetdomainname.
79128
79129 2003-09-25  Simon Josefsson  <jas@extundo.com>
79130             Bruno Haible  <bruno@clisp.org>
79131
79132         * m4/getdomainname.m4: New file.
79133
79134 2003-09-25  Simon Josefsson  <jas@extundo.com>
79135             Bruno Haible  <bruno@clisp.org>
79136
79137         * lib/getdomainname.h: New file.
79138         * lib/getdomainname.c: New file.
79139
79140 2003-09-25  Karl Berry  <karl@gnu.org>
79141
79142         * lib/argp-fmtstream.c, argp-help.c: update from libc.
79143
79144 2003-09-25  Karl Berry  <karl@gnu.org>
79145
79146         * config/install-sh: update from automake.
79147
79148 2003-09-25  Bruno Haible  <bruno@clisp.org>
79149
79150         * modules/version-etc-2: New file, from modules/version-etc with
79151         modifications.
79152         * MODULES.html.sh (func_all_modules): Add version-etc-2.
79153
79154 2003-09-25  Bruno Haible  <bruno@clisp.org>
79155
79156         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
79157         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
79158
79159 2003-09-24  Simon Josefsson  <jas@extundo.com>
79160
79161         * modules/xgethostname: Add xgethostname.h.
79162
79163 2003-09-24  Paul Eggert  <eggert@twinsun.com>
79164
79165         * lib/linebuffer.c (freebuffer): Don't free the argument, just
79166         the buffer associated with the argument.  Bug reported by
79167         Simon Josefsson.
79168
79169 2003-09-24  Paul Eggert  <eggert@twinsun.com>
79170
79171         * README: Document assumptions that 'int' is at least 32 bits
79172         wide, that integer arithmetic is 2's complement without overflow,
79173         that there are no holes in integer values, that adding sizes of
79174         two nonoverlapping objects can't overflow, and that all-bits-zero
79175         yields scalar zero.  Fix spelling and capitalization typos.
79176
79177 2003-09-19  Karl Berry  <karl@gnu.org>
79178
79179         * lib/argp.h: update from libc.
79180
79181 2003-09-17  Paul Eggert  <eggert@twinsun.com>
79182
79183         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
79184         to avoid spurious warnings like "AC_RUN_IFELSE was called before
79185         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
79186
79187 2003-09-17  Paul Eggert  <eggert@twinsun.com>
79188
79189         * gnulib-tool: Use "test -h", not "test -L", for portability
79190         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
79191         (tags_regexp): Remove, since \| doesn't conform to POSIX.
79192         (sed_extract_prog): Issue s commands one-by-one, rather than
79193         using \| in one s command.
79194
79195 2003-09-16  Paul Eggert  <eggert@twinsun.com>
79196
79197         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
79198         input error, instead of returning NULL the next time we are called
79199         (and therefore losing track of errno).
79200
79201 2003-09-16  Bruno Haible  <bruno@clisp.org>
79202
79203         * gnulib-tool (func_create_testdir): Warn about duplicated
79204         dependencies.
79205
79206 2003-09-15  Paul Eggert  <eggert@twinsun.com>
79207
79208         * modules/argmatch, modules/fatal, modules/obstack,
79209         modules/xalloc, modules/xgethostname: Sort dependencies by
79210         importance, not alphabetically.
79211
79212 2003-09-15  Paul Eggert  <eggert@twinsun.com>
79213
79214         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
79215         fails, so that the caller gets the proper errno.
79216
79217         * lib/readutmp.c (read_utmp): Likewise.
79218         Check for fstat error.  Close stream and free storage
79219         when failing.
79220
79221 2003-09-14  Karl Berry  <karl@gnu.org>
79222
79223         * config/srclist.txt (strdup.c): disable for c89 changes.
79224
79225 2003-09-14  Jim Meyering  <jim@meyering.net>
79226
79227         * lib/getloadavg.c: Correct cpp indentation.
79228         * lib/strdup.c: Likewise.
79229         * lib/vasnprintf.c: Likewise.
79230
79231 2003-09-14  Bruno Haible  <bruno@clisp.org>
79232
79233         * modules/fwriteerror: New file.
79234         * MODULES.html.sh (func_all_modules): Add fwriteerror.
79235
79236 2003-09-14  Bruno Haible  <bruno@clisp.org>
79237
79238         * lib/fwriteerror.h: New file.
79239         * lib/fwriteerror.c: New file.
79240
79241 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79242
79243         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
79244         modules/xgethostname, modules/xalloc: Depend on exit.
79245
79246 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79247
79248         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
79249
79250         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
79251         and AC_MINIX, too, so that their extensions are available.
79252
79253         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
79254         This macro has been superseded by gl_BACKUPFILE.
79255
79256         More patches to assume C89 or better.
79257
79258         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
79259
79260         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
79261         unconditionally.
79262         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
79263         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
79264         Include <string.h>, <stdlib.h> unconditionally.
79265         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
79266         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
79267         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
79268         headers or for string.h.
79269         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
79270         or strtoul.
79271
79272         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
79273         headers.
79274         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
79275         * m4/userspec.m4 (gl_USERSPEC): Likewise.
79276         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
79277         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
79278         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79279         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
79280         memcpy, memset.
79281         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
79282         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
79283         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
79284         strtol.
79285         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
79286         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
79287         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
79288         strtoul.
79289
79290 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79291
79292         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
79293         * lib/obstack.c [!defined _LIBC]: Likewise.
79294         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
79295         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
79296         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
79297
79298         More changes to assume C89 or better.
79299
79300         * lib/error.c (error_tail): Assume vprintf.
79301
79302         * lib/argmatch.c (getenv): Remove decl.
79303         * lib/progreloc.c (get_full_program_name): Define via prototype.
79304         * lib/setenv.c (clearenv): Likewise.
79305         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
79306         needed.
79307         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
79308         (malloc, memcpy): Remove decls.
79309         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
79310         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
79311         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
79312         (memcpy): Remove macro.
79313         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
79314         (__P): Remove.  All uses removed.
79315         (PTR): Remove.  All uses changed to void *.
79316         (CHAR_BIT, NULL): Remove.
79317         (spaces, zeros, memset_space, memset_zero)
79318         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
79319         Remove.
79320         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
79321         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
79322         Define with prototype.
79323         Remove now-unnecessary prototype decl.
79324         (extra_args_spec): Assume ANSI C.  All uses changed.
79325         (extra_args_spec_iso): Remove.
79326         (my_strftime, emacs_strftimeu): Define via prototype.
79327         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
79328         unconditionally.
79329         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
79330         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
79331         (strtoul, strtol): Remove decls.
79332         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
79333         LONG_MAX): Remove.
79334         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
79335         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
79336         (LOCALE_PARAM_PROTO): New macro.
79337         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
79338         (INTERNAL (strtol), strtol): Define with a prototype.
79339         (PARAMS): Remove.  All uses removed.
79340         * lib/tempname.c: Include <string.h> unconditionally.
79341         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
79342         * lib/xgethostname.c (main): Define with a prototype.
79343         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
79344         Include <stdlib.h> unconditionally.
79345         (calloc, malloc, realloc, free): Remove decls.
79346         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
79347         Include <stdlib.h> unconditionally.  Sort include file names.
79348         (strtod): Remove.
79349         (xstrtod): Define with a prototype.
79350         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
79351         (strtol, strtoul): Remove decls.
79352
79353 2003-09-11  Paul Eggert  <eggert@twinsun.com>
79354
79355         More patches to assume C89 or better.
79356         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
79357         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
79358         string.h, memchr, STDC_HEADERS.
79359
79360 2003-09-11  Paul Eggert  <eggert@twinsun.com>
79361
79362         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
79363         Include <stdlib.h>, <string.h> unconditionally.
79364         Remove now-unnecessary cast to char *.
79365         * lib/strnlen.c: Include <string.h> unconditionally.
79366         * lib/yesno.c (yesno): Define with a prototype.
79367
79368 2003-09-11  Bruno Haible  <bruno@clisp.org>
79369
79370         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
79371
79372 2003-09-10  Jim Meyering  <jim@meyering.net>
79373
79374         * lib/error.c: Correct indentation of cpp directives.
79375
79376 2003-09-10  Bruno Haible  <bruno@clisp.org>
79377
79378         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
79379         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
79380         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
79381         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
79382         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
79383         <stdlib.h> and <string.h> checks.
79384         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
79385         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
79386
79387 2003-09-10  Bruno Haible  <bruno@clisp.org>
79388
79389         * lib/strcspn.c: Include <string.h> unconditionally.
79390         * lib/strpbrk.c: Include <string.h> unconditionally.
79391         * lib/strstr.c: Include <string.h> unconditionally.
79392         * lib/unicodeio.c: Include <string.h> unconditionally.
79393         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
79394         * lib/unsetenv.c: Likewise.
79395         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
79396         * lib/yesno.c: Include <stdlib.h> unconditionally.
79397         (rpmatch): Add prototype.
79398
79399 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79400
79401         More patches to assume C89 or better.
79402         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
79403         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
79404         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
79405         or for string.h.
79406         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
79407         stdlib.h.
79408         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
79409         C headers.
79410         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
79411         string.h.
79412         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
79413         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
79414         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
79415         or for string.h.
79416         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
79417         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
79418         C headers.
79419         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
79420         memcpy.
79421         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
79422         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
79423         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
79424         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
79425         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
79426         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
79427         string.h, free.
79428         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
79429         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
79430         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
79431         C headers, or for string.h.
79432         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
79433         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
79434         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
79435         headers, memory.h, stdlib.h, string.h, strings.h.
79436         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
79437         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
79438         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
79439         strchr.
79440         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
79441         headers, memory.h, string.h.
79442         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
79443         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
79444         free.
79445         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
79446         headers.
79447         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
79448         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
79449         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
79450         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
79451         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
79452
79453 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79454
79455         More K&R removal.
79456
79457         * lib/acosl.c (main): Use a prototype.
79458         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
79459         tanl.c: Likewise.
79460
79461         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
79462
79463         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
79464         (getopt, etopt_long, getopt_long_only, _getopt_internal)
79465         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
79466         with a prototype.
79467         * lib/getopt.c (const): Remove macro.
79468         Include <string.h> unconditionally.
79469         (my_index): Remove; all uses changed to strchr.
79470         (strlen): Remove decl.
79471         (exchange): Remove forward decl; no longer needed.
79472         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
79473         Define with prototype.
79474         * lib/getopt1.c (const): Remove macro.
79475         (getopt_long, getopt_long_only, main): Define with prototype.
79476
79477         * lib/getugroups.c: Include <string.h> unconditionally.
79478
79479         * lib/getusershell.c: Include <stdlib.h> unconditionally.
79480         (getusershell, setusershell, endusershell, readname, main):
79481         Define with prototypes.
79482
79483         * lib/group-member.c: Include group-member.h first.
79484         Include <stdlib.h> unconditionally.
79485
79486         * lib/hard-locale.c: Include hard-locale.h first.
79487         Include <stdlib.h>, <string.h> unconditionally.
79488
79489         * lib/hash.c (free, malloc): Remove decls.
79490         Include <stdlib.h> unconditionally.
79491
79492         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
79493         (getenv): Do not declare.
79494
79495         * lib/idcache.c: Include <string.h> unconditionally.
79496
79497         * lib/long-options.c: Include long-options.h first, to test interface.
79498         Include <stdlib.h> unconditionally.
79499
79500         * lib/makepath.c: Include makepath.h first, to test interface.
79501         Include <stdlib.h> and <string.h> unconditionally.
79502
79503         * lib/linebuffer.c: Include <stdlib.h>.
79504         (free): Remove decl.
79505
79506         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
79507         stddef.h. rpl_malloc returns void *, not char *.
79508         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
79509         prototype.
79510
79511         * lib/md5.h: Include <limits.h> unconditionally.
79512         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
79513         (__P): Remove; all uses removed.
79514         * lib/md5.c: Include "md5.h" first.
79515         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
79516         md5_buffer, md5_process_bytes, md5_process_block):
79517         Define with prototypes.
79518         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
79519         * lib/sha.c: Include "sha.h" first.
79520         Include <stdlib.h>, <string.h> unconditionally.
79521
79522         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
79523         * lib/memcmp.c (__ptr_t): Likewise.
79524         * lib/memrchr.c (__ptr_t): Likewise.
79525         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
79526         Include <string.h> unconditionally.
79527         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
79528         * lib/memchr.c: Include <stdlib.h> unconditionally.
79529         * lib/memchr.c (LONG_MAX): Remove.
79530         * lib/memrchr.c (LONG_MAX): Likewise.
79531         * lib/memchr.c (__memchr): Define via a prototype.
79532         * lib/memrchr.c (__memrchr): Likewise.
79533         * lib/memcmp.c (__P): Remove, and remove all uses.
79534         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
79535         Remove forward decls; no longer needed.
79536         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
79537         Use types required by C89 in prototype.
79538
79539         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
79540         * lib/savedir.c: Likewise.
79541         * lib/mkdir.c (free): Remove decl.
79542         * lib/rmdir.c (rmdir): Define with a prototype.
79543         * lib/savedir.c: Include savedir.h first, to test interface.
79544
79545         * lib/mktime.c (STDC_HEADERS): Remove.
79546         Include <stdlib.h>, <string.h> unconditionally.
79547
79548         * lib/modechange.c: Include <stdlib.h> unconditionally.
79549         (malloc): Remove decl.
79550
79551         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
79552         (free): Remove decl.
79553
79554         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
79555         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
79556         (This type really should be intptr_t, but that's a C99ism.)
79557         (_obstack_memcpy): Remove: all uses changed to memcpy.
79558         Include <string.h> unconditionally.
79559         (struct obstack): Assume __STDC__ for types of members
79560         chunkfun, freefun, extra_arg.
79561         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
79562         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
79563         obstack_begin, obstack_specify_allocation,
79564         obstack_specify_allocation_with_arg, obstack_chunkfun,
79565         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
79566         Remove unprototyped decls and the macros that use them.
79567         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
79568         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
79569         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
79570         (defined __STDC__ && __STDC__)]:
79571         Remove nonprototyped code.
79572         Include <stdlib.h> unconditionally.
79573         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
79574         _obstack_allocated_p, _obstack_free, obstack_free,
79575         _obstack_memory_used, print_and_abort):
79576         Define using prototypes.
79577         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
79578         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
79579         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
79580         obstack_next_free, obstack_object_size, obstack_room) [0]:
79581         Remove unused, unprototyped code.
79582
79583         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
79584
79585         * lib/physmem.c (physmem_total, physmem_available, main): Define
79586         with prototypes.
79587
79588         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
79589         (main): Define with a prototype.
79590
79591         * lib/posixver.c (getenv): Remove decl.
79592
79593         * lib/putenv.c (malloc): Returns void *, not char *.
79594         Include <string.h> unconditionally.
79595         (strchr, memcpy, NULL): Do not define.
79596
79597         * lib/readtokens.c: Include readtokens.h first, to test interface.
79598         Include <stdlib.h>, <string.h> unconditionally.
79599         (init_tokenbuffer): Define with a prototype.
79600
79601         * lib/regex.c (PARAMS): Remove.  All uses removed.
79602         All uses of _RE_ARGS removed, too.
79603         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
79604         unconditionally.
79605         (bzero): Assume memset exists.
79606         (memcmp, memcpy, NULL): Remove.
79607         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
79608         char, or assignments to local vars of type signed char.
79609         (init_syntax_once, PREFIX(extract_number_and_incr),
79610         PREFIX(print_partial_compiled_pattern),
79611         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
79612         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
79613         PREFIX(regex_grow_registers), PREFIX(regex_compile),
79614         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
79615         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
79616         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
79617         wcs_compile_range, byte_compile_range, truncate_wchar,
79618         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
79619         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
79620         count_mbs_length, wcs_re_match_2_internal,
79621         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
79622         PREFIX(alt_match_null_string_p),
79623         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
79624         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
79625         regfree, PREFIX(extract_number)): Define with prototype.  Remove
79626         now-unnecessary declaration, if any.
79627         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
79628         regcomp, regexec):
79629         Remove now-unnecessary casts among pointer types.
79630         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
79631
79632         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
79633         (free): Remove decl.
79634
79635         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
79636
79637         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
79638         (free): Remove decl.
79639
79640         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
79641         * lib/xgetcwd.c: Likewise.
79642
79643         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
79644         (free): Remove decl.
79645
79646         * lib/strchrnul.c (strchrnul): Define with a prototype.
79647         Fix bug: c_in was not converted to char before searching.
79648
79649         The following changes are not K&R related:
79650
79651         * lib/group-member.h: Include <sys/types.h>, so that this file is
79652         self-contained.
79653         * lib/makepath.h: Likewise.
79654
79655         * lib/getusershell.c (readname, default_index, line_size, readname):
79656         Use size_t, not int, for sizes.
79657         (readname): If the size overflows, report an error instead of
79658         looping forever.
79659
79660 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79661
79662         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
79663         libc.
79664
79665 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79666
79667         * README: New section: portability guidelines.
79668
79669 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
79670
79671         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
79672         C89 spec.
79673
79674 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
79675
79676         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
79677
79678 2003-09-08  Paul Eggert  <eggert@twinsun.com>
79679
79680         Assume C89 or better; remove K&R cruft.
79681         A few of these changes were first proposed by Derek Robert Price
79682         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
79683
79684         * lib/addext.c: Include <string.h> unconditionally.
79685         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
79686         Don't declare getenv or malloc.
79687
79688         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
79689         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
79690         (NULL): Remove.
79691         (find_stack_direction, alloca): Use prototypes.
79692
79693         * lib/atexit.c (atexit): Define using a prototype.
79694
79695         * lib/basename.c, dirname.c, stripslash.c:
79696         Include <string.h> unconditionally.
79697
79698         * lib/bcopy.c: Include <stddef.h>.
79699         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
79700
79701         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
79702
79703         * lib/error.h (error, error_at_line, error_print_progname)
79704         [! (defined (__STDC__) && __STDC__)]: Remove decls.
79705         * lib/error.c: Include error.h first, to check interface.
79706         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
79707         (VA_START): Remove; all uses changeed to va_start.
79708         (exit, strerror): Remove decls.
79709         (error_print_progname): Prototype uncondionally.
79710         Don't include <errno.h>; no longer needed.
79711         (private_strerror): Remove.
79712         (error_tail): Always define.
79713         (error, error_at_line): Assume C89 or better; always use prototypes.
79714         * lib/fatal.c: Include "fatal.h" first, to test interface.
79715         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
79716         (VA_START): Remove; all uses changed to va_start.
79717         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
79718         this case.
79719         (exit): Remove decl.
79720         (fatal): Prototype unconditionally.  Assume va_start works.
79721         Abort at end, to pacify gcc.
79722
79723         * lib/euidaccess.c (main): Define with a prototype.
79724
79725         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
79726
79727         * lib/exitfail.c: Include <stdlib.h> unconditionally.
79728
79729         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
79730         prototypes.
79731         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
79732         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
79733         (getenv): Remove decl.
79734         (fnmatch): Define using a prototype.
79735         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
79736         (FCT): Define using a prototype.
79737
79738         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
79739
79740         * lib/gethostname.c: Include <stddef.h>.
79741         (gethostname): Define with prototype.  Length is size_t, not int.
79742
79743 2003-09-08  Paul Eggert  <eggert@twinsun.com>
79744
79745         Assume C89 or better; remove K&R cruft.
79746         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
79747         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
79748         string.h, getenv, malloc.
79749         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
79750         headers.
79751         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
79752         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
79753         do not check for strerror.
79754         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
79755         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
79756         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
79757         do not check for doprnt or vprintf.
79758         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
79759         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
79760
79761 2003-09-08  Paul Eggert  <eggert@twinsun.com>
79762
79763         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
79764         getversion.c should have been removed then, but was accidentally
79765         preserved.
79766
79767         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
79768         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
79769
79770 2003-09-08  Karl Berry  <karl@gnu.org>
79771
79772         * config/config.sub, config.guess, srclistvars.sh: update from savannah
79773                 config, forget about prep.
79774
79775         * config/depcomp, missing: update from automake.
79776
79777 2003-09-07  Paul Eggert  <eggert@twinsun.com>
79778
79779         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
79780         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
79781
79782 2003-09-07  Paul Eggert  <eggert@twinsun.com>
79783
79784         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
79785         copy_tm_result.  Bug reported by Simon Josefsson in
79786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
79787
79788 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79789
79790         * m4/time_r.m4: New file.
79791         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
79792         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
79793         is. Check for timegm declaration.
79794         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
79795         Do not check for gmtime_r.
79796         Replace mktime if __mktime_internal does not exist and if mktime
79797         hasn't been replaced already.
79798
79799 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79800
79801         * lib/time_r.c, lib/time_r.h: New files.
79802
79803         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
79804         __localtime_r.
79805         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
79806         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
79807
79808         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
79809         __gmtime_r.
79810         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
79811         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
79812         Include <time_r.h>.
79813
79814         * lib/timegm.c: Switch to glibc implementation, with the following
79815         changes:
79816         [defined HAVE_CONFIG_H]: Include <config.h>.
79817         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
79818         (__mktime_internal) [!defined _LIBC]: New decl.
79819         (__gmtime_r) [!defined _LIBC]: New macro and function.
79820         (timegm): Use a prototype, since gnulib assumes C89.
79821         Do not bother declaring tmp to be const, as it's not really usefu.
79822         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
79823         (timegm): Declare only if HAVE_DECL_TIMEGM.
79824
79825 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79826
79827         * MODULES.html.sh (func_all_modules): Add time_r.
79828         * modules/time_r: New file.
79829         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
79830         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
79831
79832 2003-09-03  Paul Eggert  <eggert@twinsun.com>
79833
79834         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
79835         Bug reported by Lute Kamstra in
79836         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
79837
79838         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
79839         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
79840         course with correspondingly smaller numbers for tomorrow and
79841         yesterday.  From Tadayoshi Funaba.  Originally installed into
79842         sh-utils on 1999-08-07, but the patch got lost (I guess during the
79843         coreutils merge?).
79844
79845 2003-08-31  Simon Josefsson  <jas@extundo.com>
79846
79847         * modules/timegm: New file.
79848         * MODULES.html.sh (func_all_modules): Add timegm.
79849
79850 2003-08-31  Simon Josefsson  <jas@extundo.com>
79851
79852         * m4/timegm.m4: New file.
79853
79854 2003-08-31  Simon Josefsson  <jas@extundo.com>
79855
79856         * lib/timegm.h: New file.
79857         * lib/timegm.c: New file.  Based on
79858         wget-1.8.2/src/http.c:mktime_from_utc.
79859
79860 2003-08-31  Karl Berry  <karl@gnu.org>
79861
79862         * lib/argp.h: update from libc.
79863
79864 2003-08-28  Bruno Haible  <bruno@clisp.org>
79865
79866         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
79867         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
79868         followed by '#define fnmatch fnmatch_posix' gives an error.
79869
79870 2003-08-28  Bruno Haible  <bruno@clisp.org>
79871
79872         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
79873         warning on QNX, which defines O_BINARY to 000000.
79874
79875 2003-08-27  Jim Meyering  <jim@meyering.net>
79876
79877         * m4/mkstemp.m4: Require that the system mkstemp be able to create
79878         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
79879         would fail after 32.  Reported by Danny Levinson.  Details here:
79880         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
79881
79882 2003-08-24  Bruno Haible  <bruno@clisp.org>
79883
79884         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
79885         MSVC7 <stdio.h> is included later.
79886
79887 2003-08-22  Simon Josefsson  <jas@extundo.com>
79888
79889         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
79890
79891 2003-08-20  Karl Berry  <karl@gnu.org>
79892
79893         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
79894
79895 2003-08-20  Bruno Haible  <bruno@clisp.org>
79896
79897         * modules/progname: New file.
79898         * MODULES.html.sh (func_all_modules): Add progname.
79899
79900 2003-08-20  Bruno Haible  <bruno@clisp.org>
79901
79902         * lib/progname.h: New file, from GNU gettext.
79903         * lib/progname.c: New file, from GNU gettext.
79904         * lib/progreloc.c: New file, from GNU gettext.
79905
79906 2003-08-19  Jim Meyering  <jim@meyering.net>
79907
79908         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
79909         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
79910
79911 2003-08-19  Bruno Haible  <bruno@clisp.org>
79912
79913         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
79914         more.
79915
79916 2003-08-19  Bruno Haible  <bruno@clisp.org>
79917
79918         * lib/xstrdup.c: Assume <string.h> exists.
79919
79920 2003-08-18  Paul Eggert  <eggert@twinsun.com>
79921
79922         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
79923         in makefile rules.
79924
79925 2003-08-18  Jim Meyering  <jim@meyering.net>
79926
79927         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
79928         * m4/lib-ld.m4: Likewise.
79929
79930 2003-08-18  Jim Meyering  <jim@meyering.net>
79931
79932         * lib/setenv.h: Indent nested cpp directive.
79933         * lib/vasnprintf.c: Remove trailing blanks.
79934
79935 2003-08-17  Simon Josefsson  <jas@extundo.com>
79936
79937         * modules/xstrndup: New file.
79938         * MODULES.html.sh (func_all_modules): Add xstrndup.
79939
79940 2003-08-17  Simon Josefsson  <jas@extundo.com>
79941
79942         * modules/argp: Fix autoconf macro name. Add more dependencies.
79943
79944 2003-08-17  Simon Josefsson  <jas@extundo.com>
79945
79946         * m4/xstrndup.m4: New file.
79947
79948 2003-08-17  Simon Josefsson  <jas@extundo.com>
79949
79950         * m4/argp.m4: New file.
79951
79952 2003-08-17  Simon Josefsson  <jas@extundo.com>
79953             Bruno Haible  <bruno@clisp.org>
79954
79955         * lib/xstrndup.h: New file.
79956         * lib/xstrndup.c: New file.
79957
79958 2003-08-17  Bruno Haible  <bruno@clisp.org>
79959
79960         * modules/strndup (Files, Include): Add lib/strndup.h.
79961
79962 2003-08-17  Bruno Haible  <bruno@clisp.org>
79963
79964         * modules/euidaccess (Files): Add lib/euidaccess.h.
79965
79966 2003-08-17  Bruno Haible  <bruno@clisp.org>
79967
79968         * lib/strndup.h: New file.
79969
79970 2003-08-17  Bruno Haible  <bruno@clisp.org>
79971
79972         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
79973         like AC_GNU_SOURCE.
79974         * modules/extensions (configure.ac): Comment out the invocation of
79975         gl_USE_SYSTEM_EXTENSIONS.
79976
79977 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79978
79979         Merges from coreutils, etc.
79980         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
79981         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
79982         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
79983         fixing a typo.
79984         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
79985         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
79986
79987 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79988
79989         Document merge from coreutils.
79990         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
79991         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
79992         * modules/utime: Add m4/utimes-null.m4.
79993
79994 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79995
79996         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
79997         space, undoing this 2003-08-12 change:
79998         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
79999
80000 2003-08-16  Paul Eggert  <eggert@twinsun.com>
80001
80002         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
80003         strtoul.c from libc, undoing this 2003-08-12 change:
80004         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
80005
80006 2003-08-16  Jim Meyering  <jim@meyering.net>
80007
80008         Merges from coreutils.
80009         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
80010         prefix.  Adjust cache variables similarly.  Create 500 rather than
80011         just 300 files, to exercise bug on Darwin6.5, too.
80012         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
80013         $missing_dir.
80014         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
80015         AM_SYS_POSIX_TERMIOS.
80016         Reported by mkc@mathdogs.com.
80017         Also change use of $am_cv_sys_posix_termios
80018         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
80019         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
80020         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
80021         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
80022         in /proc/mounts until it finds one with matching device number.  This
80023         is unnecessary when the FILE argument *is* a mount point.  No stat call
80024         is necessary in that case.  So, disable the statvfs-testing code on
80025         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
80026         as RedHat bug# 84846.
80027         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
80028         to 1MB, so as not to render systems with no stack size limit (e.g.,
80029         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
80030         Include <unistd.h>.  On some systems,
80031         it is required for the definition of _SC_PAGESIZE.
80032
80033 2003-08-16  Jim Meyering  <jim@meyering.net>
80034
80035         Merge from coreutils.
80036         * lib/xstrtoimax.c: #else #if -> #elif.
80037         * lib/xstrtoumax.c: Likewise.
80038
80039 2003-08-16  Jim Meyering  <jim@meyering.net>
80040
80041         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
80042         * m4/utimes.m4: Removed.
80043         * m4/utimes-null.m4: Renamed from utimes.m4.
80044
80045         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
80046         to 1MB, so as not to render systems with no stack size limit (e.g.,
80047         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
80048         Include <unistd.h>.  On some systems,
80049         it is required for the definition of _SC_PAGESIZE.
80050
80051 2003-08-16  Jim Meyering  <jim@meyering.net>
80052         and Paul Eggert  <eggert@cs.ucla.edu>
80053
80054         Merges from coreutils, etc.
80055
80056         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
80057         using the latest version from cvs.  This avoids problems with #line
80058         directives using a vendor (Sun) compiler.
80059         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
80060         Don't set GETGROUPS_LIB here; now it's
80061         done via getgroups.m4's wrapper function.
80062         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
80063         rather than just in sh-util/configure.in, so that the
80064         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
80065         same.
80066         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
80067         AC_FUNC_GETLOADAVG where to find getloadavg.c.
80068         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
80069         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
80070         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
80071         Remove code that is now done by the newly-required macros.
80072         Append $(EXEEXT) to DF_PROG.
80073         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
80074         Do not invoke or require the following here,
80075         since prereq.m4 or some gnulib .m4 now does this for us:
80076         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
80077         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
80078         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
80079         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
80080         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
80081         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
80082         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
80083         AC_FUNC_OBSTACK.
80084         Do not replace the following functions, as this is now the job
80085         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
80086         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
80087         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
80088         atexit getpass, strdup, getpagesize.
80089         Replace 'raise'.
80090         Do not check for the following functions, as this is now the job
80091         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
80092         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
80093         setregid.
80094         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
80095         Check for sys/sysctl.h.
80096         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
80097         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
80098         of checking for ssize_t ourselves.
80099
80100         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
80101         Require every macro that gnulib/modules/* suggests for us.
80102         (jm_PREREQ_ADDEXT): New macro.
80103         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
80104         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
80105
80106         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
80107         (gl_PHYSMEM): Use it.
80108         Also check for `table' function.
80109         Check for new headers and functions.
80110         Add check for sys/sysmp.h.
80111         With suggestions from Kaveh Ghazi.
80112         Ignore headers that are present but cannot be compiled.  This
80113         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
80114         C 5.4.
80115
80116 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80117
80118         Document merge from coreutils.
80119         * modules/userspec: Depend on posixver.
80120         * modules/strftime: Depend on tzset.
80121
80122 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80123
80124         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
80125         rather than tab, after '#' in shell-script copyright notices.
80126         Suggested by Bruno Haible.
80127
80128 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80129
80130         * config/srclist-update: Use three spaces, rather than tab, after '#'
80131         in shell-script copyright notices.  Suggested by Bruno Haible.
80132         Remove unnecessary parenthesization in regular expression.
80133
80134 2003-08-15  Jim Meyering  <jim@meyering.net>
80135
80136         Merge from coreutils.
80137         * lib/xgethostname.c: Include <stdlib.h>.
80138         (xghostname): Don't exit for anything other than memory-related
80139         failure; just return NULL.
80140         * lib/userspec.c: Include "posixver.h".
80141         (parse_user_spec): Accept `.' as a separator only
80142         in pre-POSIX-200112 mode.
80143         * lib/strtoimax.c: Use #elif rather than #else #if.
80144         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
80145         Remove function, now that we can rely on a working tzset function.
80146         [!_LIBC]: Ensure that the required autoconf test has been run.
80147         [!defined _NL_CURRENT && HAVE_STRFTIME]:
80148         Use underlying_strftime for %r.
80149         * lib/sha.c: Merge in some clean-up and optimization changes from
80150         glibc.
80151         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
80152         Ensure that it is a multiple of 64.
80153         Rearrange loop exit tests so as to avoid performing an
80154         additional fread after encountering an error or EOF.
80155         * lib/realloc.c: Update copyright date.
80156
80157 2003-08-15  Jim Meyering  <jim@meyering.net>
80158         and Paul Eggert  <eggert@twinsun.com>
80159
80160         Merge from coreutils.
80161         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
80162         member but strut utmpx does not.  Needed for AIX 4.3.3.
80163         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
80164
80165 2003-08-15  Jim Meyering  <jim@meyering.net>
80166         and Paul Eggert  <eggert@cs.ucla.edu>
80167
80168         Merges from coreutils, etc.
80169         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
80170         Require gl_FUNC_TZSET_CLOBBER.
80171         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
80172         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
80173         members.
80174
80175 2003-08-14  Paul Eggert  <eggert@twinsun.com>
80176
80177         Help the merge from coreutils.
80178         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
80179         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
80180         * m4/tzset.m4: Use it too.
80181
80182 2003-08-14  Paul Eggert  <eggert@twinsun.com>
80183
80184         * modules/tzset: New file.
80185
80186 2003-08-14  Jim Meyering  <jim@meyering.net>
80187
80188         Merges from coreutils.
80189         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
80190         variable names, rather than @FNMATCH_H@.
80191         * modules/alloca: Likewise for $(ALLOCA_H).
80192
80193         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
80194         the three copies of the literal target, `fnmatch.h'.
80195         * modules/alloca (alloca.h): Likewise.
80196
80197 2003-08-14  Jim Meyering  <jim@meyering.net>
80198
80199         Merge from coreutils.
80200         * m4/tzset.m4: New file.
80201         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
80202         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
80203         otherwise, AIX 5.1 systems would end up using the latter.
80204         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
80205         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
80206         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
80207         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
80208
80209 2003-08-14  Jim Meyering  <jim@meyering.net>
80210
80211         Merge from coreutils.
80212         * lib/obstack.h: Whitespace changes.
80213         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
80214         and xcalloc return values.
80215         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
80216         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
80217         hang on OSF/1 5.1 for DIR on both local and remote file systems.
80218         Reported by (and fix confirmed by) Nelson H. F. Beebe.
80219         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
80220         error from mntctl.
80221         Use mntctl's return value to drive the entry-processing loop, since
80222         we can't rely on the value of the vmt_length member in the last
80223         entry.  On some systems doing so could result in exhausting
80224         virtual memory.  Based in part on a patch from Mike Jetzer.
80225
80226 2003-08-14  Jim Meyering  <jim@meyering.net>
80227         and Paul Eggert  <eggert@twinsun.com>
80228
80229         Merges from coreutils, plus other fixes.
80230         * lib/physmem.c: Merge in portability changes from gcc/libiberty
80231         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
80232         for credits and details.  Thanks to Kaveh Ghazi for helping
80233         to keep these files in sync.
80234         (ARRAY_SIZE): Define it.
80235         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
80236         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
80237         (memcasecmp): Don't assume size_t fits in unsigned int.
80238         Remove casts and duplicate code.
80239         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
80240         (memcpy): Remove definition.
80241         Merge in some clean-up and optimization changes from glibc.
80242         [BLOCKSIZE]: Move definition to top of file.
80243         Ensure that it is a multiple of 64.
80244         Rearrange loop exit tests so as to avoid performing an
80245         additional fread after encountering an error or EOF.
80246         * lib/md5.h (md5_uintptr): Define.
80247         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
80248         return to the initial working directory.  Preserve errno
80249         for caller.
80250         * lib/idcache.c: Include "xalloc.h".
80251         (xmalloc, xrealloc): Remove decls.
80252         (getuser): Remove casts no longer required in C89.
80253         * lib/human.c: Include stdio.h, for sprintf.
80254         * lib/group-member.c: Include "xalloc.h".
80255         (xmalloc, xrealloc): Remove decls.
80256         (get_group_info): Remove casts no longer required in C89.
80257         * lib/getusershell.c (readname): Remove casts no longer required in
80258         C89.
80259         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
80260         * lib/getline.c: Whitespace fix, from coreutils.
80261
80262 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80263
80264         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
80265         Check for isascii.
80266
80267         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
80268         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
80269         Undo previous (whitespace-only) change.
80270
80271 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80272
80273         * lib/exclude.c: Include <ctype.h>
80274         (IN_CTYPE_DOMAIN): New macro.
80275         (is_space): New fn.
80276         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
80277         and empty lines.
80278
80279         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
80280         Undo previous (whitespace-only) change.
80281
80282 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80283
80284         * config/srclist-update: Change update back to the old behavior,
80285         leaving whitespace alone.  Use one 'sed' command rather than a
80286         pipeline.
80287         (fixlicense): Now a variable, not a function.
80288         (remove_trailing_blanks): Remove.
80289         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
80290         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
80291         Undo previous (whitespace-only) change.
80292
80293 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80294
80295         Merge from coreutils.
80296         * modules/euidaccess: Add lib_SOURCES, include for new
80297         file euidaccess.h
80298
80299 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80300
80301         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
80302         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
80303         Normalize leading white space and remove trailing white space.
80304
80305         Merge from coreutils
80306         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
80307
80308         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
80309         0.12.1.  These files are now being upgraded automatically by
80310         ../config/srclist-update.
80311
80312 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80313
80314         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
80315         Normalize leading white space and remove trailing white space.
80316         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
80317         notice, as per ../config/srclist-update.
80318
80319         Merge from coreutils.
80320         * lib/euidaccess.h: New file.
80321         * lib/euidaccess.c: Include it.
80322         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
80323         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
80324         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
80325
80326 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80327
80328         * config/srclist-update: Add copyright notice.
80329         (remove_id_lines, remove_trailing_blanks): New constants.
80330         (fixfile): Use them to normalize spacing a bit in copied files.
80331         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
80332         Normalize leading white space and remove trailing white space.
80333
80334         * config/texinfo.tex: Sync with texinfo.
80335
80336         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
80337         strtoul.c from libc, to merge coreutils whitespace changes.
80338
80339         * config/srclist.txt: Get the following m4 files from gettext:
80340         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
80341         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
80342         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
80343         wint_t.m4.
80344
80345 2003-08-12  Karl Berry  <karl@gnu.org>
80346
80347         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
80348         been made.
80349
80350 2003-08-11  Paul Eggert  <eggert@twinsun.com>
80351
80352         * modules/gnu-source, m4/gnu-source.m4:
80353         Remove; we're assuming Autoconf 2.54 or later now.
80354         Suggested by Bruno Haible.
80355         * MODULES.html.sh (func_all_modules): Remove gnu-source.
80356
80357 2003-08-11  Bruno Haible  <bruno@clisp.org>
80358
80359         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
80360
80361 2003-08-11  Bruno Haible  <bruno@clisp.org>
80362
80363         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
80364         (vasnprintf): Use it instead of wcslen.
80365
80366 2003-08-11  Bruno Haible  <bruno@clisp.org>
80367
80368         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
80369         value to ensure that _Bool promotes to int. Use #define for _Bool when
80370         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
80371
80372 2003-08-10  Karl Berry  <karl@gnu.org>
80373
80374         * lib/regex.h: update from libc (whitespace fix).
80375
80376 2003-08-09  Paul Eggert  <eggert@twinsun.com>
80377
80378         Merge some files from coreutils.  These changes were
80379         originally made by Jim Meyering.
80380         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
80381         many older Unixes require this.
80382         * lib/alloca.c (alloca): Remove cast to argument of free;
80383         no longer needed in C89.
80384         * lib/alloca_.h, regex.h: Fix white space to match
80385         what GNU indent does.
80386
80387 2003-08-09  Paul Eggert  <eggert@twinsun.com>
80388
80389         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
80390         apparently Emacs's Unicode mode got confused before my 2003-08-05
80391         checkin.
80392
80393 2003-08-08  Paul Eggert  <eggert@twinsun.com>
80394
80395         * m4/extensions.m4: New file.
80396         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
80397         Require gl_USE_SYSTEM_EXTENSIONS.
80398         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
80399         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
80400
80401 2003-08-08  Paul Eggert  <eggert@twinsun.com>
80402
80403         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
80404         * modules/extensions, modules/gnu-source: New files.
80405         * modules/timespec, modules/unlocked-io: Depend on extensions.
80406
80407 2003-08-07  Paul Eggert  <eggert@twinsun.com>
80408
80409         * modules/restrict: New file.
80410         * MODULES.html.sh (func_all_modules): Add restrict.
80411         * modules/regex: Depend on restrict.
80412
80413 2003-08-07  Paul Eggert  <eggert@twinsun.com>
80414
80415         * m4/restrict.m4: New file.
80416         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
80417
80418 2003-08-07  Bruno Haible  <bruno@clisp.org>
80419
80420         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
80421         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
80422
80423 2003-08-07  Bruno Haible  <bruno@clisp.org>
80424
80425         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
80426         makes the module 'getndelim2' compatible with the module 'getline'.
80427
80428 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80429
80430         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
80431         byte with "\201" to avoid glitches when editing that source file
80432         with multi-gnome-terminal.
80433
80434 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80435
80436         * lib/bumpalloc.h: Remove.
80437
80438 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80439
80440         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
80441         * modules/bumpalloc: Remove.
80442
80443 2003-08-04  Paul Eggert  <eggert@twinsun.com>
80444
80445         * lib/getloadavg.c: Change copyright notice and spacing to conform to
80446         GNU coding style.
80447
80448         Merge from coreutils.
80449         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
80450         1. From glibc.
80451         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
80452         from Karl Berry, implemented by Jim Meyering.
80453         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
80454         from Dmitry V. Levin.
80455         Remove anachronistic cast of xrealloc.
80456         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
80457         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
80458         type. Otherwise, it wouldn't compile with at least /bin/cc on
80459         ymp-cray-unicos9.0.2.X.
80460         Combine two mostly-identical uses of alloca into one.
80461         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
80462
80463 2003-08-04  Dave Love  <d.love@dl.ac.uk>
80464
80465         [From Emacs.]
80466
80467         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
80468         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
80469         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
80470         obsolete NLIST_NAME_UNION.
80471         [__GNU__]: Undef BSD and FSCALE.
80472         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
80473
80474 2003-08-03  Paul Eggert  <eggert@twinsun.com>
80475
80476         * lib/stdbool_.h (_Bool): Make it signed char, instead of
80477         an enum type, so that it's guaranteed to promote to int.  See:
80478         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
80479
80480 2003-08-03  Karl Berry  <karl@gnu.org>
80481
80482         * config/depcomp: update from automake.
80483
80484 2003-07-31  Paul Eggert  <eggert@twinsun.com>
80485
80486         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
80487         (strerror): Don't assume that a printable int fits in 14 bytes.
80488
80489 2003-07-31  Bruno Haible  <bruno@clisp.org>
80490
80491         * modules/getpass-gnu: New file.
80492         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
80493
80494 2003-07-31  Bruno Haible  <bruno@clisp.org>
80495
80496         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
80497
80498 2003-07-24  Karl Berry  <karl@gnu.org>
80499
80500         * config/missing: update from automake.
80501
80502 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
80503             Bruno Haible  <bruno@clisp.org>
80504
80505         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
80506         * lib/getline.c (getline, getdelim): Likewise.
80507         Remove _GNU_SOURCE define; now it's defined in config.h through
80508         m4/getline.m4.
80509
80510 2003-07-23  Karl Berry  <karl@gnu.org>
80511
80512         * config/config.sub: update from prep.
80513
80514 2003-07-22  Paul Eggert  <eggert@twinsun.com>
80515
80516         * modules/xalloc (Depends-on): Add exitfail.
80517         * modules/xmemcoll: Likewise.
80518
80519 2003-07-22  Paul Eggert  <eggert@twinsun.com>
80520
80521         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
80522         over-parenthesization in macros.
80523
80524         Sync with coreutils.
80525
80526         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
80527         required by C99.
80528
80529         Use `exit_failure' for xalloc and xmemcoll instead of their own
80530         private exit-failure variables.
80531         * lib/xalloc.h (xalloc_exit_failure): Remove.
80532         * lib/xmalloc.c: Likewise.  Include exitfail.h.
80533         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
80534         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
80535         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
80536         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
80537
80538 2003-07-20  Jim Meyering  <jim@meyering.net>
80539
80540         * modules/closeout (Depends-on): Add exitfail.
80541         Suggestion from Bruno Haible.
80542
80543 2003-07-19  Karl Berry  <karl@gnu.org>
80544
80545         * config/config.sub: update from prep.
80546
80547 2003-07-18  Paul Eggert  <eggert@twinsun.com>
80548
80549         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
80550         Remove.
80551         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
80552         to test that it can stand by itself.  Include "exitfail.h".
80553         Clients should set exit_failure instead.
80554         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
80555
80556 2003-07-18  Bruno Haible  <bruno@clisp.org>
80557
80558         * modules/getndelim2: New file.
80559         * modules/getline: Share files with module getndelim2.
80560         * modules/getnline: Depend on getndelim2 instead of sharing files with
80561         it. Add getnline.c to lib_SOURCES.
80562         * MODULES.html.sh (func_all_modules): Add getndelim2.
80563
80564 2003-07-18  Bruno Haible  <bruno@clisp.org>
80565
80566         * m4/getndelim2.m4: New file.
80567         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
80568         invoke gl_PREREQ_GETNDELIM2.
80569         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
80570         gl_PREREQ_GETNDELIM2.
80571         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
80572         gl_GETNDELIM2.
80573
80574 2003-07-18  Bruno Haible  <bruno@clisp.org>
80575
80576         * lib/getndelim2.h: New file.
80577         * lib/getndelim2.c: Make into a module of its own. Include config.h,
80578         getndelim2.h.
80579         (getndelim2): Make non-static. Change return type to ssize_t.
80580         * lib/getline.h: Change argument names.
80581         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
80582         * lib/getnline.c: Include getndelim2.h.
80583
80584 2003-07-18  Andreas Schwab  <schwab@suse.de>
80585
80586         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
80587
80588 2003-07-17  Karl Berry  <karl@gnu.org>
80589
80590         * config/config.sub: update from prep.
80591
80592 2003-07-17  Bruno Haible  <bruno@clisp.org>
80593
80594         * modules/getnline: New file.
80595         * modules/getline: Add lib/getndelim2.c to source file list.
80596         * MODULES.html.sh (func_all_modules): Add getnline.
80597
80598 2003-07-17  Bruno Haible  <bruno@clisp.org>
80599
80600         * m4/getnline.m4: New file.
80601
80602 2003-07-17  Bruno Haible  <bruno@clisp.org>
80603
80604         * m4/Makefile.am.in: Remove file.
80605         * m4/Makefile.am: Remove file.
80606         * m4/Makefile.in: Remove file.
80607
80608 2003-07-17  Bruno Haible  <bruno@clisp.org>
80609
80610         * lib/getnline.h: New file.
80611         * lib/getnline.c: New file.
80612         * lib/getndelim2.c: New file, extracted from getline.c.
80613         (getndelim2): Renamed from getdelim2, with added nmax argument.
80614         * lib/getline.c: Include getndelim2.c.
80615         (getdelim2): Moved out to getndelim2.c.
80616         (getline, getdelim): Update.
80617
80618 2003-07-17  Bruno Haible  <bruno@clisp.org>
80619
80620         * lib/Makefile.am: Remove file.
80621         * lib/Makefile.in: Remove file.
80622
80623 2003-07-17  Bruno Haible  <bruno@clisp.org>
80624
80625         * configure.in: Remove file.
80626         * Makefile.in: Remove file.
80627
80628 2003-07-17  Bruno Haible  <bruno@clisp.org>
80629
80630         * MODULES.html.sh: Put the </BODY> right before </HTML>.
80631
80632 2003-07-16  Karl Berry  <karl@gnu.org>
80633
80634         * config/srclist-update: was running fixlicense twice, which caused
80635                 texinfo.tex to be nullified for some reason.  Simplify,
80636                 $gplsrc is no longer needed as far as I can see?
80637
80638 2003-07-16  Jim Meyering  <jim@meyering.net>
80639
80640         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
80641
80642 2003-07-15  Paul Eggert  <eggert@twinsun.com>
80643
80644         * config/srclist.txt: Get the following files from gettext-runtime/intl
80645         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
80646         ref-del.sin.  From Bruno Haible.
80647         * config/srclist-update (fixfile): Change grep pattern again, since the
80648         previous fix didn't work (there was another trailing $).  Use
80649         '[$]' to escape the $s.
80650
80651 2003-07-15  Karl Berry  <karl@gnu.org>
80652
80653         * lib/vasnprintf.c: update from gettext.
80654
80655 2003-07-15  Karl Berry  <karl@gnu.org>
80656
80657         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
80658         gets expanded when surrounded by '$'.
80659
80660 2003-07-15  Jim Meyering  <jim@meyering.net>
80661
80662         * modules/save-cwd: Don't depend on error.  From Derek Price.
80663
80664 2003-07-15  Jim Meyering  <jim@meyering.net>
80665
80666         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
80667
80668 2003-07-14  Simon Josefsson  <jas@extundo.com>
80669
80670         * modules/mempcpy: New file.
80671         * MODULES.html.sh (func_all_modules): Add mempcpy.
80672
80673 2003-07-14  Simon Josefsson  <jas@extundo.com>
80674
80675         * m4/mempcpy.m4: New file.
80676
80677 2003-07-14  Simon Josefsson  <jas@extundo.com>
80678
80679         * lib/mempcpy.h: New file.
80680         * lib/mempcpy.c: New file.
80681
80682 2003-07-14  Paul Eggert  <eggert@twinsun.com>
80683
80684         * modules/getdate, modules/posixtm: Depend on mktime.
80685
80686 2003-07-14  Paul Eggert  <eggert@twinsun.com>
80687
80688         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
80689         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
80690         unicodeio.c, unicodeio.h, unlocked-io.h:
80691         Switch from LGPL to GPL.
80692
80693 2003-07-14  Paul Eggert  <eggert@twinsun.com>
80694
80695         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
80696         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
80697         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
80698         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
80699         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
80700         updated automatically by ../config/srclist-update.  This changes
80701         their license from LPGL to GPL.
80702
80703 2003-07-14  Paul Eggert  <eggert@twinsun.com>
80704
80705         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
80706         assumed to refer to the root of the most recent stable gettext version.
80707         * config/srclistvars.sh: Add defaults for eggert.
80708         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
80709         Match "This program" as well as "The program".  This is needed
80710         for gettext.
80711
80712 2003-07-14  Jim Meyering  <jim@meyering.net>
80713
80714         Don't emit diagnostics.  Let callers do that.
80715         * lib/save-cwd.c: Don't include "error.h".
80716         (save_cwd): Don't call error.  Ensure that errno is valid
80717         when returning nonzero.
80718
80719         * lib/save-cwd.h (restore_cwd): Update prototype.
80720         * lib/save-cwd.c (restore_cwd): Remove two parameters.
80721         Simplify.  Don't call error upon failure.  Let callers do that.
80722         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
80723         when auditing is enabled.  But don't bother updating the #if.
80724
80725 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
80726
80727         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
80728         it breaks C++ compilation.
80729         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
80730
80731 2003-07-10  Simon Josefsson  <jas@extundo.com>
80732
80733         * modules/strchrnul (Makefile.am): Add strchrnul.h.
80734
80735 2003-07-10  Jim Meyering  <jim@meyering.net>
80736
80737         * m4/clock_time.m4: Remove trailing blank.
80738         * m4/intmax_t.m4: Likewise.
80739
80740 2003-07-10  Jim Meyering  <jim@meyering.net>
80741
80742         * lib/vasnprintf.c: Remove trailing blanks.
80743         Make cpp indentation consistent.
80744
80745 2003-07-09  Paul Eggert  <eggert@twinsun.com>
80746
80747         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
80748         posixver.c, strftime.c, strnlen.c, strverscmp.c:
80749         Switch from LGPL to GPL.
80750
80751 2003-07-09  Paul Eggert  <eggert@twinsun.com>
80752
80753         * config/srclist.txt: Sort sublists.  Add
80754         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
80755         that differ from gnulib for one reason or another; we'd like this list
80756         to be smaller but for now let's document what we have.
80757
80758 2003-07-08  Paul Eggert  <eggert@twinsun.com>
80759
80760         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
80761         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
80762         and sweeter "eval x=$x".
80763         * config/srclist.txt: Get lib/argp* from glibc.
80764
80765 2003-07-07  Paul Eggert  <eggert@twinsun.com>
80766
80767         * lib/mktime.c: Fix some boundary cases and remove need for floating
80768         point.
80769
80770         Issue a compile-time diagnostic if time_t is floating point, or if
80771         two's complement arithmetic is not in effect, or if arithmetic
80772         right shift does not propagate the sign.  These assumptions were
80773         all in the original code but they weren't checked.
80774
80775         (TIME_T_MIDPOINT, verify): New macros.
80776         (__isleap): Remove; it has integer overflow problems.
80777         (leapyear): New function, without those problems.
80778         (ydhms_tm_diff): Remove; splitting into two parts.
80779         (ydhms_diff): New function, containing the arithmetic part of
80780         the old ydhms_tm_diff function.  Issue a compile-time
80781         diagnostic if we are not using C99 integer division.
80782         Avoid casts when possible.
80783         (guess_time_tm): New function, containing the checking part of
80784         the old ydhms_tm_diff function.  Return the new value, rather than
80785         the difference between it and the old.  Accept a new argument T
80786         so that *T specifies the old value.  Check for overflow in the result.
80787
80788         (__mktime_internal): Use a time_t offset, not a long int offset.
80789         This undoes the 2003-06-04 change, which is no longer needed now
80790         that we have better overflow checking.
80791         (localtime_offset): Likewise.
80792
80793         (__mktime_internal): Avoid harmful overflow on hosts where time_t
80794         and long are 64-bit but int is only 32-bit.
80795         (ydhms_diff): Use long int to store year1 and yday1.
80796         Issue a compile-time diagnostic if long int is not wide enough.
80797
80798         (__mktime_internal): Use long int to store adjusted year and yday.
80799         Use plain C rather than preprocessor commands, if that doesn't
80800         affect efficiency.
80801         Check for overflow (and try to repair) after each probe
80802         rather than checking only at the very end.  This avoids some bugs
80803         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
80804         does not equal GMT offset at maximum time).
80805         Use integer to check for overflow rather than floating point; this
80806         is more portable to non-IEEE hosts, and is a tad faster.
80807         When we detect that we are oscillating between two values,
80808         don't check whether tm_isdst has the requested value, since
80809         we already know the answer.  When tm_isdst has the wrong value,
80810         use a different heuristic to find the right one, based on the
80811         extreme values actually observed in practice in tz2003a,
80812         rather than the (overly optimistic) "previous 3 calendar quarters".
80813
80814         (not_equal_tm, print_tm, check_result): Use "const T" rather than
80815         "T const" to accommodate glibc style.
80816         (check_result): Use less-confusing report format.  "long" -> "long int.
80817         (main): Likewise.
80818         Don't loop if the iteration overflows time_t.
80819         Allow a negative step in the iteration.
80820
80821 2003-07-06  Karl Berry  <karl@gnu.org>
80822
80823         * config/depcomp: update from automake.
80824         * config/config.sub: update from prep.
80825
80826 2003-07-03  Karl Berry  <karl@gnu.org>
80827
80828         * config/config.guess: update from prep.
80829
80830 2003-07-01  Paul Eggert  <eggert@twinsun.com>
80831
80832         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
80833         xreadlink.c now includes it unconditionally.
80834
80835 2003-07-01  Paul Eggert  <eggert@twinsun.com>
80836
80837         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
80838         having it depend on HAVE_SYS_TYPES_H.
80839
80840 2003-07-01  Bruno Haible  <bruno@clisp.org>
80841
80842         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
80843         <sys/types.h> should be sufficient.
80844         Reported by Paul Eggert.
80845
80846 2003-06-26  Karl Berry  <karl@gnu.org>
80847
80848         * config/depcomp: update from automake.
80849
80850 2003-06-26  Bruno Haible  <bruno@clisp.org>
80851
80852         * modules/human: Depend on module stdbool.
80853
80854 2003-06-25  Bruno Haible  <bruno@clisp.org>
80855
80856         * modules/readlink: New file.
80857         * modules/xreadlink: Depend on it.
80858         * MODULES.html.sh (func_all_modules): Add readlink.
80859
80860 2003-06-25  Bruno Haible  <bruno@clisp.org>
80861
80862         * m4/readlink.m4: New file.
80863
80864 2003-06-25  Bruno Haible  <bruno@clisp.org>
80865
80866         * lib/readlink.c: New file.
80867
80868 2003-06-22  Karl Berry  <karl@gnu.org>
80869
80870         * config/srclist.txt: update mkinstalldirs from automake.
80871         * config/mkinstalldirs: update.
80872
80873 2003-06-22  Bruno Haible  <bruno@clisp.org>
80874
80875         Portability to mingw32.
80876         * m4/ssize_t.m4: New file, from GNU gettext.
80877         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
80878         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
80879
80880 2003-06-22  Bruno Haible  <bruno@clisp.org>
80881
80882         * modules/safe-read: Add m4/ssize_t.m4.
80883         * modules/xreadlink: Add m4/ssize_t.m4.
80884
80885 2003-06-20  Bruno Haible  <bruno@clisp.org>
80886
80887         Assume C89, so PARAMS isn't needed.
80888         * lib/unicodeio.h (PARAMS): Remove.
80889         * lib/unicodeio.c: Don't use PARAMS.
80890
80891 2003-06-18  Karl Berry  <karl@gnu.org>
80892
80893         * config/config.{guess,sub}: update from prep.
80894
80895 2003-06-18  Jim Meyering  <jim@meyering.net>
80896
80897         Merge changes from coreutils.
80898         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
80899         Remove explicit declarations of xmalloc and realloc.
80900         Include xalloc.h.
80901         (read_utmp): Remove anachronistic cast of xmalloc.
80902
80903 2003-06-17  Paul Eggert  <eggert@twinsun.com>
80904
80905         Assume C89, so PARAMS isn't needed.
80906         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
80907         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
80908         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
80909         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
80910         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
80911         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
80912         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
80913         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
80914         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
80915         lib/xstrtod.h, lib/xstrtol.h: Likewise.
80916         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
80917         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
80918         no longer needed. Anyway, config.h should always be included before any
80919         other file.
80920
80921 2003-06-11  Simon Josefsson  <jas@extundo.com>
80922
80923         * modules/sysexits: New file.
80924         * MODULES.html.sh (func_all_modules): Add sysexits.
80925
80926 2003-06-11  Simon Josefsson  <jas@extundo.com>
80927
80928         * lib/sysexit_.h: New file.
80929
80930 2003-06-11  Derek Price  <derek@ximbiot.com>
80931
80932         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
80933         necessary.
80934
80935 2003-06-11  Bruno Haible  <bruno@clisp.org>
80936
80937         * m4/sysexits.m4: New file.
80938
80939 2003-06-10  Simon Josefsson  <jas@extundo.com>
80940
80941         * lib/argp.h: New file, from glibc.
80942         * lib/argp-ba.c: New file, from glibc.
80943         * lib/argp-eexst.c: New file, from glibc.
80944         * lib/argp-fmtstream.c: New file, from glibc.
80945         * lib/argp-fmtstream.h: New file, from glibc.
80946         * lib/argp-fs-xinl.c: New file, from glibc.
80947         * lib/argp-help.c: New file, from glibc.
80948         * lib/argp-namefrob.h: New file, from glibc.
80949         * lib/argp-parse.c: New file, from glibc.
80950         * lib/argp-pv.c: New file, from glibc.
80951         * lib/argp-pvh.c: New file, from glibc.
80952         * lib/argp-xinl.c: New file, from glibc.
80953
80954 2003-06-10  Simon Josefsson  <jas@extundo.com>
80955
80956         * modules/strchrnul: New file.
80957
80958 2003-06-10  Simon Josefsson  <jas@extundo.com>
80959
80960         * modules/argp: New file.
80961
80962 2003-06-10  Simon Josefsson  <jas@extundo.com>
80963
80964         * m4/strchrnul.m4: New file.
80965
80966 2003-06-10  Simon Josefsson  <jas@extundo.com>
80967
80968         * lib/strchrnul.h: New file.
80969         * lib/strchrnul.c: New file.
80970
80971 2003-06-10  Bruno Haible  <bruno@clisp.org>
80972
80973         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
80974
80975 2003-06-07  Karl Berry  <karl@gnu.org>
80976
80977         * config/config.{guess,sub}: update from prep.
80978
80979 2003-06-07  Jim Meyering  <jim@meyering.net>
80980
80981         * modules/strtod: Use $(...) notation, not @...@ for
80982         AC_REPLACE'd variables.
80983         * modules/localcharset: Likewise.
80984
80985 2003-06-07  Jim Meyering  <jim@meyering.net>
80986
80987         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
80988         in place of my name in the copyright comment.
80989         Remove definition and uses of __P.
80990
80991         From coreutils.
80992         * lib/stat.c: Don't declare xmalloc explicitly.
80993         Instead, include "xalloc.h".
80994         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
80995         xrealloc, and xcalloc return values.
80996         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
80997         Improve comment.
80998         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
80999
81000 2003-06-07  Bruno Haible  <bruno@clisp.org>
81001
81002         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
81003         avoid AC_CONFIG_LINKS.
81004         * modules/fnmatch (Makefile.am): Use explicit creation rule for
81005         fnmatch.h, to avoid AC_CONFIG_LINKS.
81006         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
81007
81008 2003-06-07  Bruno Haible  <bruno@clisp.org>
81009
81010         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
81011         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
81012         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
81013         directory.
81014         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
81015         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
81016         directory.
81017
81018 2003-06-06  Jim Meyering  <jim@meyering.net>
81019
81020         Merge from coreutils.
81021         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
81022         Consolidate declarations and initializations of *_base* locals.
81023
81024         Merge from coreutils.
81025         This avoids a core dump on systems without GNU putenv,
81026         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
81027         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
81028         (unsetenv): New static function, from GNU libc.
81029         (rpl_putenv): Use it.
81030
81031         * lib/modechange.c: Remove trailing blanks.
81032
81033         Merge from coreutils.
81034         * lib/fsusage.c: Remove declaration of statfs.
81035         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
81036
81037         * lib/posixtm.c: Include <stdbool.h> unconditionally.
81038
81039 2003-06-06  Jim Meyering  <jim@meyering.net>
81040
81041         * lib/stdbool_.h: Renamed from stdbool.h.in.
81042
81043 2003-06-06  Jim Meyering  <jim@meyering.net>
81044             Bruno Haible  <bruno@clisp.org>
81045
81046         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
81047         Adjust Makefile.am snippet not to redirect directly to target.
81048         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
81049
81050 2003-06-05  Paul Eggert  <eggert@twinsun.com>
81051
81052         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
81053         mismatch, look in future quarters as well as past.  This fixes a
81054         bug when processing fall-backwards gaps immediately after a long
81055         period of daylight-saving time.
81056
81057         * lib/mktime.c: Assume freestanding C89 or better.
81058         (HAVE_LIMITS_H): Remove.  Assume it's 1.
81059         (__P): Remove; not used.
81060         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
81061         (mktime, not_equal_tm, print_tm, check_result,
81062         main): Use prototypes.  Use const * where appropriate.
81063         (main): Fix typo in testing code that uncovered by above changes.
81064         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
81065
81066 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81067
81068         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
81069         locale.h, localeconv.  This merges changes from coreutils.
81070
81071         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
81072         It can be removed after the next Autoconf is released.
81073         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
81074         needed.
81075
81076 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81077
81078         * lib/mktime.c: Fix Debian bug 177940
81079         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
81080         (localtime_offset): Now long int, not time_t, because we want it
81081         to be guaranteed to be signed.  All uses changed.
81082         (__mktime_internal): If overflow would occur when adding offset,
81083         don't add it.
81084
81085         Merge 'human' changes from coreutils.  Rewrite to support
81086         locale-specific notations like thousands separators.
81087         * lib/human.c: Simplify authorship notice.
81088         Include human.h immediately after config.h.
81089         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
81090         <limits.h>: Do not include, since human.h does.
81091         (SIZE_MAX, UINTMAX_MAX): New macros.
81092         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
81093         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
81094         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
81095         (power_letter): Renamed from suffixes.
81096         (generate_suffix_backwards): Remove.
81097         (adjust_value): Now takes int style (because of human.h changes)
81098         and long double value (for greater precision on some platforms).
81099         (group_number): New function.
81100         (human_readable): Use it.  Use integer options, not enum.
81101         Put the options before the sizes in the arg list.
81102         Support all the new options.
81103         The old human_readable function has been removed;
81104         use inttostr.h instead.
81105         (human_readable, default_block_size, humblock):
81106         Use uintmax_t, not int, for block sizes.
81107         (human_readable_inexact, block_size_types): Remove.
81108         (block_size_opts): New constant.
81109         (human_options): Renamed from human_block_size, with new signature
81110         that allows block sizes up to UINTMAX_MAX.  All callers changed.
81111         * lib/human.h: Add copyright and authorship notice.
81112         Include <limits.h> and <stdbool.h> unconditionally.
81113         (PARAMS): Remove.  All uses removed.
81114         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
81115         (enum human_inexact_style): Remove tag; now a nameless enum.
81116         (human_floor, human_ceiling, human_round_to_even): Now have
81117         values 2, 0, 1 rather than -1, 1, 0.
81118         (human_group_digits, human_suppress_point_zero, human_autoscale,
81119         human_base_1024, human_SI, human_B): New constants.
81120         (human_readable_inexact, human_block_size): Remove.
81121         (human_readable): Size args are now uintmax_t, not int.
81122         (human_options): New decl.
81123
81124         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
81125         unnecessary now that we assume C89 or better.  This change
81126         imported from coreutils.
81127
81128         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
81129         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
81130         in the 2003-05-30 sync from glibc.
81131
81132         .h files should stand alone, but we shouldn't include <sys/types.h>
81133         if we can get away with just <stddef.h>.
81134
81135         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
81136         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
81137         rather than <sys/types.h>, as we merely need size_t.
81138         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
81139         to get size_t.
81140         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
81141         Include <stdio.h>, to get FILE.
81142         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
81143         memcasecmp.h has included <stddef.h> and all we need is size_t.
81144         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
81145         our interface, instead of including <sys/types.h>
81146
81147 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81148
81149         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
81150         now, as glibc mktime is buggy on non-glibc systems.
81151
81152 2003-06-03  Karl Berry  <karl@gnu.org>
81153
81154         * config/config.sub: update from prep.
81155
81156 2003-06-02  Paul Eggert  <eggert@twinsun.com>
81157
81158         [from coreutils]
81159         Fix some minor time-related bugs with POSIX time arguments.
81160         Some valid time stamps were being rejected (notably -1, and
81161         time stamps before 1900 on 64-bit hosts).  And some invalid
81162         time stamps were being accepted, e.g. September 31.
81163
81164         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
81165         that we can return (time_t) -1 successfully.
81166         * lib/posixtm.c: Likewise.
81167         [HAVE_STDBOOL_H]: Include <stdbool.h>.
81168         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
81169         (t): Remove static var.
81170         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
81171         of static var.  All uses changed.
81172         (year): Do not reject years before 1900; they can occur with
81173         64-bit time_t.
81174         (posix_time_parse): Do not check for out-of-range components;
81175         that is now the caller's responsibility, since our checks were
81176         only approximations.
81177         (posixtime): Use mktime to check for out-of-range components,
81178         since it knows them exactly.
81179         If mktime returns (time_t) -1, check whether an error actually occurred
81180         by invoking localtime on -1.
81181         (main) [TEST_POSIXTIME]: Check for input data errors, and report
81182         posixtime failures better.
81183         Improve the test data (in comments only).
81184
81185 2003-06-02  Karl Berry  <karl@gnu.org>
81186
81187         * config/mkinstalldirs (version): new variable.
81188         (--version): new option.
81189         (usage): improve message.
81190
81191 2003-05-30  Karl Berry  <karl@gnu.org>
81192
81193         * lib/mktime.c: update from libc.
81194
81195 2003-05-30  Bruno Haible  <bruno@clisp.org>
81196
81197         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
81198         * config/config.rpath: Upgrade to gettext-0.12.1.
81199
81200 2003-05-30  Bruno Haible  <bruno@clisp.org>
81201
81202         * m4/gettext.m4: Upgrade to gettext-0.12.1.
81203         * m4/nls.m4: New file, from gettext-0.12.1.
81204         * m4/po.m4: New file, from gettext-0.12.1.
81205         * m4/progtest.m4: Upgrade to gettext-0.12.1.
81206
81207 2003-05-30  Bruno Haible  <bruno@clisp.org>
81208
81209         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
81210         * lib/localcharset.h: Likewise.
81211         * lib/localcharset.c: Likewise.
81212
81213 2003-05-29  Karl Berry  <karl@gnu.org>
81214
81215         * config/config.rpath: update from gettext.
81216
81217 2003-05-28  Paul Eggert  <eggert@twinsun.com>
81218
81219         Assume the headers required for C89 freestanding compilers.
81220         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
81221         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
81222         * m4/human.m4 (gl_HUMAN): Likewise.
81223         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
81224         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
81225         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81226         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
81227         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81228         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
81229
81230 2003-05-28  Paul Eggert  <eggert@twinsun.com>
81231
81232         Assume the headers required for C89 freestanding compilers.
81233         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
81234         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
81235         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
81236         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
81237         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
81238         define, since <limits.h> is guaranteed to do that.
81239         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
81240         * lib/exclude.c: Include <stdbool.h> unconditionally.
81241         * lib/tempname.c: Include <stddef.h> unconditionally.
81242         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
81243         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
81244         <stddef.h> does that.
81245         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
81246         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
81247         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
81248         needed.
81249         * lib/xstrtol.c: Likewise.
81250         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
81251         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
81252
81253         * lib/addext.c (addext): Use assignment rather than cast, to avoid
81254         warnings on some platforms.
81255
81256         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
81257         arbitrarily.
81258
81259 2003-05-26  Jim Meyering  <jim@meyering.net>
81260
81261         Merge in a change from coreutils:
81262         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
81263         that is guaranteed to be `no'.  Use `no_such_member' to indicate
81264         that condition, rather than `-1' which is slightly misleading.
81265         Change the name of the cache variable to have the gl_ prefix.
81266         Prompted by a patch from Richard Dawe for DJGPP.
81267
81268 2003-05-24  Karl Berry  <karl@gnu.org>
81269
81270         * config/config.guess: update from prep.
81271
81272 2003-05-22  Karl Berry  <karl@gnu.org>
81273
81274         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
81275
81276 2003-05-20  Karl Berry  <karl@gnu.org>
81277
81278         * config/config.guess: update from prep.
81279
81280 2003-05-18  Karl Berry  <karl@gnu.org>
81281
81282         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
81283         might actually be set by the user.
81284
81285         * config/depcomp, install-sh, mdate-sh: update from automake.
81286
81287 2003-05-17  Bruno Haible  <bruno@clisp.org>
81288
81289         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
81290         invalid expansion for AC_EGREP_CPP.
81291         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
81292         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
81293         Suggested by Akim Demaille <akim@epita.fr> in
81294         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
81295
81296 2003-05-12  Jim Meyering  <jim@meyering.net>
81297
81298         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
81299         the space-padded-by-default conversion specifiers, %e, %k, %l.
81300
81301 2003-05-12  Bruno Haible  <bruno@clisp.org>
81302
81303         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
81304         the string is longer than 4 KB.
81305
81306 2003-05-11  Karl Berry  <karl@gnu.org>
81307
81308         * config/config.{guess,sub}: update from prep.
81309
81310 2003-05-09  Bruno Haible  <bruno@clisp.org>
81311
81312         * modules/error: Add m4/strerror_r.m4 to file list.
81313
81314 2003-05-03  Bruno Haible  <bruno@clisp.org>
81315
81316         Upgrade to Unicode-4.0.
81317         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
81318         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
81319         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
81320         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
81321         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
81322         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
81323         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
81324         Change width of U+E0100..U+E01EF from 1 to 0.
81325
81326 2003-04-25  Jim Meyering  <jim@meyering.net>
81327
81328         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
81329         of type size_t, not int.
81330
81331 2003-04-25  Bruno Haible  <bruno@clisp.org>
81332
81333         * lib/copy-file.c: Include <stddef.h>, for size_t.
81334
81335 2003-04-21  Paul Eggert  <eggert@twinsun.com>
81336
81337         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
81338         code which expansion is under static control.  Patch imported from
81339         Akim Demaille's patch to Bison; see
81340         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
81341
81342 2003-04-14  Bruno Haible  <bruno@clisp.org>
81343
81344         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
81345
81346 2003-04-11  Jim Meyering  <jim@meyering.net>
81347
81348         Merge changes from Coreutils.
81349
81350         2003-03-22  Jim Meyering  <jim@meyering.net>
81351
81352         * lib/strftime.c (widen): Cast alloca return value to proper type.
81353
81354         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
81355
81356         From GNU libc.
81357         * lib/strftime.c (my_strftime): Handle very large width
81358         specifications for numeric values correctly.  Improve checks for
81359         overflow.
81360
81361         2003-01-19  Jim Meyering  <jim@meyering.net>
81362
81363         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
81364         definitions.
81365         (nl_get_alt_digit) [! defined my_strftime]: Define.
81366         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
81367         _nl_get_alt_digit and _nl_get_walt_digit.
81368
81369         * lib/strftime.c (my_strftime): Merge in locale-related changes from
81370         libc. These changes have no effect outside of _LIBC.
81371
81372 2003-04-10  Bruno Haible  <bruno@clisp.org>
81373
81374         * modules/findprog: New file.
81375         * MODULES.html.sh (func_all_modules): Add it.
81376
81377 2003-04-10  Bruno Haible  <bruno@clisp.org>
81378
81379         * m4/findprog.m4: New file.
81380         * m4/eaccess.m4: New file.
81381
81382 2003-04-10  Bruno Haible  <bruno@clisp.org>
81383
81384         * lib/findprog.h: New file, from GNU gettext.
81385         * lib/findprog.c: New file, from GNU gettext.
81386
81387 2003-04-05  Jim Meyering  <jim@meyering.net>
81388
81389         Merge changes from Coreutils.
81390
81391         * lib/exclude.h (PARAMS): Remove definition and uses.
81392         * lib/exclude.c: Remove uses of `PARAMS'.
81393
81394         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
81395         Add test-cases for DOS filenames. Declare program_name.
81396         (main): Set up program_name.  Patch by Rich Dawe.
81397
81398         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
81399         error from mntctl.
81400         Use mntctl's return value to drive the entry-processing loop, since
81401         we can't rely on the value of the vmt_length member in the last
81402         entry.  On some systems doing so could result in exhausting
81403         virtual memory.  Based in part on a patch from Mike Jetzer.
81404
81405 2003-04-04  Bruno Haible  <bruno@clisp.org>
81406
81407         * modules/linebreak: New file.
81408         * MODULES.html.sh (func_all_modules): Add it.
81409
81410 2003-04-04  Bruno Haible  <bruno@clisp.org>
81411
81412         * m4/linebreak.m4: New file.
81413
81414 2003-04-04  Bruno Haible  <bruno@clisp.org>
81415
81416         * lib/linebreak.h: New file, from GNU gettext.
81417         * lib/linebreak.c: New file, from GNU gettext with slight
81418         modifications.
81419         * lib/lbrkprop.h: New file, from GNU gettext.
81420
81421 2003-04-03  Bruno Haible  <bruno@clisp.org>
81422
81423         * modules/utf8-ucs4: New file.
81424         * modules/utf16-ucs4: New file.
81425         * modules/ucs4-utf8: New file.
81426         * modules/ucs4-utf16: New file.
81427         * MODULES.html.sh (func_all_modules): Add them.
81428
81429 2003-04-03  Bruno Haible  <bruno@clisp.org>
81430
81431         * m4/utf-ucs4.m4: New file.
81432         * m4/ucs4-utf.m4: New file.
81433
81434 2003-04-03  Bruno Haible  <bruno@clisp.org>
81435
81436         * lib/utf8-ucs4.h: New file, from GNU gettext.
81437         * lib/utf16-ucs4.h: New file, from GNU gettext.
81438         * lib/ucs4-utf8.h: New file, from GNU gettext.
81439         * lib/ucs4-utf16.h: New file, from GNU gettext.
81440
81441 2003-04-02  Bruno Haible  <bruno@clisp.org>
81442
81443         * modules/binary-io: New file.
81444         * MODULES.html.sh (func_all_modules): Add it.
81445
81446 2003-04-02  Bruno Haible  <bruno@clisp.org>
81447
81448         * lib/binary-io.h: New file, from GNU gettext.
81449
81450 2003-04-01  Bruno Haible  <bruno@clisp.org>
81451
81452         * modules/pathname: New file.
81453         * MODULES.html.sh (func_all_modules): Add it.
81454
81455 2003-04-01  Bruno Haible  <bruno@clisp.org>
81456
81457         * lib/pathname.h: New file, from GNU gettext.
81458         * lib/concatpath.c: New file, from GNU gettext.
81459
81460 2003-03-30  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
81463
81464 2003-03-30  Bruno Haible  <bruno@clisp.org>
81465
81466         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
81467         function chown() doesn't exist.
81468
81469 2003-03-28  Bruno Haible  <bruno@clisp.org>
81470
81471         * modules/copy-file: New file.
81472         * MODULES.html.sh (func_all_modules): Add it.
81473
81474 2003-03-28  Bruno Haible  <bruno@clisp.org>
81475
81476         * m4/copy-file.m4: New file.
81477
81478 2003-03-28  Bruno Haible  <bruno@clisp.org>
81479
81480         * lib/copy-file.h: New file, from GNU gettext.
81481         * lib/copy-file.c: New file, from GNU gettext.
81482
81483 2003-03-18  Jim Meyering  <jim@meyering.net>
81484
81485         * lib/quote.c (quote_n): Fix typo in comment.
81486
81487 2003-03-18  Bruno Haible  <bruno@clisp.org>
81488
81489         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
81490         checking.
81491         * m4/onceonly_2_57.m4: Likewise.
81492
81493 2003-03-17  Bruno Haible  <bruno@clisp.org>
81494
81495         * m4/onceonly.m4: Require autoconf 2.54 or newer.
81496         (m4_quote): Remove macro.
81497         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
81498
81499 2003-03-14  Jim Meyering  <jim@meyering.net>
81500
81501         Merge changes from Coreutils.
81502         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
81503         to be const, in order to avoid warnings.
81504         (obstack_room): Likewise.
81505         (obstack_empty_p): Likewise.
81506
81507 2003-03-14  Bruno Haible  <bruno@clisp.org>
81508
81509         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
81510         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
81511
81512 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81513
81514         Merge changes from Bison.
81515         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
81516         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
81517         when compiling Bison 1.875's `bitset bset = obstack_alloc
81518         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
81519         * lib/hash.c: Include <stdbool.h> unconditionally.
81520
81521 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81522
81523         * m4/onceonly.m4 (m4_quote): New macro.
81524         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
81525         Quote AC_FOREACH variable-expansions properly.
81526
81527 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81528
81529         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
81530
81531 2003-03-09  Paul Eggert  <eggert@twinsun.com>
81532
81533         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
81534         Reported by Bruce Becker; see:
81535         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
81536
81537 2003-03-03  Paul Eggert  <eggert@twinsun.com>
81538             Bruno Haible  <bruno@clisp.org>
81539
81540         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
81541         Reported by John Hughes, see
81542         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
81543
81544 2003-02-20  Bruno Haible  <bruno@clisp.org>
81545
81546         * MODULES.html.sh (func_all_modules): Add poll.
81547
81548 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81549
81550         * modules/poll: New file.
81551
81552 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81553
81554         * lib/poll_.h: New file.
81555         * lib/poll.c: New file.
81556
81557 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81558
81559         * m4/poll.m4: New file.
81560
81561 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81562
81563         * modules/mathl: New file.
81564
81565 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81566
81567         * lib/mathl.h: New file.
81568         * lib/acosl.c: New file.
81569         * lib/asinl.c: New file.
81570         * lib/atanl.c: New file.
81571         * lib/ceill.c: New file.
81572         * lib/cosl.c: New file.
81573         * lib/expl.c: New file.
81574         * lib/floorl.c: New file.
81575         * lib/frexpl.c: New file.
81576         * lib/ldexpl.c: New file.
81577         * lib/logl.c: New file.
81578         * lib/sincosl.c: New file.
81579         * lib/sinl.c: New file.
81580         * lib/sqrtl.c: New file.
81581         * lib/tanl.c: New file.
81582         * lib/trigl.c: New file.
81583         * lib/trigl.h: New file.
81584
81585 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81586
81587         * m4/mathl.m4: New file.
81588
81589 2003-02-18  Bruno Haible  <bruno@clisp.org>
81590
81591         * MODULES.html.sh (func_all_modules): Add mathl.
81592
81593 2003-02-17  Bruno Haible  <bruno@clisp.org>
81594
81595         * modules/mkdtemp: New module.
81596         * MODULES.html.sh (func_all_modules): Add it.
81597
81598 2003-02-17  Bruno Haible  <bruno@clisp.org>
81599
81600         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
81601
81602 2003-02-17  Bruno Haible  <bruno@clisp.org>
81603
81604         * lib/mkdtemp.h: New file, from GNU gettext.
81605         * lib/mkdtemp.c: New file, from GNU gettext.
81606
81607 2003-02-02  Jim Meyering  <jim@meyering.net>
81608
81609         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
81610         e.g. glibc-2.2.93.
81611
81612 2003-01-31  Bruno Haible  <bruno@clisp.org>
81613
81614         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
81615         'rpl_rename'.
81616         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
81617         'rpl_strnlen'.
81618         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
81619         'rpl_strtod'.
81620         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
81621         'rpl_utime'.
81622
81623 2003-01-31  Bruno Haible  <bruno@clisp.org>
81624
81625         * lib/rename.c: #undef rename before defining rpl_rename.
81626         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
81627
81628 2003-01-30  Bruno Haible  <bruno@clisp.org>
81629
81630         * modules/vasnprintf, modules/vasprintf: New modules.
81631         * MODULES.html.sh (func_all_modules): Add them.
81632
81633 2003-01-30  Bruno Haible  <bruno@clisp.org>
81634
81635         * m4/signed.m4: New file, from GNU gettext.
81636         * m4/longdouble.m4: New file, from GNU gettext.
81637         * m4/wchar_t.m4: New file, from GNU gettext.
81638         * m4/wint_t.m4: New file, from GNU gettext.
81639         * m4/vasnprintf.m4: New file.
81640         * m4/vasprintf.m4: New file.
81641
81642 2003-01-30  Bruno Haible  <bruno@clisp.org>
81643
81644         * lib/printf-args.h: New file, from GNU gettext.
81645         * lib/printf-args.c: New file, from GNU gettext.
81646         * lib/printf-parse.h: New file, from GNU gettext.
81647         * lib/printf-parse.c: New file, from GNU gettext.
81648         * lib/vasnprintf.h: New file, from GNU gettext.
81649         * lib/vasnprintf.c: New file, from GNU gettext.
81650         * lib/asnprintf.c: New file, from GNU gettext.
81651         * lib/vasprintf.h: New file, from GNU gettext with modifications.
81652         * lib/vasprintf.c: New file, from GNU gettext.
81653         * lib/asprintf.c: New file, from GNU gettext.
81654
81655 2003-01-29  Bruno Haible  <bruno@clisp.org>
81656
81657         * modules/stpncpy: New module.
81658         * MODULES.html.sh (func_all_modules): Add it.
81659
81660 2003-01-29  Bruno Haible  <bruno@clisp.org>
81661
81662         * m4/stpncpy.m4: New file.
81663
81664 2003-01-29  Bruno Haible  <bruno@clisp.org>
81665
81666         * lib/stpncpy.h: New file, from GNU gettext with modifications.
81667         * lib/stpncpy.c: New file, from GNU gettext with modifications.
81668
81669 2003-01-28  Bruno Haible  <bruno@clisp.org>
81670
81671         * modules/c-ctype: New module.
81672         * MODULES.html.sh (func_all_modules): Add it.
81673
81674 2003-01-28  Bruno Haible  <bruno@clisp.org>
81675
81676         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
81677         Paul Eggert.
81678         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
81679         Paul Eggert.
81680
81681 2003-01-27  Bruno Haible  <bruno@clisp.org>
81682
81683         * modules/xsetenv: New module.
81684         * MODULES.html.sh (func_all_modules): Add it.
81685
81686 2003-01-27  Bruno Haible  <bruno@clisp.org>
81687
81688         * lib/xsetenv.h: New file, from GNU gettext.
81689         * lib/xsetenv.c: New file, from GNU gettext.
81690
81691 2003-01-23  Jim Meyering  <jim@meyering.net>
81692
81693         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
81694         from working on systems without dirfd (at least Irix and OSF1/Tru64).
81695
81696 2003-01-23  Bruno Haible  <bruno@clisp.org>
81697
81698         * modules/minmax: New module.
81699         * MODULES.html.sh (func_all_modules): Add it.
81700
81701 2003-01-23  Bruno Haible  <bruno@clisp.org>
81702
81703         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
81704         Eggert.
81705
81706 2003-01-22  Bruno Haible  <bruno@clisp.org>
81707
81708         * modules/exit: New module.
81709         * MODULES.html.sh (func_all_modules): Add it.
81710
81711 2003-01-22  Bruno Haible  <bruno@clisp.org>
81712
81713         * lib/exit.h: New file, from GNU gettext.
81714
81715 2003-01-19  Bruno Haible  <bruno@clisp.org>
81716
81717         * gnulib-tool: Recognize option --extract-maintainer.
81718         (func_get_maintainer): New function.
81719         * modules/*: Add Maintainer entry.
81720
81721 2003-01-16  Jim Meyering  <jim@meyering.net>
81722
81723         * m4/regex.m4: The `regex' struct is both input and output.
81724         Initialize it before each use.  Patch by Tim Waugh.
81725
81726 2003-01-16  Bruno Haible  <bruno@clisp.org>
81727
81728         * MODULES.html.sh: Add a table of contents. Add the module name as
81729         leftmost column. Add hyperlinks.
81730
81731 2003-01-15  Bruno Haible  <bruno@clisp.org>
81732
81733         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
81734
81735 2003-01-15  Bruno Haible  <bruno@clisp.org>
81736
81737         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
81738         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
81739         suffix.
81740
81741 2003-01-15  Bruno Haible  <bruno@clisp.org>
81742
81743         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
81744
81745 2003-01-15  Bruno Haible  <bruno@clisp.org>
81746
81747         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
81748         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
81749
81750 2003-01-14  Jim Meyering  <jim@meyering.net>
81751
81752         * lib/same.c (same_name): Tweak a comment.
81753
81754 2003-01-14  Bruno Haible  <bruno@clisp.org>
81755
81756         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
81757         when a string comparison is sufficient.
81758
81759 2003-01-14  Bruno Haible  <bruno@clisp.org>
81760
81761         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
81762         'unsigned int'.
81763
81764 2003-01-14  Bruno Haible  <bruno@clisp.org>
81765
81766         * lib/hash-pjw.c: Add comment about low quality of this function.
81767
81768 2003-01-13  Bruno Haible  <bruno@clisp.org>
81769
81770         * modules/stpcpy: Distribute lib/stpcpy.h.
81771         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
81772
81773 2003-01-13  Bruno Haible  <bruno@clisp.org>
81774
81775         * modules/*: Add a description.
81776         * modules/strpbrk: Fix Makefile.am snippet.
81777         * modules/strtoimax: Fix dependencies.
81778         * modules/strtoumax: Likewise.
81779
81780 2003-01-13  Bruno Haible  <bruno@clisp.org>
81781
81782         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
81783         * modules/alloca (Makefile.am): All object files depend on alloca.h.
81784         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
81785
81786 2003-01-13  Bruno Haible  <bruno@clisp.org>
81787
81788         * gnulib-tool (func_create_testdir): Store config/* files in the main
81789         directory.
81790         * config.rpath: Move to ...
81791         * config/config.rpath: ... here.
81792         * modules/gettext: Contains config/config.rpath, not config.rpath.
81793         * modules/iconv: Likewise.
81794
81795 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81796
81797         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81798         to avoid collisions with libcurses and libreadline.
81799
81800         * m4/getstr.m4: Remove.
81801         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
81802
81803 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81804
81805         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81806         to avoid collisions with libcurses and libreadline.
81807
81808         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
81809         * lib/getstr.h, getstr.c: Remove.
81810         * lib/getline.c: Include "getline.h", to check interface.
81811         Move body of old getstr.c here: this defines MIN_CHUNK and
81812         declares getdelim2, which is renamed from getstr.
81813         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
81814
81815         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
81816         All uses changed.
81817         * lib/linebuffer.h: Likewise.
81818         (readline): Remove backward-compatibility macro.
81819
81820 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81821
81822         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81823         to avoid collisions with libcurses and libreadline.
81824         * getstr: Remove.
81825         * MODULES.html.sh: Remove getstr.
81826         * modules/getline: Depend on unlocked-io, not getstr.
81827
81828 2003-01-12  Jim Meyering  <jim@meyering.net>
81829
81830         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
81831
81832 2003-01-10  Bruno Haible  <bruno@clisp.org>
81833
81834         * modules/alloca: Change Makefile.am requirements. Simplify Include
81835         requirements. Add lib/alloca_.h to file list.
81836
81837 2003-01-10  Bruno Haible  <bruno@clisp.org>
81838
81839         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
81840
81841 2003-01-10  Bruno Haible  <bruno@clisp.org>
81842
81843         * lib/alloca_.h: New file.
81844         * lib/getdate.y: Unconditionally include alloca.h.
81845         * lib/makepath.c: Likewise.
81846         * lib/setenv.c: Likewise.
81847         * lib/userspec.c: Likewise.
81848
81849 2003-01-09  Karl Berry  <karl@gnu.org>
81850
81851         * MODULES.html.sh: include `dirname $0` in PATH, to find
81852         gnulib-tool.
81853
81854 2003-01-09  Bruno Haible  <bruno@clisp.org>
81855
81856         * modules/stdbool: Change configure.ac, Makefile.am requirements.
81857         Simplify Include requirements. Add lib/stdbool.h.in to file list.
81858
81859 2003-01-09  Bruno Haible  <bruno@clisp.org>
81860
81861         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
81862
81863 2003-01-09  Bruno Haible  <bruno@clisp.org>
81864
81865         * lib/stdbool.h.in: New file.
81866
81867 2003-01-09  Bruno Haible  <bruno@clisp.org>
81868
81869         * gnulib-tool (func_all_modules): Ignore files ending in ~.
81870         * MODULES.html.sh: Likewise.
81871
81872 2003-01-08  Jim Meyering  <jim@meyering.net>
81873
81874         * lib/full-write.c: Undefine and define-away `const' after inclusion
81875         of errno.h, not before.  Suggestion from Bruno Haible.
81876
81877 2003-01-08  Bruno Haible  <bruno@clisp.org>
81878
81879         * modules/full-read: Depend on full-write.
81880
81881 2003-01-08  Bruno Haible  <bruno@clisp.org>
81882
81883         * lib/safe-read.c: Include specification header first, to ensure its
81884         selfcontainedness.
81885         * lib/full-write.c: Likewise.
81886
81887 2003-01-07  Jim Meyering  <jim@meyering.net>
81888
81889         * lib/full-write.c: Rework so that it may serve to define full_read,
81890         too.
81891         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
81892
81893 2003-01-07  Bruno Haible  <bruno@clisp.org>
81894
81895         * lib/strtoimax.c: Include <stdint.h> as an alternative to
81896         <inttypes.h>.
81897         * lib/xstrtol.h: Likewise.
81898         * lib/xstrtoimax.c: Likewise.
81899         * lib/xstrtoumax.c: Likewise.
81900         * lib/human.h: Likewise.
81901
81902         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
81903         on systems that have <inttypes.h> but not <stdint.h>.
81904
81905 2003-01-07  Bruno Haible  <bruno@clisp.org>
81906
81907         * MODULES.html.sh: Add copyright notice.
81908         (missed_files): Omit CVS directory entries.
81909         (func_module): Make it work with sed-3.02.
81910         * MODULES.txt: Remove file.
81911
81912 2003-01-06  Jim Meyering  <jim@meyering.net>
81913
81914         * lib/version-etc.c: Update year in translatable copyright string.
81915
81916 2003-01-03  Karl Berry  <karl@gnu.org>
81917
81918         * config/config.{guess,sub}: update from prep.
81919
81920 2003-01-02  Karl Berry  <karl@gnu.org>
81921
81922         * doc/COPYING.DOC: belatedly updated to 1.2.
81923
81924 2003-01-01  Karl Berry  <karl@gnu.org>
81925
81926         * gnulib-tool (func_verify_module): report module name $module in
81927         error message, not $1.
81928         * gnulib-tool (create-testdir): don't complain if destdir couldn't
81929         be created, only if it doesn't exist.
81930         * gnulib-tool (last_checkin_date): don't expand the $Date here.
81931
81932 2002-12-31  Paul Eggert  <eggert@twinsun.com>
81933
81934         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
81935
81936 2002-12-31  Paul Eggert  <eggert@twinsun.com>
81937
81938         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
81939         memcmp if strcoll doesn't work.
81940
81941 2002-12-31  Bruno Haible  <bruno@clisp.org>
81942
81943         * lib/utime.c (utime_null): No need to call ftruncate if the file was
81944         nonempty.
81945
81946 2002-12-31  Bruno Haible  <bruno@clisp.org>
81947
81948         * lib/memcoll.c (STRCOLL): New macro.
81949         (memcoll): Use it.
81950
81951 2002-12-31  Bruno Haible  <bruno@clisp.org>
81952
81953         * lib/localcharset.h: New file.
81954         * lib/localcharset.c: Include it.
81955         * lib/unicodeio.c: Likewise.
81956
81957 2002-12-31  Bruno Haible  <bruno@clisp.org>
81958
81959         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
81960         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
81961
81962 2002-12-31  Bruno Haible  <bruno@clisp.org>
81963
81964         * lib/getline.h: Include <stddef.h>, for size_t.
81965
81966         * lib/unicodeio.h: Include <stddef.h>, for size_t.
81967         * lib/unicodeio.c: Don't include <stddef.h>.
81968
81969 2002-12-31  Bruno Haible  <bruno@clisp.org>
81970
81971         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
81972         HAVE_TM_ZONE.
81973
81974 2002-12-24  Karl Berry  <karl@gnu.org>
81975
81976         * config/config.guess: update from prep.
81977
81978 2002-12-24  Bruno Haible  <bruno@clisp.org>
81979
81980         General infrasructure.
81981         * m4/README: Rewritten.
81982         * m4/onceonly.m4: New file.
81983         * m4/onceonly_2_57.m4: New file.
81984
81985         Module atexit.
81986         * m4/atexit.m4: New file.
81987
81988         Module strtod.
81989         * m4/strtod.m4: New file.
81990
81991         Module strtol.
81992         * m4/strtol.m4: New file.
81993
81994         Module strtoul.
81995         * m4/strtoul.m4: New file.
81996
81997         Module memchr.
81998         * m4/memchr.m4: New file.
81999
82000         Module memcmp.
82001         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
82002         (jm_FUNC_MEMCMP): Invoke it.
82003
82004         Module memcpy.
82005         * m4/memcpy.m4: New file.
82006
82007         Module memmove.
82008         * m4/memmove.m4: New file.
82009
82010         Module memset.
82011         * m4/memset.m4: New file.
82012
82013         Module strcspn.
82014         * m4/strcspn.m4: New file.
82015
82016         Module strpbrk.
82017         * m4/strpbrk.m4: New file.
82018
82019         Module strstr.
82020         * m4/strstr.m4: New file.
82021
82022         Module strerror.
82023         * m4/strerror.m4: New file.
82024
82025         Module mktime.
82026         * m4/mktime.m4: Renamed from jm-mktime.m4.
82027         (gl_PREREQ_MKTIME): New macro.
82028         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
82029
82030         Module malloc.
82031         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
82032         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
82033         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
82034
82035         Module realloc.
82036         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
82037         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
82038         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
82039
82040         Module strftime.
82041         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
82042         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
82043         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
82044         gl_TM_GMTOFF.
82045         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
82046
82047         Module xalloc.
82048         * m4/xalloc.m4: New file.
82049
82050         Module alloca.
82051         * m4/alloca.m4: New file.
82052
82053         Module putenv.
82054         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
82055         (jm_FUNC_PUTENV): Invoke it.
82056
82057         Module setenv.
82058         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
82059         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
82060         when invoked twice.
82061         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
82062         gt_FUNC_SETENV.
82063
82064         Module memrchr.
82065         * m4/memrchr.m4: New file.
82066
82067         Module stpcpy.
82068         * m4/stpcpy.m4: New file.
82069
82070         Module strcase.
82071         * m4/strcase.m4: New file.
82072
82073         Module strdup.
82074         * m4/strdup.m4: New file.
82075
82076         Module strnlen.
82077         * m4/strnlen.m4: New file.
82078
82079         Module strndup.
82080         * m4/strndup.m4: New file.
82081
82082         Module xstrtod.
82083         * m4/xstrtod.m4: New file.
82084
82085         Module xstrtol.
82086         * m4/xstrtol.m4: New file.
82087
82088         Module getdate.
82089         * m4/getdate.m4: New file.
82090
82091         Module unlocked-io.
82092         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
82093         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
82094         * m4/jm-glibc-io.m4n: Remove file.
82095
82096         Module long-options.
82097         * m4/long-options.m4: New file.
82098
82099         Module md5.
82100         * m4/md5.m4: New file.
82101
82102         Module sha.
82103         * m4/sha.m4: New file.
82104
82105         Module getstr.
82106         * m4/getstr.m4: New file.
82107
82108         Module getline.
82109         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
82110         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
82111         <sys/types.h>, for size_t. Use the function name gnu_getline, not
82112         simply getline. Infoke gl_PREREQ_GETLINE.
82113
82114         Module obstack.
82115         * m4/obstack.m4: New file.
82116
82117         Module hash.
82118         * m4/hash.m4: New file.
82119
82120         Module readtokens.
82121         * m4/readtokens.m4: New file.
82122
82123         Module strverscmp.
82124         * m4/strverscmp.m4: New file.
82125
82126         Module stdbool.
82127         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
82128         OSF/1.
82129
82130         Module strtoll.
82131         * m4/strtoll.m4: New file.
82132
82133         Module strtoull.
82134         * m4/strtoull.m4: New file.
82135
82136         Module strtoimax.
82137         * m4/strtoimax.m4: New file.
82138
82139         Module strtoumax.
82140         * m4/strtoumax.m4: New file.
82141
82142         Module xstrtoimax.
82143         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
82144         jm_AC_PREREQ_XSTRTOIMAX.
82145         Moved the strtol prerequisites to strtol.m4.
82146         Moved the strtoll prerequisites to strtoll.m4.
82147         Moved the strtoimax prerequisites to strtoimax.m4.
82148
82149         Module xstrtoumax.
82150         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
82151         jm_AC_PREREQ_XSTRTOUMAX.
82152         Moved the strtoul prerequisites to strtoul.m4.
82153         Moved the strtoull prerequisites to strtoull.m4.
82154         Moved the strtoumax prerequisites to strtoumax.m4.
82155
82156         Module chown.
82157         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
82158         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
82159
82160         Module dup2.
82161         * m4/dup2.m4: New file.
82162
82163         Module ftruncate.
82164         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
82165         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
82166
82167         Module getgroups.
82168         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
82169         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
82170
82171         Module gettimeofday.
82172         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
82173         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
82174         gl_PREREQ_GETTIMEOFDAY.
82175
82176         Module mkdir.
82177         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
82178         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
82179
82180         Module mkstemp.
82181         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
82182         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
82183         jm_AC_TYPE_UINTMAX_T.
82184         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
82185
82186         Module stat.
82187         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
82188         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
82189
82190         Module lstat.
82191         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
82192         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
82193
82194         Module timespec.
82195         * m4/timespec.m4 (gl_TIMESPEC): New macro.
82196         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
82197         * m4/st_mtim.m4: Indentation.
82198
82199         Module nanosleep.
82200         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
82201         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
82202         gl_PREREQ_NANOSLEEP.
82203
82204         Module regex.
82205         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
82206         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
82207         (gl_REGEX): New macro.
82208
82209         Module rename.
82210         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
82211         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
82212
82213         Module rmdir.
82214         * m4/rmdir.m4: New file.
82215
82216         Module utime.
82217         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
82218         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
82219         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
82220
82221         Module dirname.
82222         * m4/dirname.m4: New file.
82223
82224         Module getopt.
82225         * m4/getopt.m4: New file.
82226
82227         Module unistd-safer.
82228         * m4/unistd-safer.m4: New file.
82229
82230         Module fnmatch.
82231         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
82232         declaration.
82233         (gl_PREREQ_FNMATCH_EXTRA): New macro.
82234         (gl_FUNC_FNMATCH_POSIX): New macro.
82235         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
82236         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
82237         simply fnmatch.
82238
82239         Module exclude.
82240         * m4/exclude.m4: New file.
82241
82242         Module human.
82243         * m4/human.m4: New file.
82244
82245         Module acl.
82246         * m4/acl.m4: Nop.
82247
82248         Module backupfile.
82249         * m4/backupfile.m4: New file.
82250         * m4/d-ino.m4: Indentation.
82251
82252         Module fsusage.
82253         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
82254         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
82255         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
82256
82257         Module dirfd.
82258         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
82259         requirements.
82260
82261         Module euidaccess.
82262         * m4/euidaccess.m4: New file.
82263
82264         Module file-type.
82265         * m4/file-type.m4: New file.
82266
82267         Module fileblocks.
82268         * m4/fileblocks.m4: New file.
82269
82270         Module filemode.
82271         * m4/filemode.m4: New file.
82272
82273         Module isdir.
82274         * m4/isdir.m4: New file.
82275
82276         Module lchown.
82277         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
82278         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
82279
82280         Module makepath.
82281         * m4/makepath.m4: New file.
82282
82283         Module modechange.
82284         * m4/modechange.m4: New file.
82285
82286         Module mountlist.
82287         * m4/mountlist.m4: New file.
82288         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
82289         Indentation.
82290
82291         Module path-concat.
82292         * m4/path-concat.m4: New file.
82293
82294         Module pathmax.
82295         * m4/pathmax.m4: New file.
82296
82297         Module same.
82298         * m4/same.m4: New file.
82299
82300         Module save-cwd.
82301         * m4/save-cwd.m4: New file.
82302
82303         Module savedir.
82304         * m4/savedir.m4: New file.
82305
82306         Module xgetcwd.
82307         * m4/xgetcwd.m4: New file.
82308         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
82309
82310         Module xreadlink.
82311         * m4/xreadlink.m4: New file.
82312
82313         Module safe-read.
82314         * m4/safe-read.m4: New file.
82315
82316         Module safe-write.
82317         * m4/safe-write.m4: New file.
82318
82319         Module closeout.
82320         * m4/closeout.m4: New file.
82321
82322         Module stdio-safer.
82323         * m4/stdio-safer.m4: New file.
82324
82325         Module getpass.
82326         * m4/getpass.m4: New file.
82327
82328         Module getugroups.
82329         * m4/getugroups.m4: New file.
82330
82331         Module group-member.
82332         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
82333         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
82334
82335         Module idcache.
82336         * m4/idcache.m4: New file.
82337
82338         Module userspec.
82339         * m4/userspec.m4: New file.
82340
82341         Module gettime.
82342         * m4/clock_time.m4: New file.
82343         * m4/gettime.m4: New file.
82344
82345         Module settime.
82346         * m4/settime.m4: New file.
82347
82348         Module posixtm.
82349         * m4/posixtm.m4: New file.
82350
82351         Module gethostname.
82352         * m4/gethostname.m4: New file.
82353
82354         Module canon-host.
82355         * m4/canon-host.m4: New file.
82356
82357         Module gettext.
82358         * m4/codeset.m4: New file, from gettext-0.11.5.
82359         * m4/gettext.m4: New file, from gettext-0.11.5.
82360         * m4/glibc21.m4: New file, from gettext-0.11.5.
82361         * m4/iconv.m4: New file, from gettext-0.11.5.
82362         * m4/intdiv0.m4: New file, from gettext-0.11.5.
82363         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
82364         * m4/inttypes.m4: New file, from gettext-0.11.5.
82365         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
82366         * m4/isc-posix.m4: New file, from gettext-0.11.5.
82367         * m4/lcmessage.m4: New file, from gettext-0.11.5.
82368         * m4/lib-ld.m4: New file, from gettext-0.11.5.
82369         * m4/lib-link.m4: New file, from gettext-0.11.5.
82370         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
82371         * m4/progtest.m4: New file, from gettext-0.11.5.
82372         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
82373         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
82374         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
82375
82376         Module localcharset.
82377         * m4/localcharset.m4: New file.
82378
82379         Module hard-locale.
82380         * m4/hard-locale.m4: New file.
82381
82382         Module mbswidth.
82383         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
82384         onceonly macros.
82385         * m4/mbrtowc.m4: Add comment.
82386
82387         Module memcasecmp.
82388         * m4/memcasecmp.m4: New file.
82389
82390         Module memcoll.
82391         * m4/memcoll.m4: New file.
82392
82393         Module unicodeio.
82394         * m4/unicodeio.m4: New file.
82395
82396         Module rpmatch.
82397         * m4/rpmatch.m4: New file.
82398
82399         Module yesno.
82400         * m4/yesno.m4: New file.
82401
82402         Module exitfail.
82403         * m4/exitfail.m4: New file.
82404
82405         Module c-stack.
82406         * m4/c-stack.m4 (gl_C_STACK): New macro.
82407         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
82408
82409         Module error.
82410         * m4/error.m4 (gl_ERROR): New macro.
82411         (jm_PREREQ_ERROR): Use onceonly macros.
82412
82413         Module fatal.
82414         * m4/fatal.m4: New file.
82415
82416         Module getloadavg.
82417         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
82418         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
82419
82420         Module getpagesize.
82421         * m4/getpagesize.m4: New file.
82422
82423         Module getusershell.
82424         * m4/getusershell.m4: New file.
82425
82426         Module physmem.
82427         * m4/physmem.m4: New file.
82428
82429         Module posixver.
82430         * m4/posixver.m4: New file.
82431
82432         Module quotearg.
82433         * m4/quotearg.m4: New file.
82434
82435         Module quote.
82436         * m4/quote.m4: New file.
82437
82438         Module readutmp.
82439         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
82440
82441         Module sig2str.
82442         * m4/sig2str.m4: New file.
82443
82444         Other.
82445         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
82446         ulonglong.m4.
82447         * m4/intmax_t.m4: New file.
82448         * m4/d-type.m4: Indentation.
82449         * m4/jm-macros.m4: Update.
82450         * m4/prereq.m4 (jm_PREREQ): Update.
82451         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
82452         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
82453         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
82454         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
82455         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
82456         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
82457         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
82458         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
82459         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
82460         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
82461         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
82462         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
82463         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
82464         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
82465         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
82466         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
82467         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
82468         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
82469         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
82470
82471 2002-12-24  Bruno Haible  <bruno@clisp.org>
82472
82473         * MODULES.txt: Update according to m4/ changes.
82474
82475         Module gettext.
82476         * config.rpath: New file, from gettext-0.11.5.
82477
82478         * modules/*: New module descriptions.
82479         * gnulib-tool: New file.
82480         * MODULES.html.sh: New file.
82481
82482 2002-12-21  Karl Berry  <karl@gnu.org>
82483
82484         * doc/fdl.texi: update to version 1.2.
82485
82486 2002-12-19  Karl Berry  <karl@gnu.org>
82487
82488         * config/config.guess: update from prep.
82489
82490 2002-12-18  Bruno Haible  <bruno@clisp.org>
82491
82492         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
82493         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
82494
82495 2002-12-17  Bruno Haible  <bruno@clisp.org>
82496
82497         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
82498         stdlib.h, string.h.
82499
82500 2002-12-17  Bruno Haible  <bruno@clisp.org>
82501
82502         * lib/canon-host.c (strdup): Remove unused declaration.
82503
82504         * lib/fsusage.c: Include full_read.h.
82505         (get_fs_usage): Use full_read instead of safe_read.
82506
82507         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
82508
82509 2002-12-12  Karl Berry  <karl@gnu.org>
82510
82511         * config/config.guess: update from prep.
82512
82513 2002-12-11  Bruno Haible  <bruno@clisp.org>
82514
82515         * m4/setenv.m4: New file, from gettext-0.11.5.
82516
82517 2002-12-11  Bruno Haible  <bruno@clisp.org>
82518
82519         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
82520         not unsetenv().
82521         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
82522         modifications:
82523
82524         2002-12-11  Bruno Haible  <bruno@clisp.org>
82525
82526                 * setenv.c (alloca): Fall back to malloc.
82527                 (freea): New macro.
82528                 (setenv): Use freea() to free memory allocated with alloca().
82529
82530         2002-11-13  Bruno Haible  <bruno@clisp.org>
82531
82532                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
82533                 function declarations.
82534                 * unsetenv.c (unsetenv): Likewise.
82535
82536         2002-03-04  Bruno Haible  <bruno@clisp.org>
82537
82538                 Portability to AIX 4.3.3.
82539                 * unsetenv.c: New file, extracted from setenv.c.
82540                 * setenv.c: Move the unsetenv() function to unsetenv.c.
82541
82542         2001-12-20  Bruno Haible  <bruno@clisp.org>
82543
82544                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
82545                 use malloc instead. For SunOS 4.
82546
82547         2001-12-11  Bruno Haible  <bruno@clisp.org>
82548
82549                 * setenv.c: Declare alloca.
82550                 (compar_fn_t): New typedef.
82551                 (KNOWN_VALUE, STORE_VALUE): Use it.
82552
82553         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
82554         setenv.h.
82555
82556 2002-12-10  Paul Eggert  <eggert@twinsun.com>
82557
82558         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
82559         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
82560         Choose values that are less likely to collide with system fnmatch
82561         options.
82562         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
82563         defined (e.g., a pure POSIX system).
82564         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
82565         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
82566
82567 2002-12-06  Paul Eggert  <eggert@twinsun.com>
82568
82569         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
82570         a pain in practice to deal with generated m4 files.  This change
82571         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
82572
82573         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
82574         and jm-glibc-io.m4, as they are no longer a special case.
82575         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
82576         kludge and the auto-generation stuff.  Check only whether the
82577         functions are declared, not whether they exist, since older hosts
82578         that don't declare the functions can't use the optimization anyway.
82579
82580 2002-12-06  Jim Meyering  <jim@meyering.net>
82581
82582         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
82583
82584         Merge in changes from libc's misc/error.c, in preparation
82585         for the merge of gnulib's changes back into libc.
82586
82587         * lib/error.c (_): Define only if not already defined.
82588         Move definition to follow all #include directives.
82589         Include unlocked-io.h only if !_LIBC.
82590         [_LIBC]: Include <libio/libioP.h>.
82591         [USE_IN_LIBIO]: Include <libio/iolibio.h>
82592         (fflush): Tweak definition to use INTUSE.
82593         (putc): Define.
82594
82595 2002-12-05  Paul Eggert  <eggert@twinsun.com>
82596
82597         * lib/alloca.c [defined emacs]: Include "lisp.h".
82598         (xalloc_die) [defined emacs]: New macro.
82599         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
82600         [! defined emacs]: Include <xalloc.h>.
82601         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
82602         (pointer): Typedef to POINTER_TYPE *.
82603         (malloc): Remove decl; we now always use xmalloc.
82604         (alloca): Use old-style definition, since Emacs needs this.
82605         Check for arithmetic overflow when computing combined size.
82606
82607 2002-12-04  Paul Eggert  <eggert@twinsun.com>
82608
82609         Do not generate unlocked-io.h automatically, since it's easier to
82610         maintain it by hand.
82611
82612         * lib/unlocked-io.h: New file, from GNU diffutils,
82613         but with proper copyright notice and attribution.
82614         * lib/gen-uio: Remove.
82615         * lib/Makefile.am: Add copyright notice.
82616         (libfetish_a_SOURCES): Add unlocked-io.h.
82617         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
82618         (DISTCLEANFILES, io_functions): Remove macros.
82619         (EXTRA_DIST): Remove gen_uio.
82620         (unlocked-io.h): Remove rule.
82621
82622 2002-12-04  Jim Meyering  <jim@meyering.net>
82623
82624         Reflect the fact that stat.c and lstat.c are no longer generated.
82625         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
82626         (DISTCLEANFILES): Likewise.
82627         (EXTRA_DIST): Likewise.
82628         (all_local): Don't depend on stat.c or lstat.c.
82629         (stat.c, lstat.c): Remove rules.
82630         (EXTRA_DIST): Remove xstat.in.
82631
82632         * lib/xstat.in: Remove file.  Contents moved into stat.c.
82633         * lib/stat.c: New file.  Contents mostly from xstat.in.
82634         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
82635         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
82636
82637         * lib/safe-read.c: Rework so that it may serve to define safe_write,
82638         too.
82639         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
82640
82641 2002-12-03  Jim Meyering  <jim@meyering.net>
82642
82643         * lib/safe-read.c, safe-write.c: Change variable names and comments,
82644         but not semantics, to minimize the differences between these two files.
82645         (safe_read): Change comment to mention SAFE_READ_ERROR.
82646
82647         * lib/safe-read.c (IS_EINTR): Define.
82648         (safe_read): Use IS_EINTR in place of in-function cpp directives.
82649
82650 2002-12-02  Jim Meyering  <jim@meyering.net>
82651
82652         * lib/safe-read.c (EINTR): Define.
82653         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
82654         (INT_MAX): Provide fallback.
82655         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
82656
82657         * lib/safe-read.h (SAFE_READ_ERROR): Define.
82658
82659 2002-12-02  Bruno Haible  <bruno@clisp.org>
82660
82661         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
82662         Define, taken from safe-read.c.
82663         (INT_MAX): Provide fallback.
82664         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
82665         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
82666
82667         * lib/safe-read.c (EINTR): Remove definition.
82668         (safe_read): Don't use EINTR if it is absent.
82669
82670 2002-12-01  Jim Meyering  <jim@meyering.net>
82671
82672         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
82673         zero.
82674         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
82675
82676 2002-11-27  Paul Eggert  <eggert@twinsun.com>
82677
82678         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
82679         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
82680         with `if (! (value < limit)) abort ();', for readability.
82681
82682 2002-11-26  Karl Berry  <karl@gnu.org>
82683
82684         * lib/strdup.c: copy from libc again, with jim's ok.
82685         * lib/.cppi-disable: re-add strdup.c
82686
82687 2002-11-25  Karl Berry  <karl@gnu.org>
82688
82689         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
82690         instead of "strtol.c".
82691
82692 2002-11-25  Karl Berry  <karl@gnu.org>
82693
82694         * config/install-sh: update from automake for variable quoting, $0 in
82695         error msgs, etc.
82696
82697         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
82698         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
82699         entry.
82700
82701 2002-11-25  Jim Meyering  <jim@meyering.net>
82702
82703         * lib/mktime.c: Sync from libc, now that it has the latest fix.
82704
82705 2002-11-24  Karl Berry  <karl@gnu.org>
82706
82707         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
82708         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
82709
82710 2002-11-24  Jim Meyering  <jim@meyering.net>
82711
82712         Update from coreutils:
82713
82714         * lib/mktime.c: Merge in changes from libc.
82715
82716         Avoid a link-time failure on some Linux systems.
82717         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
82718         (otherwise).
82719         (__mon_yday): Declare with the STATIC attribute.
82720         (__mktime_internal): Likewise.
82721         Based on a report from Greg Schafer.
82722
82723 2002-11-23  Jim Meyering  <jim@meyering.net>
82724
82725         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
82726         Use `unsigned', not `int', as type of index.
82727
82728         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
82729
82730         * lib/fsusage.c: Remove unneeded parentheses around operands of
82731         `defined'.
82732
82733 2002-11-22  Paul Eggert  <eggert@twinsun.com>
82734
82735         * lib/quotearg.h: Allow multiple inclusion by surrounding with
82736         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
82737         so that we can be included first.
82738         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
82739         * lib/quotearg.c: Include quotearg.h immediately after config.h.
82740         No need to include stddef.h or sys/types.h any more.
82741         Surround local include files with "", not "<>".
82742         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
82743         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
82744         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
82745         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
82746         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
82747         (ISPRINT): Remove; no longer needed now that we assume C89.
82748
82749         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
82750         Preserve errno.
82751
82752         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
82753         quotearg_char): Use SIZE_MAX rather than
82754         (size_t) -1 when we are talking about "infinity".
82755
82756         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
82757
82758 2002-11-22  Paul Eggert  <eggert@twinsun.com>
82759
82760         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
82761         hint that one should use `if (! x) abort ();' rather than `assert
82762         (x);', and anyway it's one less thing to worry about configuring.
82763         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
82764         hash_rehash, hash_insert): Use abort rather than assert.
82765
82766 2002-11-22  Bruno Haible  <bruno@clisp.org>
82767
82768         * lib/safe-read.h: Assume C89. Add comments.
82769         (safe_read): Change return type to size_t.
82770         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
82771         byte counts > SSIZE_MAX correctly.
82772         * lib/safe-write.h: New file.
82773         * lib/safe-write.c: New file.
82774         * lib/full-read.h: New file.
82775         * lib/full-read.c: New file.
82776         * lib/full-write.h: Assume C89. Add comments.
82777         * lib/full-write.c: Include safe-write.h.
82778         (full_write): Rewritten to use safe_write.
82779         Suggested by Jim Meyering and Paul Eggert.
82780
82781 2002-11-21  Jim Meyering  <jim@meyering.net>
82782
82783         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
82784
82785         Merge in changes from the coreutils.
82786
82787         2002-09-25  Paul Eggert  <eggert@twinsun.com>
82788         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
82789         <stdint.h>.
82790         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
82791         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
82792         int.  Work more efficiently if X is the same width as uintmax_t.
82793         Do not compare X to -1, to avoid bogus compiler warning.
82794         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
82795         Don't assume that f_frsize and f_bsize are the same type.
82796
82797         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
82798         warning on FreeBSD.
82799
82800         * lib/makepath.c (make_path): Restore umask *before* creating the final
82801         component.
82802         (make_path): Minor reformatting.
82803
82804         * lib/xmalloc.c: Adjust to work with new autoconf macros,
82805         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
82806         HAVE_MALLOC/HAVE_REALLOC.
82807
82808         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
82809         dummy ones.  At least on GNU/Linux systems, `auto' means something
82810         else.
82811         From Michael Stone.
82812
82813 2002-11-21  Bruno Haible  <bruno@clisp.org>
82814
82815         Remove case insensitive option matching.
82816         * lib/argmatch.h (argcasematch): Remove declaration.
82817         (ARGCASEMATCH): Remove macro.
82818         (__xargmatch_internal): Remove case_sensitive argument.
82819         (XARGMATCH): Update.
82820         (XARGCASEMATCH): Remove macro.
82821         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
82822         case_sensitive argument.
82823         (argcasematch): Remove function.
82824         (__xargmatch_internal): Remove case_sensitive argument.
82825         (main): Use XARGMATCH instead of XARGCASEMATCH.
82826
82827         * lib/xmalloc.c: Change compile-time error message. Add comment about
82828         required autoconf version.
82829
82830 2002-11-20  Paul Eggert  <eggert@twinsun.com>
82831
82832         Merge argmatch cleanups from Bison.  Assume C89.
82833
82834         * lib/argmatch.c: Include config.h here, not in argmatch.h.
82835         Include stdlib.h, for EXIT_FAILURE.
82836         Always include <string.h>, since we assume C89.
82837         (EXIT_FAILURE): Remove pre-C89 bug workaround.
82838         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
82839         Include <stddef.h> instead, since it's all we need for size_t.
82840         (PARAMS): Remove.  All uses removed.
82841         (ARRAY_CARDINALITY): Do not bother to #undef.
82842         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
82843         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
82844         Remove unnecessary parentheses.
82845         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
82846         Insert necessary parentheses.
82847         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
82848         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
82849
82850 2002-11-19  Bruno Haible  <bruno@clisp.org>
82851
82852         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
82853         * lib/mbswidth.h: Include <stddef.h>, for size_t.
82854
82855         * lib/mbswidth.h (PARAMS): Remove macro.
82856         (mbswidth, mbsnwidth): Use ANSI C function declarations.
82857         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
82858
82859         * lib/gcd.h (PARAMS): Remove macro.
82860         (gcd): Use ANSI C function declarations.
82861         * lib/gcd.c (gcd): Likewise.
82862
82863 2002-11-15  Bruno Haible  <bruno@clisp.org>
82864
82865         * lib/strcspn.c: Include <stddef.h>.
82866         (strcspn): Use ANSI C function declaration. Change return type to
82867         size_t. Use NULL.
82868         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
82869         (strpbrk): Use NULL.
82870         * lib/strpbrk.h (PARAMS): Remove macro.
82871         (strpbrk): Use ANSI C function declaration.
82872         * lib/strstr.c: Don't include <sys/types.h>.
82873         * lib/strstr.h (PARAMS): Remove macro.
82874         (strstr): Use ANSI C function declarations.
82875
82876 2002-11-14  Karl Berry  <karl@gnu.org>
82877
82878         * config/mkinstalldirs: `do' on separate line, instead of
82879         `for var; do'.
82880
82881 2002-11-06  Bruno Haible  <bruno@clisp.org>
82882
82883         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
82884         * lib/gcd.c (gcd): Likewise.
82885
82886 2002-11-05  Bruno Haible  <bruno@clisp.org>
82887
82888         * lib/gcd.h: New file, from gettext-0.11.5.
82889         * lib/gcd.c: New file, from gettext-0.11.5.
82890
82891 2002-11-05  Bruno Haible  <bruno@clisp.org>
82892
82893         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82894         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82895         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82896         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82897
82898         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
82899         <libintl.h>.
82900         * lib/makepath.c: Include gettext.h instead of <locale.h> and
82901         <libintl.h>.
82902
82903         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
82904         * lib/human.c: Include gettext.h instead of <libintl.h>.
82905         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
82906         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
82907         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
82908         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
82909         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
82910         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
82911         (textdomain): Remove definition.
82912         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
82913
82914         * lib/long-options.c: Remove include of <libintl.h> and definition of
82915         _.
82916         * lib/same.c: Remove include of <libintl.h> and definition of _.
82917
82918 2002-11-04  Owen Taylor  <otaylor@redhat.com>
82919
82920         * lib/config.charset: A few additions for Solaris.
82921
82922 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
82923
82924         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
82925         * lib/localcharset.c (locale_charset): Declare as extern "C".
82926
82927 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
82928
82929         * lib/config.charset: msdos in uk_UA uses CP1125.
82930
82931 2002-11-04  Bruno Haible  <bruno@clisp.org>
82932
82933         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
82934         * lib/strcase.h: New file, from GNU gettext-0.11.5.
82935         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
82936         * lib/strstr.h: New file, from GNU gettext-0.11.5.
82937         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
82938
82939 2002-11-04  Bruno Haible  <bruno@clisp.org>
82940
82941         * lib/localcharset.c (locale_charset): Don't return an empty string.
82942
82943 2002-11-04  Bruno Haible  <bruno@clisp.org>
82944
82945         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
82946         aliases.
82947
82948 2002-11-04  Bruno Haible  <bruno@clisp.org>
82949
82950         * lib/config.charset: Update for newest glibc. Add canonical names
82951         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
82952
82953 2002-11-04  Bruno Haible  <bruno@clisp.org>
82954
82955         * lib/config.charset: Add support for NetBSD.
82956
82957 2002-11-04  Bruno Haible  <bruno@clisp.org>
82958
82959         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
82960
82961 2002-11-01  Bruno Haible  <bruno@clisp.org>
82962
82963         * configure.in: Add AC_CONFIG_AUX_DIR call.
82964         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
82965         test/Makefile.
82966         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
82967
82968 2002-09-28  Karl Berry  <karl@gnu.org>
82969
82970         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
82971         installed automake until the next release, since changes have been
82972         made.
82973
82974 2002-09-25  Karl Berry  <karl@gnu.org>
82975
82976         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
82977         * lib/getopt*: copy from libc/posix.
82978         * lib/gettext.h: copy from gettext.
82979         * lib/.cppi-disable: add strdup.c, gettext.h.
82980
82981 2002-09-25  Karl Berry  <karl@gnu.org>
82982
82983         * config/srclist.txt: enable gettext.h check.
82984         * config/config.{guess,sub}: update from prep.
82985         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
82986                 from automake 1.6.3.
82987         See srclist*.
82988
82989 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
82990
82991         * regex.c (PATFETCH): Remove the translating fetch.
82992         (PATFETCH_RAW): Rename to PATFETCH.
82993         (set_image_of_range): New fun.
82994         (SET_RANGE_TABLE_WORK_AREA): Use it.
82995         (regex_compile): Don't translate the pattern chars so eagerly.
82996         Only do it when inserting an `exactn' bytecode or when handling
82997         a char-range.
82998         (mutually_exclusive_p): Avoid empty statement.
82999
83000 2002-07-06  Jim Meyering  <meyering@lucent.com>
83001
83002         * m4/README: Don't mention Makefile.am.in.
83003         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
83004
83005 2002-07-01  Jim Meyering  <meyering@lucent.com>
83006
83007         * lib/c-stack.c: Include sys/time.h.
83008         From Volker Borchert.
83009
83010 2002-06-26  Paul Eggert  <eggert@twinsun.com>
83011
83012         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
83013
83014 2002-06-26  Paul Eggert  <eggert@twinsun.com>
83015
83016         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
83017         New macro.  Use it uniformly instead of
83018         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
83019         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
83020         reported by Vin Shelton.
83021
83022 2002-06-22  Paul Eggert  <eggert@twinsun.com>
83023
83024         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
83025         Do not assume SA_SIGINFO behavior.
83026         Bug reported by Jim Meyering on NetBSD 1.5.2.
83027
83028 2002-06-22  Jim Meyering  <meyering@lucent.com>
83029
83030         * m4/c-stack.m4: New file, from diffutils-2.8.2.
83031         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
83032
83033         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
83034         now that configure.ac uses AC_GNU_SOURCE.
83035         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
83036         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
83037
83038         Update to latest tools.  Suggestions from Paul Eggert.
83039         * m4/stdbool.m4: New file, from diffutils-2.8.2.
83040         * m4/gnu-source.m4: Update from diffutils-2.8.2.
83041         * m4/fnmatch.m4: Likewise.
83042         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
83043         to AC_HEADER_STDBOOL
83044
83045 2002-06-22  Jim Meyering  <meyering@lucent.com>
83046
83047         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
83048         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
83049
83050 2002-06-22  Jim Meyering  <meyering@lucent.com>
83051
83052         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
83053
83054         * lib/exitfail.c, exitfail.h: Likewise.
83055         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
83056
83057         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
83058         of fnmatch.h.
83059         (EXTRA_DIST): Add fnmatch_loop.c.
83060         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
83061
83062         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
83063         * lib/fnmatch.c: Update from diffutils-2.8.2.
83064         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
83065         * lib/fnmatch.h: Remove file.
83066
83067 2002-06-21  Jim Meyering  <meyering@lucent.com>
83068
83069         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
83070         * m4/mbrtowc.m4: Likewise.
83071
83072         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
83073         * m4/mbswidth.m4: Reflect name change:
83074         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
83075         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
83076
83077         * m4/lib-link.m4: Update from gettext-0.11.2.
83078         * m4/gettext.m4: Likewise.
83079
83080         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
83081         From Alfred M. Szmidt.
83082
83083 2002-06-18  Paul Eggert  <eggert@twinsun.com>
83084
83085         * lib/file-type.h: Report an error if neither S_ISREG nor
83086         S_IFREG is defined, instead of using a test specific to glibc
83087         2.2.  This should be safe, since POSIX requires S_ISREG and
83088         Unix Version 7 had S_IFREG.  We don't need to check for
83089         <sys/types.h> since we don't use any symbols that it defines.
83090
83091 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
83092
83093         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
83094         $@-t, so that each temporary file name is unique and valid in the first
83095         8 characters, for operation under DOS.
83096
83097 2002-06-15  Paul Eggert  <eggert@twinsun.com>
83098
83099         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
83100
83101 2002-06-15  Jim Meyering  <meyering@lucent.com>
83102
83103         Work even with DJGPP 2.03, which lacks support for symlinks.
83104         From Richard Dawe.
83105         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
83106         is defined.
83107         * lib/lchown.c (S_ISLNK): Likewise.
83108
83109 2002-06-15  Jim Meyering  <meyering@lucent.com>
83110
83111         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
83112         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
83113         have been included before this file.
83114
83115 2002-06-14  Jim Meyering  <meyering@lucent.com>
83116
83117         * lib/file-type.h: Use the version from diffutils-2.8.2.
83118         * lib/file-type.c: Likewise.
83119
83120 2002-06-07  Jim Meyering  <meyering@lucent.com>
83121
83122         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
83123         They're needed at least for NetBSD 1.5.2.
83124         ($statxfs_includes): Include those same headers.
83125         ($statxfs_includes): Include sys/vfs.h if available.
83126         ($statxfs_includes): Likewise for sys/statvfs.h.
83127         Check for the following members in both structs statfs and statvfs:
83128         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
83129
83130 2002-06-01  Jim Meyering  <meyering@lucent.com>
83131
83132         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
83133         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
83134
83135 2002-05-28  Jim Meyering  <meyering@lucent.com>
83136
83137         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
83138         Reported by Volker Borchert.
83139
83140 2002-05-27  Jim Meyering  <meyering@lucent.com>
83141
83142         Fix a problem seen only on nonconforming systems whereby ls.c's
83143         use of localtime, and then of gettimeofday would cause trouble:
83144         the localtime call used to initialize rpl_gettimeofday's save
83145         mechanism would clobber ls's current local time information so
83146         that in any long listing the first file would always be listed
83147         with date 1970-01-01.  Analysis by Volker Borchert.
83148
83149         * lib/gettimeofday.c (localtime): Undefine.
83150         (rpl_localtime): New function.
83151
83152 2002-05-27  Jim Meyering  <meyering@lucent.com>
83153
83154         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
83155         localtime.
83156
83157         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
83158         use the replacement function; it wouldn't resolve at link time.
83159         Reported by Volker Borchert.
83160
83161 2002-05-22  Jim Meyering  <meyering@lucent.com>
83162
83163         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
83164         file-type.h.
83165         * lib/file-type.h: New file.
83166         * lib/file-type.c (file_type): New file/function.  Extracted from
83167         diffutils.
83168
83169 2002-04-30  Jim Meyering  <meyering@lucent.com>
83170
83171         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
83172
83173 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83174
83175         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
83176
83177 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83178
83179         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
83180         Do not check for alloca.h (no longer used) or stdbool.h (was never
83181         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
83182
83183 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83184
83185         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
83186
83187 2002-04-29  Jim Meyering  <meyering@lucent.com>
83188
83189         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
83190         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
83191         Use AC_FUNC_STRNLEN here instead.
83192
83193         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
83194         With autoconf-2.53a, it's part of AC_PROG_CC.
83195
83196 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83197
83198         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
83199         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
83200
83201 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83202
83203         * lib/sig2str.h, lib/sig2str.c: New files.
83204         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
83205
83206 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83207
83208         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
83209         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
83210         of 127, since 64 is the largest conceivable number for ancient
83211         nonstandard hosts.
83212         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
83213
83214 2002-04-28  Jim Meyering  <meyering@lucent.com>
83215
83216         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
83217
83218 2002-04-24  Jim Meyering  <meyering@lucent.com>
83219
83220         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
83221         (jm_PREREQ): Use it.
83222
83223         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
83224         mach/mach.h fcntl.h.
83225         Check for this function: setlocale.
83226
83227 2002-04-24  Jim Meyering  <meyering@lucent.com>
83228
83229         * lib/gettext.h: New file, from Gettext.
83230         * lib/Makefile.am (INCLUDES): Remove -I../intl.
83231         (libfetish_a_SOURCES): Add gettext.h.
83232
83233 2002-04-16  Jim Meyering  <meyering@lucent.com>
83234
83235         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
83236         ut_pid, ut_id, ut_exit.
83237
83238 2002-04-16  Jim Meyering  <meyering@lucent.com>
83239
83240         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
83241         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
83242         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
83243
83244 2002-04-12  Jim Meyering  <meyering@lucent.com>
83245
83246         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
83247         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
83248         existence of the getmntinfo function.  Needed for Darwin 5.3.
83249
83250         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
83251         This is necessary at least on Darwin 5.3.
83252
83253         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
83254         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
83255         strnlen.o in the library, and that makes some versions of ranlib
83256         object.
83257
83258 2002-04-12  Jim Meyering  <meyering@lucent.com>
83259
83260         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
83261
83262 2002-04-09  Jim Meyering  <meyering@lucent.com>
83263
83264         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
83265         to be more precise.  Rather than saying we're checking whether the
83266         function `works', say what we're testing.
83267         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
83268         Reported by Bruno Haible.
83269
83270 2002-03-10  Jim Meyering  <meyering@lucent.com>
83271
83272         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
83273         Suggestion from Santiago Vila.
83274
83275 2002-03-08  Jim Meyering  <meyering@lucent.com>
83276
83277         * lib/rename.c: Mention that this wrapper is needed also on
83278         mips-dec-ultrix4.4 systems.
83279
83280 2002-03-02  Jim Meyering  <meyering@lucent.com>
83281
83282         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
83283         not HAVE_CLOCK_SETTIME.
83284
83285 2002-02-27  Paul Eggert  <eggert@twinsun.com>
83286
83287         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
83288         Check for clock_settime.
83289
83290 2002-02-27  Paul Eggert  <eggert@twinsun.com>
83291
83292         * lib/nanosleep.h: Rename to....
83293         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
83294
83295         * lib/gettime.c: New file.
83296         * lib/settime.c: New file.
83297         * lib/stime.c: Remove.
83298
83299         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
83300         timespec.h.  Remove nanosleep.h.
83301
83302 2002-02-25  Paul Eggert  <eggert@twinsun.com>
83303
83304         * m4/acl.m4: New file.
83305         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
83306         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
83307
83308 2002-02-25  Paul Eggert  <eggert@twinsun.com>
83309
83310         * lib/acl.c, lib/acl.h: New files.
83311         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
83312
83313 2002-02-24  Jim Meyering  <meyering@lucent.com>
83314
83315         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
83316         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
83317         cause trouble.  Reported by Nelson Beebe.
83318
83319 2002-02-23  Paul Eggert  <eggert@twinsun.com>
83320
83321         * lib/path-concat.c (xpath_concat): Reorder code to pacify
83322         compilers that don't know that xalloc_die never returns.
83323
83324 2002-02-20  Jim Meyering  <meyering@lucent.com>
83325
83326         * lib/getdate.c: Regenerate using bison-1.33.
83327
83328 2002-02-17  Jim Meyering  <meyering@lucent.com>
83329
83330         * config/config.guess (main): Don't use `head -1'; it's no longer
83331         portable. Use `sed 1q' instead.
83332
83333 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
83334
83335         * m4/codeset.m4: Upgrade to gettext-0.11.
83336         * m4/gettext.m4: Upgrade to gettext-0.11.
83337         * m4/glibc21.m4: Upgrade to gettext-0.11.
83338         * m4/iconv.m4: Upgrade to gettext-0.11.
83339         * m4/isc-posix.m4: Upgrade to gettext-0.11.
83340         * m4/lcmessage.m4: Upgrade to gettext-0.11.
83341         * m4/lib-ld.m4: New file, from gettext-0.11.
83342         * m4/lib-link.m4: New file, from gettext-0.11.
83343         * m4/lib-prefix.m4: New file, from gettext-0.11.
83344         * m4/progtest.m4: Upgrade to gettext-0.11.
83345
83346 2002-02-15  Paul Eggert  <eggert@twinsun.com>
83347
83348         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
83349         (jm_PREREQ): Use it.
83350
83351 2002-02-15  Paul Eggert  <eggert@twinsun.com>
83352
83353         * lib/posixver.c, lib/posixver.h: New files.
83354         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
83355
83356 2002-02-02  Paul Eggert  <eggert@twinsun.com>
83357             Bruno Haible  <bruno@clisp.org>
83358
83359         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
83360         (fwrite_success_callback): New declaration.
83361         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
83362         print_unicode_char. Call failure callback instead of error.
83363         (fwrite_success_callback): New function.
83364         (exit_failure_callback): New function.
83365         (fallback_failure_callback): New function.
83366         (print_unicode_char): Call unicode_to_mb.
83367
83368 2002-01-26  Jim Meyering  <meyering@lucent.com>
83369
83370         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
83371         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
83372
83373 2002-01-26  Jim Meyering  <meyering@lucent.com>
83374
83375         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
83376
83377 2002-01-22  Paul Eggert  <eggert@twinsun.com>
83378
83379         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
83380
83381 2002-01-22  Jim Meyering  <meyering@lucent.com>
83382
83383         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
83384         Otherwise, some versions of automake would omit the rule that makes
83385         Makefile from Makefile.in.
83386
83387 2002-01-21  Paul Eggert  <eggert@twinsun.com>
83388
83389         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
83390         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
83391         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
83392         (memcoll): Set errno to zero if there is no error.
83393
83394         * lib/quotearg.c (quotearg_buffer_restyled):
83395         Fix bug with quoting buffers containing NUL when backslashing escapes.
83396         This bug was exposed by the other changes in this patch.
83397         (quotearg_n_options): New arg ARGSIZE.
83398         All callers changed.
83399         (quoting_options_from_style): New function.
83400         (quotearg_n_style): Use it.
83401         (quotearg_n_style_mem): New function.
83402
83403         * lib/quotearg.h (quotearg_n_style_mem): New function.
83404
83405 2002-01-19  Jim Meyering  <meyering@lucent.com>
83406
83407         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
83408         Remove useless quotes: DF_PROG="df".
83409         * m4/strnlen.m4: New file.
83410
83411 2002-01-16  Paul Eggert  <eggert@twinsun.com>
83412
83413         * lib/backupfile.c (ISDIGIT): Comment fix.
83414         * lib/getdate.y (ISDIGIT): Likewise.
83415         * lib/posixtm.c (ISDIGIT, year): Likewise.
83416         * lib/strverscmp.c (ISDIGIT): Likewise.
83417         * lib/userspec.c (ISDIGIT): Likewise.
83418
83419 2002-01-16  Jim Meyering  <meyering@lucent.com>
83420
83421         * lib/getdate.y: Add three semicolons, each just before a closing
83422         brace. Bison (as of version 1.31) no longer papers over that mistake.
83423
83424 2002-01-05  Jim Meyering  <meyering@lucent.com>
83425
83426         * lib/version-etc.c (version_etc_copyright): Update copyright year.
83427
83428 2001-12-19  Paul Eggert  <eggert@twinsun.com>
83429
83430         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
83431         not silently exit merely because the output buffer happens to
83432         have nothing pending.
83433
83434 2001-12-18  Paul Eggert  <eggert@twinsun.com>
83435
83436         See the big note in ../ChangeLog.
83437         * lib/human.c (suffixes): Prefer K to k for 1024.
83438         (generate_suffix_backwards): New function.
83439         (human_readable_inexact): Use it.
83440         * lib/xstrtol.c (__xstrtol): If there is no number but there
83441         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
83442         Accept 'K' as well as 'k'.
83443
83444 2001-12-15  Jim Meyering  <meyering@lucent.com>
83445
83446         * lib/regex.h (__restrict_arr): Update from libc.
83447
83448         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
83449         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
83450         (STREQ): Define.
83451
83452 2001-12-14  Jim Meyering  <meyering@lucent.com>
83453
83454         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
83455         Suggestion from Bruno Haible.
83456
83457 2001-12-10  Jim Meyering  <meyering@lucent.com>
83458
83459         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
83460         xrealloc, Instead, include "xalloc.h".
83461         (initbuffer): Don't cast xmalloc return value to char*.
83462         (readline): Reword comment.
83463         Don't cast xrealloc return value to char*
83464         Return NULL, not 0.
83465
83466 2001-12-09  Jim Meyering  <meyering@lucent.com>
83467
83468         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
83469         about `signed and unsigned type in conditional expression'.
83470         * lib/posixtm.c (posix_time_parse): Likewise.
83471
83472         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
83473
83474         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
83475         to avoid a pedantic warning.
83476
83477         * lib/getstr.c: Don't include assert.h.
83478         (getstr): Remove warning-evoking assertions.
83479         Return -1 if offset parameter is out of bounds.
83480         Change the type of a local from int to size_t.
83481
83482         * lib/strftime.c (my_strftime_localtime_r): Include this function
83483         definition in the `#if ! HAVE_TM_GMTOFF' block.
83484
83485         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
83486         Include xalloc.h instead.
83487
83488 2001-12-02  Jim Meyering  <meyering@lucent.com>
83489
83490         * lib/tempname.c: Don't declare getenv, thus reverting the change of
83491         2001-11-18.  It's no longer necessary, now that stdlib.h is always
83492         included.
83493
83494         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
83495         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
83496
83497 2001-11-30  Akim Demaille  <akim@epita.fr>
83498
83499         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
83500         before being defined.
83501
83502 2001-11-27  Paul Eggert  <eggert@twinsun.com>
83503
83504         * lib/quotearg.h (quotearg_n, quotearg_n_style):
83505         First arg is int, not unsigned.
83506         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
83507         (SIZE_MAX, UINT_MAX): New macros.
83508         (quotearg_n_options): Abort if N is negative.
83509         Avoid overflow check on hosts where size_t is 64 bits and int
83510         is 32 bits, as overflow is impossible there.
83511         Fix off-by-one typo that caused unnecessary reallocation.
83512
83513 2001-11-27  Jim Meyering  <meyering@lucent.com>
83514
83515         * lib/tempname.c: Merge with version from libc.
83516         * lib/regex.c: Likewise.
83517
83518         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
83519         systems for which STDC_HEADERS is 0, it was not included, resulting in
83520         a warning about an integer-to-pointer conversion problem with getenv.
83521         Reported by Volker Borchert.
83522
83523 2001-11-26  Jim Meyering  <meyering@lucent.com>
83524
83525         * lib/gtod.h: Remove file.
83526         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
83527         * lib/gettimeofday.c: Don't include gtod.h.
83528         (GTOD_init): Remove function.
83529         (rpl_gettimeofday): Do its job here instead, rather than aborting.
83530         Suggestion from Volker Borchert.
83531
83532 2001-11-23  Jim Meyering  <meyering@lucent.com>
83533
83534         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
83535         it.
83536         * lib/hash.c (struct hash_table): Define it here instead.
83537
83538 2001-11-22  Jim Meyering  <meyering@lucent.com>
83539
83540         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
83541
83542 2001-11-20  Jim Meyering  <meyering@lucent.com>
83543
83544         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
83545         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
83546
83547 2001-11-19  Jim Meyering  <meyering@lucent.com>
83548
83549         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
83550         directory.  Use "conftestXXXXXX" as the template.
83551         Suggestion from Paul Eggert.
83552
83553         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
83554         immediately, so the test doesn't mistakenly hit the max-open-files
83555         limit.
83556
83557 2001-11-18  Paul Eggert  <eggert@twinsun.com>
83558
83559         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
83560         (TEMPORARIES): New macro.
83561         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
83562         removes an artificial limitation (e.g. HP-UX 10.20, where
83563         TMP_MAX is 17576).
83564
83565 2001-11-18  Jim Meyering  <meyering@lucent.com>
83566
83567         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
83568
83569 2001-11-18  Jim Meyering  <meyering@lucent.com>
83570
83571         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
83572         on SunOS 4.
83573
83574         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
83575         files will be created before anything else.
83576
83577 2001-11-17  Paul Eggert  <eggert@twinsun.com>
83578
83579         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
83580         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
83581
83582 2001-11-17  Jim Meyering  <meyering@lucent.com>
83583
83584         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
83585         Prompted by a report from Bob Proulx.
83586
83587         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
83588         Instead, require UTILS_FUNC_MKSTEMP.
83589
83590 2001-11-17  Jim Meyering  <meyering@lucent.com>
83591
83592         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
83593         Now, that's done as part of AC_FUNC_STRTOD.
83594
83595 2001-11-17  Jim Meyering  <meyering@lucent.com>
83596
83597         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
83598         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
83599         rather than group writable.  Patch by Juan F. Codagnone.
83600
83601         * lib/readtokens.c: Remove explicit declarations of xmalloc and
83602         xrealloc, Instead, include "xalloc.h".
83603
83604         * lib/mountlist.c: Include unlocked-io.h after all system headers.
83605         Remove explicit declarations of xmalloc, xrealloc,
83606         and xstrdup.  Instead, include "xalloc.h".
83607
83608         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
83609         unlocked-io.h.
83610         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
83611         Likewise.
83612         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
83613
83614         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
83615         Reported by Padraig Brady.
83616
83617         * lib/mkstemp.c: #undef mkstemp.
83618         Include config.h.
83619         (rpl_mkstemp): Rename from mkstemp.
83620         Protoize.
83621
83622 2001-11-16  Jim Meyering  <meyering@lucent.com>
83623
83624         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
83625         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
83626         determine the amount of total physical memory, use pstat_getstatic.
83627         HPUX-11 doesn't define _SC_PHYS_PAGES.
83628         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
83629         If sysconf couldn't be used to determine the amount of available
83630         physical memory, use both pstat_getstatic and pstat_getdynamic.
83631         Based on a patch from Bob Proulx.
83632
83633 2001-11-10  Jim Meyering  <meyering@lucent.com>
83634
83635         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
83636         (jm_PREREQ): Use it.
83637
83638 2001-11-09  Jim Meyering  <meyering@lucent.com>
83639
83640         * m4/jm-macros.m4: Require autoconf-2.52f.
83641         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
83642         Use these AC_-prefixed names, not the AM_-prefixed ones.
83643
83644         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
83645
83646 2001-11-05  Jim Meyering  <meyering@lucent.com>
83647
83648         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
83649
83650 2001-11-04  Jim Meyering  <meyering@lucent.com>
83651
83652         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
83653         $DEFS.
83654
83655 2001-11-03  Jim Meyering  <meyering@lucent.com>
83656
83657         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
83658         of AC_DEFUN.
83659
83660         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
83661         know the name of the variable in the macro definition.
83662
83663 2001-11-03  Jim Meyering  <meyering@lucent.com>
83664
83665         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
83666         in argmatch_to_argument call.
83667
83668         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
83669         argument.
83670
83671         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
83672         e.g., a fault due to an attempt to free a NULL pointer.
83673
83674 2001-11-01  Jim Meyering  <meyering@lucent.com>
83675
83676         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
83677         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
83678
83679 2001-11-01  Jim Meyering  <meyering@lucent.com>
83680
83681         * lib/dirfd.c, lib/dirfd.h: New files.
83682         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
83683
83684         * lib/hash.c (hash_print) [TESTING]: Clean up.
83685
83686 2001-10-22  Paul Eggert  <eggert@twinsun.com>
83687
83688         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
83689         to avoid a warning if -Wall.
83690
83691 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
83692
83693         * README: New file
83694         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
83695         (per RMS's instructions, this is now the canonical source)
83696         * lgpl/, gpl/: New directories.
83697
83698 2001-10-21  Paul Eggert  <eggert@twinsun.com>
83699
83700         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
83701
83702 2001-10-21  Jim Meyering  <meyering@lucent.com>
83703
83704         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
83705         this code would end up calling gettext even in packages built
83706         with --disable-nls.
83707         * lib/getopt.c (_): Likewise.
83708         * lib/regex.c (_): Likewise.
83709
83710 2001-10-20  Paul Eggert  <eggert@twinsun.com>
83711
83712         * m4/error.m4 (jm_PREREQ_ERROR):
83713         Do not invoke AC_CHECK_FUNCS with strerror_r, as
83714         AC_FUNC_STRERROR_R does that.
83715         Check for strerror declaration.
83716
83717         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
83718         are supposed to have them these days.
83719         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
83720         Merge changes from latest Autoconf CVS.
83721         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
83722         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
83723         POSIX decided to standardize on the int flavor of strerror_r.
83724
83725 2001-10-20  Paul Eggert  <eggert@twinsun.com>
83726
83727         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
83728         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
83729         Use strerror_r that is only a macro, even if it is not a function.
83730         (strerror): Check for HAVE_DECL_STRERROR before declaring.
83731         (private_strerror): Use prototypes, not old-style function definition.
83732         (print_errno_message): New function.
83733         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
83734         char*-flavored one.
83735         (error_tail, error, error_at_line): Use it.
83736
83737 2001-10-11  Jim Meyering  <meyering@lucent.com>
83738
83739         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
83740         and quote_n (1, ... to avoid clobbering a buffer.
83741
83742 2001-10-05  Jim Meyering  <meyering@lucent.com>
83743
83744         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
83745         hash-pjw.h.
83746         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
83747         * lib/hash-pjw.h: New file.
83748
83749 2001-09-30  Jim Meyering  <meyering@lucent.com>
83750
83751         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
83752         `struct fsstat' has the `f_fstypename' member.
83753         Use that to define FS_TYPE, which is now used to make
83754         the getfsstat link test tighter.
83755
83756 2001-09-30  Jim Meyering  <meyering@lucent.com>
83757
83758         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
83759         Include <sys/ucred.h>, for Apple Darwin.
83760         Include sys/mount.h and sys/fs_types.h only if available.
83761         (FS_TYPE): Define.
83762         (read_filesystem_list): Use FS_TYPE.
83763
83764 2001-09-29  Paul Eggert  <eggert@twinsun.com>
83765
83766         * lib/exclude.c (excluded_filename): 0 -> false, since it's
83767         a boolean context.
83768
83769 2001-09-29  Jim Meyering  <meyering@lucent.com>
83770
83771         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
83772         [one-argument getmntent function]): Include stdio.h before mntent.h.
83773         SunOS 4.1.x needs it for the declaration of `FILE'.
83774         Patch by Volker Borchert.
83775
83776         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
83777         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
83778         sys/fs_types.h, and make the link-test for getfsstat guard #include
83779         directives with appropriate #if HAVE_*_H tests so that we can
83780         detect getfsstat on Apple Darwin1.3.7 systems.
83781         Reported by Nelson Beebe.
83782         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
83783
83784 2001-09-28  Paul Eggert  <eggert@twinsun.com>
83785
83786         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
83787         #defines strtoimax.  Also treat the other strto* functions
83788         like strtoimax.
83789
83790         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
83791         Check for strtoul and strtoumax,
83792         as those declarations are made even in the signed case.
83793         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
83794         Likewise, for strtol and strtoimax.
83795
83796 2001-09-28  Paul Eggert  <eggert@twinsun.com>
83797
83798         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
83799         #defines strtoimax.  Also treat the other strto* functions
83800         like strtoimax.
83801
83802         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
83803         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
83804         (strtoimax, strtoumax): Do not declare if already defined as a macro.
83805
83806 2001-09-26  Jim Meyering  <meyering@lucent.com>
83807
83808         Most macros in unlocked-io.h had the wrong number of arguments.
83809         * lib/gen-uio: New script.
83810         (USE_UNLOCKED_IO): Define to 1 if not already defined.
83811         * lib/unlocked-io.hin: Remove file.
83812         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
83813         rather than trying to embed it here.
83814         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
83815         Reported by Padraig Brady.
83816
83817 2001-09-25  Volker Borchert  <bt@teknon.de>
83818
83819         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
83820         `result'.
83821
83822 2001-09-24  Jim Meyering  <meyering@lucent.com>
83823
83824         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
83825
83826 2001-09-23  Jim Meyering  <meyering@lucent.com>
83827
83828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
83829         instead of the mere test for existence of mntent.h.  The latter
83830         would get a false-positive on AIX 3.4 systems.
83831         In the outer getmntent if-block, don't die if neither of the getmntent
83832         tests succeeds.  Instead, just fall through and continue with the
83833         remaining tests.
83834
83835 2001-09-23  Jim Meyering  <meyering@lucent.com>
83836
83837         * lib/mountlist.c: Remove useless parentheses in #if directives.
83838         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
83839         the deprecated MOUNTED symbol is no longer defined in mntent.h.
83840
83841 2001-09-22  Jim Meyering  <meyering@lucent.com>
83842
83843         * m4/gettext.m4: New file.  From gettext.
83844         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
83845         * m4/progtest.m4: Likewise
83846         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
83847         * m4/glibc21.m4: Likewise.
83848
83849         * m4/libintl.m4: Remove.  No longer used.
83850
83851 2001-09-22  Jim Meyering  <meyering@lucent.com>
83852
83853         * lib/localcharset.c: Update from latest gettext.
83854         * lib/config.charset: Likewise.
83855
83856 2001-09-20  Jim Meyering  <meyering@lucent.com>
83857
83858         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
83859         strtoimax.
83860         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
83861         strtoumax.
83862
83863 2001-09-20  Jim Meyering  <meyering@lucent.com>
83864
83865         * lib/xstrtol.c (strtoimax): Guard declaration with
83866         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
83867         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
83868         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
83869         (strtoumax): Likewise, for completeness (it wasn't necessary).
83870
83871 2001-09-17  Paul Eggert  <eggert@twinsun.com>
83872
83873         * lib/strtoimax.c (HAVE_LONG_LONG):
83874         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
83875         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
83876         to work around bug in IBM C compiler.
83877
83878 2001-09-17  Jim Meyering  <meyering@lucent.com>
83879
83880         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
83881         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
83882         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
83883         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
83884         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
83885         whenever the right hand side need not be expanded by the shell.
83886
83887 2001-09-16  Paul Eggert  <eggert@twinsun.com>
83888
83889         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
83890         library.  It's not correct, as some older glibcs are buggy.
83891         fnmatch wasn't fixed until glibc 2.2.
83892
83893         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
83894         special shell magic here.
83895
83896 2001-09-16  Jim Meyering  <meyering@lucent.com>
83897
83898         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
83899         * m4/jm-macros.m4: Require it.
83900
83901 2001-09-16  Jim Meyering  <meyering@lucent.com>
83902
83903         * lib/mkdir.c: New file.
83904
83905 2001-09-15  Jim Meyering  <meyering@lucent.com>
83906
83907         * m4/jm-macros.m4: Check for help2man.
83908
83909 2001-09-11  Jim Meyering  <meyering@lucent.com>
83910
83911         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
83912         The body, by Paul Eggert, was moved here from configure.in.
83913         * m4/jm-macros.m4: Require UTILS_HOST_OS.
83914
83915 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83916
83917         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
83918         (jm_PREREQ): Use it.
83919
83920 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83921
83922         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
83923         Use ssize_t, not int, to store result of readlink.
83924         Check for ssize_t overflow as well as size_t overflow,
83925         as POSIX says the result of readlink is implementation-defined
83926         when ssize_t overflows.
83927         Remove unnecessary cast to char*.
83928         Use free+malloc instead of realloc, as the storage doesn't need
83929         to be preserved and it's clearer and can be more efficient that way.
83930         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
83931         * lib/xreadlink.h (xreadlink): Update prototype.
83932
83933 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83934
83935         * lib/xgetcwd.c: Revert some of the previous change; intead,
83936         fix the HAVE_GETCWD_NULL code to behave more like the
83937         !HAVE_GETCWD_NULL code used to.
83938
83939         Include "xalloc.h".
83940         (xgetcwd): Do not return NULL when memory is exhausted; instead,
83941         invoke xalloc_die.
83942
83943 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83944
83945         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
83946         sys/param.h, as pathmax.h includes them.
83947
83948 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83949
83950         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
83951         (jm_PREREQ_XGETCWD): New macro.
83952
83953         * m4/getcwd.m4: New file.
83954
83955 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83956
83957         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
83958         like the HAVE_GETCWD_NULL code.
83959         Include pathmax.h if not HAVE_GETCWD.
83960         Do not include xalloc.h.
83961         (INITIAL_BUFFER_SIZE): New symbol.
83962         Do not use xmalloc / xrealloc, since the caller is responsible for
83963         handling errors.  Preserve errno around `free' during failure.
83964         Do not overrun buffer when using getwd.
83965
83966 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83967
83968         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
83969         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
83970         getcwd (NULL, 0).
83971
83972 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83973
83974         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
83975         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
83976         spotted by Jim Meyering.
83977
83978 2001-09-03  Jim Meyering  <meyering@lucent.com>
83979
83980         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
83981         failure.
83982
83983 2001-09-02  Jim Meyering  <meyering@lucent.com>
83984
83985         * lib/error.c: Update from GNU libc.
83986
83987 2001-09-01  Jim Meyering  <meyering@lucent.com>
83988
83989         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
83990         Used by df.
83991
83992 2001-09-01  Jim Meyering  <meyering@lucent.com>
83993
83994         * lib/xreadlink.c: New file.
83995         * lib/xreadlink.h: New file.
83996         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
83997         xreadlink.h.
83998
83999         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
84000         doesn't conflict with sparc Solaris 7's definition in
84001         /usr/include/sys/int_types.h.
84002
84003         * lib/exclude.c: Use `""', not `<>' to #include non-system header
84004         files.
84005         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
84006         and strncasecmp as r-values.  Unixware didn't have declarations.
84007
84008 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84009
84010         * lib/xstrtol.h: Add copyright notice.
84011         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
84012         LONGINT_INVALID_SUFFIX_CHAR.
84013
84014 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84015
84016         * lib/xstrtol.c (strtoimax): New decl.
84017
84018 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84019
84020         * lib/xgetcwd.c: Don't include pathmax.h.
84021         Include stdlib.h and unistd.h if available.
84022         Include xalloc.h.
84023         (xmalloc, xstrdup, free): Remove decls.
84024         (xgetcwd): Don't assume sizes fit in unsigned.
84025         Check for overflow when computing sizes.
84026         Simplify reallocation code.
84027
84028 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84029
84030         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
84031         a directory's st_size can have an arbitrary value, so the old
84032         usage could waste an arbitrary amount of memory.  All uses
84033         changed.
84034         * lib/savedir.h: Update prototype.
84035
84036 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84037
84038         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
84039
84040         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
84041         old strtoimax.c.
84042
84043         Also, make the following further changes to make this file's
84044         configuration more similar to that of strtol.c:
84045         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
84046         (strtoumax, uintmax_t, strtoull, strtol): Remove.
84047         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
84048         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
84049         changed to signed values.
84050
84051         And make the following changes as well:
84052         Fix copyright notice, as 1999 was missing.
84053         (verify): New macro.
84054         (strtoimax): Check sizes at compile-time, not run-time.
84055         Prefer strtol to strtoll if both work.
84056         (main): Remove; it was not that useful and was a pain to maintain.
84057
84058         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
84059
84060 2001-08-31  Jim Meyering  <meyering@lucent.com>
84061
84062         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
84063         Use an initial, malloc'd, buffer of length 128 rather than
84064         a statically allocated one of length 1024.
84065
84066 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84067
84068         Simplify code, partly by assuming autoconf 2.52 semantics.
84069
84070         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
84071
84072         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
84073         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
84074         All uses removed.
84075         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
84076         Move AC_REQUIRE to next-to-top level, to avoid confusion.
84077         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
84078         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
84079         jm_AC_HEADER_INTTYPES_H.
84080         * m4/jm-macros.m4 (jm_MACROS): Likewise.
84081
84082         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
84083
84084         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
84085         Quote first arg of AC_DEFUN.
84086         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
84087         since they are needed to parse the include file even if we need
84088         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
84089         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
84090         but with opposite signedness.
84091
84092 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84093
84094         Merge 'exclude' changes from tar 1.13.22.
84095         This fixes one or two unlikely storage allocation overflow bugs,
84096         but doesn't change user-visible behavior otherwise.
84097
84098 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84099
84100         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
84101         (jm_PREREQ_EXCLUDE): New macro.
84102
84103 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84104
84105         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
84106         tm to be declared.
84107
84108 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84109
84110         * lib/hash.c: Remove '2001' from copyright notice.
84111
84112 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84113
84114         * lib/full-write.h: New file.
84115         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
84116         * lib/full-write.c: Correct credits, as cccp.c no longer
84117         exists and anyway it was so heavily changed from the old cccp
84118         code as to be unrecognizable.  Include full-write.h.
84119         (full_write): Return size_t, with short writes meaning failure.
84120         All callers changed.  This fixes a bug with large buffers
84121         on 64-bit hosts.
84122         * lib/utime.c: Include full-write.h.
84123
84124 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84125
84126         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
84127         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
84128         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
84129         Include if available.
84130         (<xalloc.h>): Include
84131         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
84132         (verify): New macro.  Use it to verify that EXCLUDE macros do not
84133         collide with FNM macros.
84134         (struct patopts): New struct.
84135         (struct exclude): Use it, as exclude patterns now come with options.
84136         (new_exclude): Support above changes.
84137         (new_exclude, add_exclude_file):
84138         Initial size must now be a power of two to simplify overflow checking.
84139         (free_exclude, fnmatch_no_wildcards): New function.
84140         (excluded_filename): No longer requires options arg, as the options
84141         are determined by add_exclude.  Now returns bool, not int.
84142         (excluded_filename, add_exclude):
84143         Add support for the fancy new exclusion options.
84144         (add_exclude, add_exclude_file): Now takes int options arg.
84145         Check for arithmetic overflow when computing sizes.
84146         (add_exclude_file): xrealloc might modify errno, so don't
84147         realloc until after errno might be used.
84148
84149         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
84150         New macros.
84151         (free_exclude): New decl.
84152         (add_exclude, add_exclude_file): Now takes int options arg.
84153         (excluded_filename): No longer requires options arg, as the options
84154         are determined by add_exclude.  Now returns bool, not int.
84155
84156 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84157
84158         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
84159
84160 2001-08-27  Jim Meyering  <meyering@lucent.com>
84161
84162         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
84163
84164         * lib/version-etc.c (N_): Remove definition.
84165         Revert most of last change.
84166         Instead, simply don't mark the `Copyright...' string for translation.
84167         Based on advice from Paul Eggert.
84168
84169         * lib/strtoxmax.c: Tweak comment.
84170
84171 2001-08-26  Jim Meyering  <meyering@lucent.com>
84172
84173         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
84174
84175         * m4/xstrtoimax.m4: New file.
84176         * m4/xstrtoumax.m4: Add comments explaining why we
84177         AC_REPLACE_FUNCS(strtol).
84178
84179 2001-08-26  Jim Meyering  <meyering@lucent.com>
84180
84181         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
84182         of copyright with `%s' so translators don't get an untranslated
84183         message in 2002.
84184         (COPYRIGHT_YEAR): Define.
84185         (version_etc): Use fprintf rather than fputs.
84186         Suggestion from Ulrich Drepper.
84187
84188         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
84189
84190         * lib/strtoll.c: New file, from GNU libc.
84191         * lib/xstrtoimax.c: New file.
84192
84193         * lib/xstrtol.h: Add xstrtoimax.
84194         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
84195         * lib/strtoimax.c: New file.  Likewise, but first define
84196         STRTOUXMAX_SIGNED.
84197
84198         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
84199         ...
84200         * lib/strtoxmax.c: ... then renamed to this.
84201
84202 2001-08-18  Paul Eggert  <eggert@twinsun.com>
84203
84204         * m4/inttypes.m4: Add AC_PREREQ(2.13).
84205         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
84206         (jm_AC_TYPE_INTMAX_T): New macro.
84207         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
84208
84209         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
84210
84211         * m4/longlong.m4: Renamed from ulonglong.m4.
84212         * m4/inttypes.m4: Renamed from inttypes_h.m4.
84213         * m4/uintmax_t.m4: Removed.
84214
84215 2001-08-13  Paul Eggert  <eggert@twinsun.com>
84216
84217         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
84218         Port to Solaris 8, where 'sed' requires a space after the 'r'
84219         command, and where sh dislikes "$/".  Clean up the spacing a bit.
84220         Redirect output to $tmp just once.
84221
84222 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
84223
84224         * lib/addext.c (<errno.h>): Include.
84225         (errno): Declare if not defined.
84226         (addext): Work correctly when pathconf returns -1 and leaves
84227         errno alone because there is no limit.  Also, work even if
84228         pathconf returns a value greater than SIZE_MAX.
84229
84230 2001-08-12  Jim Meyering  <meyering@lucent.com>
84231
84232         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
84233         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
84234         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
84235         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
84236         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
84237         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
84238         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
84239         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
84240         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
84241         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
84242         utime.m4, utimes.m4, xstrtoumax.m4:
84243         Quote the first argument in each use of AC_DEFUN.
84244
84245 2001-08-12  Jim Meyering  <meyering@lucent.com>
84246
84247         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
84248         Simply `return getcwd (NULL, 0);'.
84249         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
84250         Use 1300 as initial value for length, not PATH_MAX.
84251
84252         * lib/pathmax.h: Clean up cpp syntax.
84253
84254 2001-08-12  Jim Meyering  <meyering@lucent.com>
84255
84256         * lib/gettimeofday.c: New file.
84257         * lib/gtod.h: New file.
84258         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
84259
84260 2001-08-05  Jim Meyering  <meyering@lucent.com>
84261
84262         * m4/jm-macros.m4: Require autoconf-2.52.
84263
84264 2001-08-04  Jim Meyering  <meyering@lucent.com>
84265
84266         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
84267         stmt, to get in sync with glibc.
84268
84269 2001-08-03  Paul Eggert  <eggert@twinsun.com>
84270
84271         The following changes are from gettext 0.10.39 as maintained by
84272         Bruno Haible.
84273
84274         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
84275         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
84276         with inverted sense.  All uses changed.
84277
84278         * lib/mbswidth.c: Don't include <limits.h>.
84279         Include <stdlib.h> and <string.h> unconditionally.
84280         (iswcntrl, mbsinit, ISCNTRL): New macros.
84281         (mbsnwidth): Use K&R style function declarations.
84282         Don't bother checking for MB_LEN_MAX == 1, since the compiler
84283         can optimize it when MB_CUR_MAX == 1.
84284         The width of control characters is zero, not 1.
84285
84286 2001-08-03  Paul Eggert  <eggert@twinsun.com>
84287
84288         The following changes are from gettext 0.10.39 as maintained by
84289         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
84290
84291         * m4/codeset.m4: Upgrade to serial AM1.
84292         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
84293         all uses changed.  Quote first arg of AC_DEFUN.
84294         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
84295
84296         * m4/iconv.m4: Upgrade to serial AM2.
84297         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
84298         Add --with-libconv-prefix.
84299         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
84300         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
84301         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
84302         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
84303         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
84304
84305         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
84306         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
84307         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
84308         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
84309         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
84310         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
84311         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
84312         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
84313         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
84314
84315         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
84316         string.h any more.
84317
84318         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
84319         not the default value.
84320
84321         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
84322         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
84323         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
84324         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
84325         Also check for iswcntrl, used for wcwidth fallback.
84326         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
84327         to Autoconf 2.13.
84328
84329 2001-08-03  Jim Meyering  <meyering@lucent.com>
84330
84331         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
84332         as it was in the original.  Reported by Paul Eggert.
84333
84334 2001-07-16  Jim Meyering  <meyering@lucent.com>
84335
84336         * m4/gettimeofday.m4: New file.
84337         Prompted by a report from Bernhard Baehr.
84338
84339 2001-07-15  Jim Meyering  <meyering@lucent.com>
84340
84341         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
84342         stuff. Now it's in ../Makefile.cfg.
84343
84344 2001-07-15  Jim Meyering  <meyering@lucent.com>
84345
84346         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
84347         (BUILT_SOURCES): Add unlocked-io.h.
84348         (io_functions): Define.
84349         (unlocked-io.h): New rule.
84350         (DISTCLEANFILES): Add unlocked-io.h.
84351         (all-local): Depend on unlocked-io.h, to ensure it is created.
84352
84353         * lib/unlocked-io.hin: New file
84354
84355         * lib/regex.c: Update from glibc.
84356
84357 2001-07-05  Jim Meyering  <meyering@lucent.com>
84358
84359         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
84360         recommendation.
84361         (libfetish_a_SOURCES): Put all .h files here instead.
84362         Remove a thus-exposed (better checks in automake) duplicate and
84363         two unnecessary .h files.
84364
84365 2001-07-04  Jim Meyering  <meyering@lucent.com>
84366
84367         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
84368         that generates jm-glibc-io.m4 so that it doesn't trigger any make
84369         distcheck failure.
84370
84371 2001-07-02  Jim Meyering  <meyering@lucent.com>
84372
84373         The following changes were prompted by suggestions from Bruno Haible.
84374
84375         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
84376         is now generated.
84377         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
84378         definition of EXTRA_DIST.
84379         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
84380         ensure that the generated file is created/updated whenever the list
84381         of $(unlocked_functions) is changed.
84382         (jm-glibc-io.m4): New rule.
84383         (unlocked-io.h): New rule -- currently unused.
84384
84385 2001-06-24  Jim Meyering  <meyering@lucent.com>
84386
84387         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
84388         unmatched right bracket, rather than kludging it with an extra,
84389         falsely-matching quote in a comment.  Patch by Akim Demaille.
84390
84391 2001-06-11  Jim Meyering  <meyering@lucent.com>
84392
84393         * lib/regex.c: Update from GNU libc.
84394
84395 2001-05-27  Jim Meyering  <meyering@lucent.com>
84396
84397         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
84398         Check for ut_type in struct utmp.
84399
84400 2001-05-27  Jim Meyering  <meyering@lucent.com>
84401
84402         * lib/readutmp.h (UT_TYPE): Define.
84403
84404 2001-05-24  Jim Meyering  <meyering@lucent.com>
84405
84406         * lib/argmatch.c: Include "quote.h".
84407         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
84408         quote function.  Reported by Göran Uddeborg.
84409
84410 2001-05-22  Jim Meyering  <meyering@lucent.com>
84411
84412         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
84413         now that we use the package-supplied version unconditionally.
84414         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
84415
84416 2001-05-21  Jim Meyering  <meyering@lucent.com>
84417
84418         * m4/regex.m4: Change a couple backticks to single quotes to avoid
84419         shell syntax errors.
84420
84421 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
84422
84423         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
84424
84425 2001-05-20  Paul Eggert  <eggert@twinsun.com>
84426
84427         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
84428         Don't bother to check library strftime, since
84429         we'll be using our own my_strftime function anyway.
84430         Define my_strftime instead of strftime.
84431
84432 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
84433
84434         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
84435         which is not yet declared.
84436
84437 2001-05-15  Jim Meyering  <meyering@lucent.com>
84438
84439         * m4/regex.m4: Use proper quoting so brackets appear in the test
84440         program.
84441         Reported by, and with help from, Bruno Haible.
84442
84443 2001-05-13  Jim Meyering  <meyering@lucent.com>
84444
84445         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
84446         undefined.
84447
84448 2001-05-11  Paul Eggert  <eggert@twinsun.com>
84449
84450         dirname code cleanup.  base_name now behaves more compatibly
84451         with POSIX basename when given file names that have trailing
84452         slashes, and similarly for dir_name.  Add new primitives
84453         base_len and dir_len.  Put the directory-name-related decls
84454         into dirname.h.
84455
84456         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
84457         * lib/backupfile.c (base_name): Likewise.
84458         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
84459         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
84460         * lib/makepath.c (strip_trailing_slashes): Likewise.
84461         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
84462         ISSLASH): Likewise.
84463         * lib/rename.c (strip_trailing_slashes): Likewise.
84464         * lib/same.c (base_name): Likewise.
84465         * lib/stripslash.c (ISSLASH): Likewise.
84466
84467         * lib/addext.c: Include <dirname.h> after size_t is defined.
84468         * lib/backupfile.c: Likewise.
84469
84470         * lib/addext.c (addext): Use base_len to trim redundant
84471         trailing slashes instead of doing it ourselves.
84472         But do not trim the last slash if it is not redundant.
84473
84474         * lib/backupfile.c (find_backup_file_name,
84475         max_backup_version): Use base_len instead of rolling it ourselves.
84476         Handle the case of "" and (on DOS) "C:" correctly.
84477
84478         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
84479         needed. Include <string.h>, <dirname.h>.
84480         (base_name): Allow file names ending in slashes, other than names
84481         that are all slashes.  In this case, return the basename followed
84482         by the slashes.  This is more general, and can be used in places
84483         where the original base_name purposely had an assertion failure.
84484         (base_len): New function.
84485
84486         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
84487         Do not include <assert.h>; no longer needed.
84488         Include xalloc.h.
84489         (memrchr): Remove decl.
84490         (dir_name_r): Remove.
84491         (dir_len): Renamed from dirlen.  All callers changed.
84492         Rewrite in terms of base_name, for simplicity and consistency.
84493         (dir_name): Never return NULL.  All callers changed.
84494         Do not include <stdlib.h> in test program; no longer needed.
84495         return 0; is fine for test program.
84496
84497         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
84498         New macros.
84499         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
84500
84501         * lib/path-concat.c (path_concat): Use base_len to compute
84502         base length, not strlen; this means we cannot rely on memcpy
84503         to null-terminate.
84504
84505         * lib/same.c (STREQ): Remove.
84506         (same_name): Handle the case where the basename ends in trailing '/'.
84507
84508         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
84509         a slash was stripped.  Do not strip the last slash after a
84510         file system prefix.
84511
84512 2001-05-11  Paul Eggert  <eggert@twinsun.com>
84513
84514         * lib/Makefile.am (libfetish_a_SOURCES):
84515         Add strftime.c, since we now compile it on all hosts.
84516
84517         * lib/strftime.c (my_strftime):
84518         Define to nstrftime if emacs, but only if my_strftime is not defined.
84519         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
84520         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
84521         Add one more extra argument: a nanoseconds value.
84522         All uses changed.
84523         (ns): New macro.
84524         (my_strftime function): Add %N format.
84525         (emacs_strftimeu): Renamed from emacs_strftime,
84526         with extra ut argument.
84527
84528 2001-05-09  Paul Eggert  <eggert@twinsun.com>
84529
84530         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
84531
84532 2001-04-21  Jim Meyering  <meyering@lucent.com>
84533
84534         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
84535         doesn't interfere.
84536
84537 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
84538
84539         * m4/ftruncate.m4: Check for chsize.
84540         Link with ftruncate.o unconditionally if ftruncate is missing.
84541         This was required when cross-compiling to i586-mingw32msvc.
84542
84543 2001-04-08  Jim Meyering  <meyering@lucent.com>
84544
84545         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
84546         recomputed; that's necessary when the offset spans a DST transition.
84547         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
84548
84549 2001-04-02  Jim Meyering  <meyering@lucent.com>
84550
84551         * lib/regex.h, regex.c: Update from GNU libc.
84552
84553 2001-03-24  Jim Meyering  <meyering@lucent.com>
84554
84555         * m4/jm-macros.m4: Require autoconf-2.49d.
84556
84557 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
84558
84559         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
84560
84561 2001-03-19  Paul Eggert  <eggert@twinsun.com>
84562
84563         * lib/version-etc.c (version_etc_copyright): Update to 2001.
84564
84565 2001-03-17  Jim Meyering  <meyering@lucent.com>
84566
84567         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
84568         now that the version in autoconf is equivalent.
84569         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
84570
84571         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
84572         Suggestion from Akim Demaille.
84573
84574         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
84575         (jm_PREREQ_TEMPNAME): New function.
84576
84577 2001-03-16  Paul Eggert  <eggert@twinsun.com>
84578
84579         * lib/tempname.c (uint64_t): Define to uintmax_t if
84580         not defined, and if UINT64_MAX is not defined.
84581         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
84582         Reported by John David Anglin.
84583
84584 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
84585
84586         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
84587         resolve alias if codeset is empty.
84588         * lib/config.charset (BeOS): Use wildcard syntax.
84589
84590 2001-03-13  Jim Meyering  <meyering@lucent.com>
84591
84592         * lib/path-concat.c (path_concat)
84593         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
84594         concatenating e.g., `C:' and `foo'.
84595         From Bruno Haible.
84596
84597 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
84598
84599         * lib/localcharset.c (locale_charset): Don't use
84600         setlocale(LC_CTYPE,NULL). Don't return NULL.
84601         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
84602
84603 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
84604
84605         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
84606         support for DOS/DJGPP.
84607
84608 2001-03-01  Paul Eggert  <eggert@twinsun.com>
84609
84610         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
84611         lacks mkstemp.  Compile our own tempname.c if we compile our own
84612         mkstemp.c, as mkstemp relies on tempname.
84613
84614 2001-03-01  Jim Meyering  <meyering@lucent.com>
84615
84616         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
84617         AH_VERBATIM really does output its argument verbatim.
84618
84619 2001-02-28  Paul Eggert  <eggert@twinsun.com>
84620
84621         * lib/Makefile.am (libfetish_a_SOURCES):
84622         Add dup-safer.c, fopen-safer.c.
84623         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
84624
84625         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
84626         * lib/unistd-safer.h: New files.
84627
84628 2001-02-25  Paul Eggert  <eggert@twinsun.com>
84629
84630         The mkstemp replacement is taken from glibc 2.2.2, with some
84631         portability fixes for use outside glibc, as follows:
84632
84633         * lib/tempname.c (struct_stat64): New macro.
84634         (direxists, __gen_tempname): Use it.
84635         This avoids a portability problem with Solaris 8.
84636
84637         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
84638         (<stddef.h>, <stdint.h>, <string.h>):
84639         Include only if STDC_HEADERS || _LIBC.
84640         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
84641         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
84642         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
84643         (__set_errno): Define this macro if <errno.h> doesn't.
84644         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
84645         Define these macros if <stdio.h> doesn't.
84646         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
84647         Define these macros if <sys/stat.h>
84648         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
84649         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
84650         __xstat64): Define if not _LIBC.
84651         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
84652         (__gen_tempname): Invoke gettimeofday only if
84653         HAVE_GETTIMEOFDAY || _LIBC;
84654         otherwise, fall back on plain "time".
84655         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
84656
84657         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
84658
84659         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
84660
84661 2001-02-18  Paul Eggert  <eggert@twinsun.com>
84662
84663         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
84664
84665 2001-02-17  Paul Eggert  <eggert@twinsun.com>
84666
84667         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
84668         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
84669         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
84670         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
84671
84672 2001-02-17  Paul Eggert  <eggert@twinsun.com>
84673
84674         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
84675         Remove workaround macros for hosts that have mbrtowc but not
84676         mbstate_t, as we now insist on proper declarations for both
84677         before using mbrtowc.
84678
84679 2001-02-17  Jim Meyering  <meyering@lucent.com>
84680
84681         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
84682         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
84683         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
84684         UnixWare 7.1.1.
84685
84686         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
84687         rather than AC_CACHE_VAL.
84688
84689 2001-02-17  Jim Meyering  <meyering@lucent.com>
84690
84691         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
84692         around included file name.
84693
84694         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
84695
84696         * lib/strftime.c: Update from GNU libc (the only changes were to
84697         comments).
84698
84699 2001-02-17  Jim Meyering  <meyering@lucent.com>
84700
84701         * lib/regex.c: Update from libc.
84702
84703 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
84704
84705         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
84706         clash.
84707
84708 2001-02-16  Paul Eggert  <eggert@twinsun.com>
84709
84710         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
84711         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
84712         Reported by Mark Hounschell via Paul Eggert.
84713
84714 2001-02-07  Jim Meyering  <meyering@lucent.com>
84715
84716         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
84717
84718 2001-02-05  Jim Meyering  <meyering@lucent.com>
84719
84720         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
84721         it includes the patch required for `large file' support with at least
84722         HP-UX's 10.20 /bin/cc.
84723
84724 2001-02-03  Jim Meyering  <meyering@lucent.com>
84725
84726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
84727         AS_IF, now that it works once again (mysteriously).
84728         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
84729
84730 2001-01-30  Jim Meyering  <meyering@lucent.com>
84731
84732         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
84733         * m4/chown.m4: Rename conftestchown to conftest.chown.
84734         * m4/rename.m4: s/conftestdir/conftest.d1/ and
84735         s/conftestdir2/conftest.d2/.
84736         * m4/utimes.m4: s/conftestdata/conftest.data/
84737         Inspired by Pavel Roskin's change in autoconf.
84738
84739 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
84740
84741         * lib/config.charset: Update for FreeBSD 4.2.
84742
84743 2001-01-27  Jim Meyering  <meyering@lucent.com>
84744
84745         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
84746         a use of AS_IF.
84747         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
84748
84749 2001-01-26  Jim Meyering  <meyering@lucent.com>
84750
84751         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
84752         quotearg.c includes it.
84753
84754 2001-01-26  Jim Meyering  <meyering@lucent.com>
84755
84756         * lib/quotearg.c: Include stddef.h.
84757         * lib/quote.c: Include stddef.h.
84758         Reported by Axel Kittenberger.
84759
84760         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
84761         line in double quotes so that it evokes a better diagnostic.
84762         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
84763         Reported by Axel Kittenberger.
84764
84765 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
84766
84767         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
84768         as if it was a `charset'.
84769
84770 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
84771
84772         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
84773         has const.
84774
84775 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
84776
84777         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
84778         to avoid a warning.  Add back 'const' to inptr.
84779
84780 2001-01-20  Jim Meyering  <meyering@lucent.com>
84781
84782         Be sure that headers are checked before used in code compiled
84783         for the type checks.
84784         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
84785         In place of that, invoke jm_CHECK_ALL_TYPES.
84786         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
84787         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
84788         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
84789         The check for ssize_t was mistakenly run before the test for unistd.h.
84790
84791         The configure-time check for stdbool.h was missing.
84792         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
84793         (jm_PREREQ_HASH): New function.
84794
84795 2001-01-17  Jim Meyering  <meyering@lucent.com>
84796
84797         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
84798         for autoconf-2.49c.
84799         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
84800
84801 2001-01-16  Jim Meyering  <meyering@lucent.com>
84802
84803         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
84804         From Bruno Haible.
84805
84806 2001-01-14  Jim Meyering  <meyering@lucent.com>
84807
84808         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
84809         foo and bar.  Create conftestdir/ in the script, not in the C code.
84810         Remove directories in the script, not in the C code.
84811         Remove conftestdir{,2} before trying to create the directory.
84812         Make the entire configure script fail if the mkdir fails.
84813
84814 2001-01-14  Jim Meyering  <meyering@lucent.com>
84815
84816         * lib/rename.c: New file.  From Volker Borchert.
84817         Include stdlib.h, string.h or strings.h, and xalloc.h.
84818         Use strip_trailing_slashes rather than open-coding it.
84819
84820 2001-01-03  Paul Eggert  <eggert@twinsun.com>
84821
84822         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
84823
84824 2001-01-03  Jim Meyering  <meyering@lucent.com>
84825
84826         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
84827         of local `inptr' to avoid warning with some system declarations of
84828         iconv.
84829
84830 2001-01-02  Volker Borchert  <bt@teknon.de>
84831
84832         * m4/rename.m4: New file.
84833         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
84834
84835 2001-01-01  Jim Meyering  <meyering@lucent.com>
84836
84837         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
84838         even on systems with utmpx.h.  It's necessary for the declaration of
84839         utmp's ut_user member.  Reported by Andreas Jaeger.
84840
84841         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
84842         available. They are required for the declarations of getgrgid and
84843         getpwuid resp.
84844         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
84845         Reported by Andreas Jaeger.
84846
84847 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
84848
84849         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
84850         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
84851         so `make install' also works in VPATH builds.
84852
84853 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
84854
84855         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
84856         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
84857         can be used in subdirectories.
84858
84859 2000-12-29  Paul Eggert  <eggert@twinsun.com>
84860
84861         * lib/modechange.c: Do not assume that mode_t uses the
84862         traditional octal encoding.  E.g. "chmod 1 FOO" should set
84863         the other-execute bit of FOO even if S_IXOTH != 1.
84864
84865         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
84866         WOTH, XOTH, ALLM): New macros.
84867         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
84868          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
84869         Use them.
84870         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
84871         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
84872         (mode_compile):
84873         No need to use uintmax_t; unsigned long is long enough.
84874         Don't bother to get suffix since we don't use it.
84875
84876 2000-12-26  Jim Meyering  <meyering@lucent.com>
84877
84878         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
84879         better with autoheader.
84880
84881 2000-12-24  Jim Meyering  <meyering@lucent.com>
84882
84883         * lib/hash.c (is_prime): Return explicit boolean values.
84884         (hash_get_first): Return NULL to appease Irix5.6's 89.
84885         Reported by Nelson Beebe.
84886
84887 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
84888
84889         * lib/localcharset.c (locale_charset): Add support for Win32.
84890
84891 2000-12-18  Paul Eggert  <eggert@twinsun.com>
84892
84893         * lib/physmem.h, lib/physmem.c: New files.
84894
84895         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
84896         (noinst_HEADERS): Add physmem.h.
84897
84898         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
84899         't' for compatibility with Solaris 8 sort.
84900
84901 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
84902
84903         * lib/config.charset: Add support for BeOS.
84904
84905 2000-12-17  Jim Meyering  <meyering@lucent.com>
84906
84907         * m4/dos.m4 (jm_AC_DOS): New file and macro.
84908         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
84909
84910 2000-12-16  Jim Meyering  <meyering@lucent.com>
84911
84912         This bug had a serious impact on chown: `chown N:M FILE' (for integer
84913         N and M) would have treated it like `chown N:N FILE'.
84914
84915         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
84916
84917 2000-12-16  Jim Meyering  <meyering@lucent.com>
84918
84919         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
84920         SHELLS_FILE to a file name that's useful on djgpp systems.
84921         Include stdlib.h.
84922         (ADDITIONAL_DEFAULT_SHELLS): Define.
84923         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
84924         Based mostly on a patch from Prashant TR.
84925
84926 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
84927
84928         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
84929         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
84930         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
84931
84932 2000-12-08  Andreas Schwab  <schwab@suse.de>
84933
84934         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
84935         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
84936
84937 2000-12-07  Jim Meyering  <meyering@lucent.com>
84938
84939         * lib/stripslash.c (ISSLASH): Define.
84940         (strip_trailing_slashes): Use ISSLASH rather than comparing against
84941         `/'.
84942         From Prashant TR.
84943
84944         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
84945         (dir_name_r): Declare this function as static.
84946         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
84947         manifest itself on a name containing a mix of slashes and
84948         backslashes.
84949         Make this function work with names starting with a DOS-style
84950         drive letter and colon prefix.
84951         (dir_name): Append `.' if necessary.
84952         Based mostly on patches from Prashant TR and Eli Zaretskii.
84953
84954         * lib/dirname.h (dir_name_r): Remove prototype.
84955
84956 2000-12-06  Paul Eggert  <eggert@twinsun.com>
84957
84958         * m4/off_t-format.m4: Remove this file.
84959         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
84960
84961 2000-12-06  Jim Meyering  <meyering@lucent.com>
84962
84963         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
84964         replacement strtoull, we may well need the replacement strtoul, too.
84965         Check for declarations of strtoul and strtoull.
84966         Check for strtol.  Mainly as a cue to cause automake to include
84967         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
84968         Check for limits.h -- strtol.c needs it.
84969
84970 2000-12-05  Jim Meyering  <meyering@lucent.com>
84971
84972         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
84973
84974 2000-12-04  Jim Meyering  <meyering@lucent.com>
84975
84976         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
84977         Also include memory.h, stdlib.h, unistd.h if appropriate.
84978         Reported by Andreas Jaeger (conflicting declaration of malloc).
84979
84980 2000-12-02  Jim Meyering  <meyering@lucent.com>
84981
84982         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
84983         * m4/jm-macros.m4 (jm_MACROS): require it.
84984
84985 2000-12-02  Jim Meyering  <meyering@lucent.com>
84986
84987         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
84988
84989 2000-12-01  Paul Eggert  <eggert@twinsun.com>
84990
84991         * lib/memrchr.c: Include <config.h> before any system include file.
84992
84993 2000-11-30  Jim Meyering  <meyering@lucent.com>
84994
84995         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
84996
84997 2000-11-30  Jim Meyering  <meyering@lucent.com>
84998
84999         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
85000
85001 2000-11-29  Paul Eggert  <eggert@twinsun.com>
85002
85003         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
85004
85005 2000-11-26  Jim Meyering  <meyering@lucent.com>
85006
85007         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
85008
85009 2000-11-22  Paul Eggert  <eggert@twinsun.com>
85010
85011         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
85012         size of (size_t) -1; it's not portable.
85013
85014 2000-11-17  Jim Meyering  <meyering@lucent.com>
85015
85016         * lib/strstr.c: Update from GNU libc.
85017
85018 2000-11-17  Akim Demaille  <akim@epita.fr>
85019
85020         * lib/obstack.h: Formatting changes.
85021         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
85022         prevent type checking.
85023         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
85024         cast the value to (void *): assigning a `foo *' to a `void *'
85025         variable is valid.
85026         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
85027
85028 2000-11-16  Jim Meyering  <meyering@lucent.com>
85029
85030         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
85031
85032 2000-11-11  Jim Meyering  <meyering@lucent.com>
85033
85034         * lib/error.c: Add a couple #includes, merging from GNU libc version.
85035
85036 2000-11-10  Jim Meyering  <meyering@lucent.com>
85037
85038         * lib/obstack.h: Update from GNU libc.
85039         * lib/obstack.c: Likewise.
85040
85041 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
85042
85043         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
85044
85045 2000-11-06  Paul Eggert  <eggert@twinsun.com>
85046
85047         * lib/getusershell.c (setusershell): Use rewind rather than
85048         fseek/fseeko, to avoid configuration hassles with fseeko.
85049         Don't bother opening SHELLS_FILE if shellstream is NULL;
85050         it's not necessary.
85051
85052 2000-11-05  Jim Meyering  <meyering@lucent.com>
85053
85054         * lib/makepath.h (make_dir): Declare.
85055         * lib/makepath.c (make_dir): Remove `static' attribute.
85056         Tweak a comment.
85057
85058 2000-11-04  Jim Meyering  <meyering@lucent.com>
85059
85060         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
85061
85062 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
85063
85064         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
85065         last one in a bucket, advance to the next bucket.
85066
85067 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
85068
85069         * lib/fnmatch.c: Do not comment out all the code if we are using
85070         the GNU C library, because in some cases we are replacing buggy
85071         code in the GNU C library itself.
85072
85073 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
85074
85075         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
85076         (regex_compile): Catch bogus \(\1\).
85077
85078 2000-10-30  Paul Eggert  <eggert@twinsun.com>
85079
85080         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
85081         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
85082         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
85083
85084 2000-10-30  Paul Eggert  <eggert@twinsun.com>
85085
85086         * lib/error.h, getline.h, modechange.h:
85087         Remove "2000" from Copyright line, as the file hasn't been
85088         changed this year other than in the copyright notice.
85089
85090         * lib/xalloc.h: Add "2000" to Copyright line, as this file
85091         was changed this year.
85092
85093 2000-10-29  Jim Meyering  <meyering@lucent.com>
85094
85095         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
85096         renaming.
85097         * m4/ls-mntd-fs.m4: Likewise
85098
85099 2000-10-29  Jim Meyering  <meyering@lucent.com>
85100
85101         * lib/xstat.in: Fix grammar in comment.
85102
85103 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
85104
85105         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
85106         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
85107         doesn't define __restrict_arr.
85108
85109 2000-10-28  Jim Meyering  <meyering@lucent.com>
85110
85111         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
85112         (jm_PREREQ_MEMCHR): New function.
85113
85114 2000-10-28  Jim Meyering  <meyering@lucent.com>
85115
85116         * lib/memchr.c: Update from libc.
85117         Adjust for portability:
85118         [HAVE_STDLIB_H]: Include stdlib.h.
85119         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
85120         Undef __memchr, too.
85121         [!weak_alias]: Define __memchr to memchr.
85122
85123         * lib/regex.c: Update from libc.
85124         * lib/regex.h: Likewise.
85125         * lib/getopt1.c: Likewise.
85126         * lib/memcmp.c: Likewise.
85127
85128         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
85129         Avoid using fseek, when possible -- it's broken by design.
85130         Patch by Ulrich Drepper.
85131
85132 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
85133
85134         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
85135         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
85136         Giving in to popular pressure to shut up the compiler with casts.
85137
85138 2000-10-26  Jim Meyering  <meyering@lucent.com>
85139
85140         * lib/strftime.c: Update from libc.
85141
85142 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
85143
85144         * regex.c: More `unsigned char' -> `re_char' changes.
85145         Also change several `int' into `re_wchar_t'.
85146         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
85147         (PUSH_FAILURE_POINTER): Don't cast any more.
85148         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
85149         We want GCC to complain, since this piece of code makes
85150         re_match non-reentrant, which *should* be fixed.
85151         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
85152         (EXTEND_BUFFER): Use RETALLOC.
85153         (SET_LIST_BIT): Don't cast.
85154         (re_wchar_t): New type.
85155         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
85156         that those two functions will always properly return.
85157         (IMMEDIATE_QUIT_CHECK): Cast to void.
85158         (analyse_first): Use recursion rather than an explicit stack.
85159         (re_compile_fastmap): Can't fail anymore.
85160         (re_search_2): Don't check re_compile_fastmap for failure.
85161         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
85162         Now also sets the new value (passed in a new argument).
85163         (re_match_2_internal): Use it.
85164         Also, use a new var `reg' of type size_t when looping through regs
85165         rather than reuse the inappropriate `mcnt'.
85166
85167 2000-10-25  Jim Meyering  <meyering@lucent.com>
85168
85169         * lib/obstack.c: Update from libc.
85170
85171 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
85172
85173         * regex.c (regex_compile): Change the way of handling a range from
85174         a char less than 256 to a char not less than 256.
85175
85176 2000-10-24  Andrew Innes  <andrewi@gnu.org>
85177
85178         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
85179         NT-Emacs only.
85180         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
85181         so that re_search functions only quit when callers expect them to.
85182
85183 2000-10-23  Jim Meyering  <meyering@lucent.com>
85184
85185         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
85186         wrong.  That set_locale call must not have any side effects.
85187         From Paul Eggert.
85188
85189 2000-10-22  Jim Meyering  <meyering@lucent.com>
85190
85191         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
85192         [CYCLIC]: Remove now-unused definition.
85193
85194         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
85195         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
85196         Suggestion from Ulrich Drepper.
85197
85198 2000-10-21  Jim Meyering  <meyering@lucent.com>
85199
85200         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
85201         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
85202         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
85203
85204 2000-10-21  Jim Meyering  <meyering@lucent.com>
85205
85206         * lib/dirname.c (memrchr): Declare if necessary.
85207         (dir_name): Remove the restriction that there be no
85208         trailing slashes.  Now, this code skips past them, effectively
85209         ignoring them.
85210         [TEST_DIRNAME] (main): New unit tests.
85211
85212         * lib/memrchr.c: New file from GNU libc.
85213         Undef __memrchr, too.
85214         [!weak_alias]: Define __memrchr to memrchr.
85215         Guard weak_alias use with `#ifdef weak_alias'.
85216
85217 2000-10-21  Jim Meyering  <meyering@lucent.com>
85218
85219         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
85220         (dir_name): Use dir_name_r.
85221         * lib/dirname.h (dir_name_r): Declare it.
85222
85223 2000-10-17  Jim Meyering  <meyering@lucent.com>
85224
85225         * lib/quote.h (PARAMS): Define and use.
85226         Reported by Akim Demaille.
85227
85228         * lib/getopt.c: Update from libc.
85229
85230 2000-10-16  Jim Meyering  <meyering@lucent.com>
85231
85232         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
85233         setlocale.
85234         From Jan Fedak.
85235
85236 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
85237
85238         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
85239
85240 2000-09-25  Jim Meyering  <meyering@lucent.com>
85241
85242         * lib/md5.h (rol): Define (from GnuPG).
85243
85244         * lib/sha.c: Give credit (GnuPG) where due.
85245         (M): Use rol rather than open-coding it.
85246         Add a FIXME comment.
85247
85248 2000-09-21  Jim Meyering  <meyering@lucent.com>
85249
85250         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
85251         Reported by Michael Stone.
85252
85253 2000-09-20  Jim Meyering  <meyering@lucent.com>
85254
85255         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
85256         (noinst_HEADERS): Add sha.h.
85257         Based on code from Scott G. Miller and from GnuPG.
85258
85259 2000-09-18  Jim Meyering  <meyering@lucent.com>
85260
85261         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
85262         LIBS. Otherwise, everyone ends up linking with -lelf for some
85263         configurations.
85264         Reported by Mike Stone.
85265
85266 2000-09-15  Jim Meyering  <meyering@lucent.com>
85267
85268         * lib/regex.c: Update from libc.
85269
85270 2000-09-10  Jim Meyering  <meyering@lucent.com>
85271
85272         * lib/getopt.c (_getopt_internal): Update from glibc.
85273
85274 2000-09-09  Jim Meyering  <meyering@lucent.com>
85275
85276         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
85277         think it should be used as a general replacement for isascii.
85278         * lib/fnmatch.c: Likewise.
85279         * lib/mbswidth.c: Likewise
85280         * lib/regex.c: Likewise.
85281
85282         Don't use atoi.
85283         * lib/userspec.c: Include sys/param.h and limits.h.
85284         Include xstrtol.h.
85285         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
85286         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
85287         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
85288         UID, GID.  Check range.
85289
85290 2000-09-06  Jim Meyering  <meyering@lucent.com>
85291
85292         * lib/getopt.c (_getopt_internal): Update from glibc.
85293
85294 2000-08-30  Jim Meyering  <meyering@lucent.com>
85295
85296         * lib/strftime.c: Merge in changes from GNU libc.
85297
85298 2000-08-26  Jim Meyering  <meyering@lucent.com>
85299
85300         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
85301         * m4/fpending.m4: New file.
85302
85303 2000-08-26  Jim Meyering  <meyering@lucent.com>
85304
85305         * lib/closeout.c: Include "__fpending.h".
85306         (close_stdout_status): Return right away if there's nothing to flush.
85307
85308         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
85309         * lib/__fpending.c: New file.
85310         * lib/__fpending.h: New file.
85311
85312 2000-08-20  Jim Meyering  <meyering@lucent.com>
85313
85314         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
85315         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
85316         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
85317
85318 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
85319
85320         Improve fileutils installation on systems where running
85321         programs (like install) can't be unlinked.
85322         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
85323         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
85324
85325 2000-08-07  Paul Eggert  <eggert@twinsun.com>
85326
85327         Standardize on "memory exhausted" instead of "Memory exhausted"
85328         or "virtual memory exhausted".
85329         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
85330         "virtual memory exhausted".
85331         * lib/same.c (same_name): Invoke xalloc_die instead of printing
85332         our own message.
85333         * lib/userspec.c (parse_user_spec): Likewise.
85334         * lib/bumpalloc.h: comment fix
85335         * lib/same.c, userspec.c: Include xalloc.h.
85336
85337         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
85338         not char *const and pointing to a constant array.
85339         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
85340         (xrealloc): Comment fix.
85341
85342         * lib/userspec.c (parse_user_spec):
85343         Don't translate a message until just before returning,
85344         to avoid unnecessary translation.
85345
85346 2000-08-07  Jim Meyering  <meyering@lucent.com>
85347
85348         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
85349         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
85350         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
85351         getgroups.c, gethostname.c, getopt.h, group-member.c,
85352         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
85353         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
85354         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
85355         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
85356         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
85357         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
85358         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
85359         yesno.c: Back out Copyright date changes for each file with no change
85360         this year.  This eases coordination with other programs using the same
85361         source code modules.  From Paul Eggert.
85362
85363 2000-08-06  Paul Eggert  <eggert@twinsun.com>
85364
85365         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
85366         not char, for compatibility with glibc 2.1.3 strftime.c.
85367
85368 2000-08-03  Greg McGary  <greg@mcgary.org>
85369
85370         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
85371         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
85372         (EXTEND_BUFFER): Use them.
85373
85374 2000-08-01  Jim Meyering  <meyering@lucent.com>
85375
85376         * lib/dirname.c (ISSLASH): Define.
85377         (BACKSLASH_IS_PATH_SEPARATOR): Define.
85378         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
85379         both `\' and `/' may be use as path separators.
85380         Based on a patch from Prashant TR.
85381
85382 2000-07-31  Paul Eggert  <eggert@twinsun.com>
85383
85384         * lib/quotearg.c (quotearg_n_options): Don't make the initial
85385         slot vector a constant, since it might get modified.
85386
85387 2000-07-31  Jim Meyering  <meyering@lucent.com>
85388
85389         * lib/xmalloc.c: Use `virtual memory exhausted', not
85390         `Memory exhausted'.
85391         * lib/obstack.c (print_and_abort): Likewise.
85392
85393 2000-07-30  Paul Eggert  <eggert@twinsun.com>
85394
85395         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
85396         buffer, so that the caller can always quote one small
85397         component of a "memory exhausted" message in slot 0.
85398         From a suggestion by Jim Meyering.
85399
85400 2000-07-30  Jim Meyering  <meyering@lucent.com>
85401
85402         * lib/makepath.c (make_path): Quote the other instance, too.
85403
85404         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
85405         (STATIC_BUF_SIZE): Define.
85406         (quotearg_n_options): Use only statically allocated storage when
85407         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
85408         than STATIC_BUF_SIZE.
85409
85410 2000-07-29  Jim Meyering  <meyering@lucent.com>
85411
85412         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
85413         * lib/dirname.c (dir_name): Likewise.
85414
85415         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
85416         `/'.
85417
85418         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
85419         (dir_name): Assert that there are no trailing slashes.
85420
85421 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
85422
85423         * lib/mbswidth.h (mbswidth): Add a flags argument.
85424         (mbswidth): New declaration.
85425         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
85426         * lib/mbswidth.c (mbswidth): Add a flags argument.
85427         (mbsnwidth): New function.
85428
85429 2000-07-24  Jim Meyering  <meyering@lucent.com>
85430
85431         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
85432
85433 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85434
85435         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
85436
85437 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85438
85439         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
85440         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
85441         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
85442         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
85443         invoke multibyte primitives.
85444
85445 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85446
85447         * lib/quotearg.c:
85448         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
85449         so that mbstate_t is always defined.
85450
85451         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
85452         be 1 in at least one GCC installation, and this configuration
85453         error is likely to be common.  Ignoring MB_LEN_MAX hurts
85454         performance on hosts that have mbrtowc but have only unibyte
85455         locales, but I assume these hosts are rare.
85456
85457 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85458
85459         * lib/mbswidth.c (_XOPEN_SOURCE):
85460         Don't define; this causes problems on Solaris 7.
85461         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
85462
85463 2000-07-23  Jim Meyering  <meyering@lucent.com>
85464
85465         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
85466         too: getgrgid, getpwuid, getuid.
85467
85468 2000-07-23  Jim Meyering  <meyering@lucent.com>
85469
85470         * lib/basename.c (base_name): Add an assertion.
85471
85472 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
85473
85474         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
85475         shadow its mbsinit function.
85476
85477 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
85478
85479         * lib/mbswidth.h: New file.
85480         * lib/mbswidth.c: New file.
85481         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
85482         (noinst_HEADERS): Add mbswidth.h.
85483
85484 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
85485
85486         * lib/config.charset: Add support for FreeBSD. Improve support for
85487         HP-UX and IRIX 6.
85488
85489 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
85490
85491         * m4/mbswidth.m4: New file.
85492         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
85493
85494 2000-07-15  Jim Meyering  <meyering@lucent.com>
85495
85496         * lib/makepath.c: Include quote.h.
85497         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
85498         corresponding argument in a `quote (...)' call.
85499         Give better diagnostics.
85500
85501         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
85502         (noinst_HEADERS): Add quote.h.
85503
85504         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
85505         from tar's src/misc.c.
85506         * lib/quote.h: New file.  Prototypes for same.
85507
85508 2000-07-14  Paul Eggert  <eggert@twinsun.com>
85509
85510         From a suggestion by Bruno Haible.
85511         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
85512         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
85513         to decide whether to define the BeOS workaround macro;
85514         this adjusts to the change to AC_MBSTATE_T.
85515
85516 2000-07-14  Jim Meyering  <meyering@lucent.com>
85517
85518         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
85519         jm_AC_TYPE_UINTMAX_T.
85520
85521 2000-07-13  Paul Eggert  <eggert@twinsun.com>
85522
85523         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
85524
85525         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
85526         quotearg_buffer_restyled): Add support for
85527         clocale_quoting_style.  Undo previous change to
85528         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
85529         and "{RIGHT QUOTATION MARK}" msgids.
85530
85531 2000-07-10  Paul Eggert  <eggert@twinsun.com>
85532
85533         From a suggestion by Bruno Haible.
85534         * m4/mbstate_t.m4 (AC_MBSTATE_T):
85535         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
85536         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
85537         and mbstate_t, to a single-part test that simply defines mbstate_t.
85538         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
85539         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
85540
85541 2000-07-10  Jim Meyering  <meyering@lucent.com>
85542
85543         * m4/strerror_r.m4: Mirror the correction made in autoconf.
85544
85545         * m4/gnu-source.m4: Output to confdefs.h directly.
85546         Suggestion from Akim Demaille.
85547
85548 2000-07-09  Paul Eggert  <eggert@twinsun.com>
85549
85550         The old behavior of quoting `like this' doesn't look good with
85551         newer, ISO-style fonts.  See:
85552         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
85553
85554         Instead, quote "like this" by default.  Let the translator
85555         tailor the locale-specific quoting behavior by providing
85556         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
85557
85558         * lib/quotearg.c (N_): New macro.
85559         (gettext_default): New function.
85560         (quotearg_buffer_restyled): Use
85561         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
85562         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
85563
85564 2000-07-09  Jim Meyering  <meyering@lucent.com>
85565
85566         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
85567         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
85568
85569         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
85570         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
85571
85572 2000-07-09  Jim Meyering  <meyering@lucent.com>
85573
85574         * lib/Most files: Update copyright dates to include 2000.
85575
85576 2000-07-08  Jim Meyering  <meyering@lucent.com>
85577
85578         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
85579         if not defined.
85580         (xgethostname): Remove now-unnecessary #ifdef.
85581         Move declaration of `err' into loop where it's used.
85582
85583 2000-07-05  Paul Eggert  <eggert@twinsun.com>
85584         and Bruno Haible  <haible@clisp.cons.org>
85585
85586         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
85587         only if the test for an object-type mbstate_t fails.  This
85588         prevents us from mistakenly reporting that mbstate_t is a
85589         system object type after we "#define mbstate_t int" to work
85590         around its lack.
85591
85592 2000-07-05  Paul Eggert  <eggert@twinsun.com>
85593         and Bruno Haible  <haible@clisp.cons.org>
85594
85595         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
85596
85597 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
85598
85599         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
85600         to strerror_r.
85601         Include <ctype.h> for use of isalpha.
85602
85603 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
85604
85605         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
85606         by allocating a larger buffer. Test the gethostname return value for
85607         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
85608         returns an error and ENAMETOOLONG isn't defined.
85609
85610 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
85611
85612         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
85613         dimension.
85614
85615 2000-07-04  Jim Meyering  <meyering@lucent.com>
85616
85617         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
85618         of the deprecated AC_CHECKING.
85619
85620 2000-07-04  Jim Meyering  <meyering@lucent.com>
85621
85622         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
85623         Reported by Bruno Haible.
85624
85625 2000-07-04  Jim Meyering  <meyering@lucent.com>
85626
85627         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
85628         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
85629         lacks mbrtowc.
85630
85631 2000-07-03  Paul Eggert  <eggert@twinsun.com>
85632
85633         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
85634         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
85635
85636 2000-07-03  Paul Eggert  <eggert@twinsun.com>
85637         and Bruno Haible  <haible@clisp.cons.org>
85638
85639         * lib/quotearg.c (mbrtowc):
85640         Assign to *pwc, and return 1 only if result is nonzero.
85641         (iswprint): Use ISPRINT when substituting our own mbrtowc.
85642
85643 2000-07-03  Jim Meyering  <meyering@lucent.com>
85644
85645         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
85646
85647 2000-07-03  Jim Meyering  <meyering@lucent.com>
85648
85649         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
85650         This is necessary to get a definition of e.g., UTMP_FILE on
85651         HP-UX 10.20.
85652         From Bob Proulx.
85653
85654 2000-07-02  Jim Meyering  <meyering@lucent.com>
85655
85656         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
85657
85658         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
85659         AC_LIBOBJ(function_name).
85660         * m4/chown.m4: Likewise.
85661         * m4/fnmatch.m4: Likewise.
85662         * m4/ftruncate.m4: Likewise.
85663         * m4/getgroups.m4: Likewise.
85664         * m4/getline.m4: Likewise.
85665         * m4/group-member.m4: Likewise.
85666         * m4/jm-macros.m4: Likewise.
85667         * m4/lstat.m4: Likewise.
85668         * m4/malloc.m4: Likewise.
85669         * m4/memcmp.m4: Likewise.
85670         * m4/nanosleep.m4: Likewise.
85671         * m4/putenv.m4: Likewise.
85672         * m4/realloc.m4: Likewise.
85673         * m4/regex.m4: Likewise.
85674         * m4/stat.m4: Likewise.
85675         * m4/strftime.m4: Likewise.
85676
85677 2000-07-02  Jim Meyering  <meyering@lucent.com>
85678
85679         * lib/quotearg.c (mbstate_t): Don't define here.
85680
85681 2000-07-02  Jim Meyering  <meyering@lucent.com>
85682
85683         * lib/nanosleep.c (SIGCONT): Define if not already defined.
85684
85685 2000-07-01  Jim Meyering  <meyering@lucent.com>
85686
85687         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
85688
85689 2000-07-01  Jim Meyering  <meyering@lucent.com>
85690
85691         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
85692         problem.
85693
85694 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
85695
85696         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
85697         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
85698
85699 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
85700
85701         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
85702         per change in ../m4/ls-mntd-fs.m4.
85703         (read_filesystem_list): Ignore symbolic links.
85704
85705 2000-06-29  Jim Meyering  <meyering@lucent.com>
85706
85707         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
85708         for declaration of strcmp.
85709
85710         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
85711
85712         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
85713         Avoid warning by casting result to `char *' to remove `const'.
85714
85715 2000-06-28  Jim Meyering  <meyering@lucent.com>
85716
85717         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
85718         included by quotearg.c, for which we perform this test.  From
85719         Bruno Haible.
85720
85721 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
85722
85723         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
85724         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
85725         <utmpx.h> exists, put readutmp.o into LIBOBJS.
85726
85727 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
85728
85729         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
85730
85731 2000-06-26  Paul Eggert  <eggert@twinsun.com>
85732
85733         savedir now sets errno on failure and invokes xmalloc to get memory.
85734         Fix a couple of other minor bugs while we're at it.
85735
85736         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
85737         (NAMLEN): Remove macro.
85738         (malloc, realloc): Remove decls.
85739         (stpcpy): Likewise.
85740         ("xalloc.h"): Include.
85741         (NAME_SIZE_DEFAULT): New macro.
85742         (savedir): Use xmalloc / xrealloc to allocate memory.
85743         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
85744         Skip "" directory entries.
85745         Use strlen to calculate directory entry length, since the old method
85746         is rarely used these days and isn't worth supporting.
85747         Don't use a pointer after freeing it.
85748         Check for integer overflow when calculating allocation size.
85749         Use memcpy to copy entries, instead of stpcpy.
85750         Set errno properly when returning NULL.
85751         Check for readdir error.
85752
85753 2000-06-26  Jim Meyering  <meyering@lucent.com>
85754
85755         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
85756
85757 2000-06-25  Jim Meyering  <meyering@lucent.com>
85758
85759         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
85760         Linux header bug when _XOPEN_SOURCE is defined to 500.
85761
85762 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
85763
85764         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
85765         deficiency.
85766
85767 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
85768
85769         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
85770         Include xalloc.h.
85771         Don't include <stdlib.h>.  Don't declare malloc, realloc.
85772
85773 2000-06-24  Jim Meyering  <meyering@lucent.com>
85774
85775         * m4/strerror_r.m4: Revive this file -- to try out an experimental
85776         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
85777         for which strerror does return char*, but which lacks a conveniently
85778         accessible declaration of the function.  If the compile-test says
85779         strerror_r doesn't work, then resort to a `run'-test that works on
85780         BeOS and segfaults on DEC Unix.
85781
85782 2000-06-24  Jim Meyering  <meyering@lucent.com>
85783
85784         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
85785
85786 2000-06-23  Paul Eggert  <eggert@twinsun.com>
85787
85788         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
85789         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
85790
85791 2000-06-23  Paul Eggert  <eggert@twinsun.com>
85792
85793         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
85794         (mbrtowc, mbstate_t): Define substitutes if
85795         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
85796         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
85797         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
85798
85799 2000-06-23  Jim Meyering  <meyering@lucent.com>
85800
85801         * m4/afs.m4: Add missing AC_MSG_RESULT.
85802         Reported by Bruno Haible.
85803
85804         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
85805         Suggestion from Bruno Haible.
85806
85807 2000-06-23  Jim Meyering  <meyering@lucent.com>
85808
85809         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
85810
85811 2000-06-21  Jim Meyering  <meyering@lucent.com>
85812
85813         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
85814
85815 2000-06-21  Jim Meyering  <meyering@lucent.com>
85816
85817         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
85818         (noinst_HEADERS): Add getstr.h.
85819
85820         * lib/getline.c (getstr): Move into a separate file.
85821         * lib/getstr.c (getstr): New file, extracted from getline.c, with
85822         the following changes: new parameter, delim2; both delim[12]
85823         parameters have type `int', not `char'.  The latter would lose
85824         with 8-bit delimiters.
85825         * lib/getstr.h: New file.
85826
85827 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85828
85829         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
85830         than 1024, return a memory chunk of least possible size, instead
85831         of size PATH_MAX + 2. In the loop, increment the size proportionally.
85832         Use free/xmalloc instead of xrealloc to avoid copying for very long
85833         paths.
85834
85835 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85836
85837         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
85838         the empty string.
85839
85840 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85841
85842         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
85843         address, not strdup.  Include <stdlib.h> and don't declare free().
85844
85845 2000-06-19  Jim Meyering  <meyering@lucent.com>
85846
85847         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
85848
85849 2000-06-18  Jim Meyering  <meyering@lucent.com>
85850
85851         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
85852
85853         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
85854         `checking whether...' message to be consistent with that of the
85855         lstat test.
85856
85857 2000-06-18  Jim Meyering  <meyering@lucent.com>
85858
85859         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
85860         Besides, these days every porting target provides a mkdir function.
85861
85862         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
85863         needed. (this snippet comes from src/system.h).
85864
85865 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
85866
85867         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
85868
85869 2000-06-15  Paul Eggert  <eggert@twinsun.com>
85870
85871         * lib/human.c (adjust_value): New function.
85872         (human_readable_inexact): Apply rounding style even when
85873         printing approximate values.
85874
85875 2000-06-14  Paul Eggert  <eggert@twinsun.com>
85876
85877         * lib/human.c (human_readable_inexact): Allow an input block
85878         size that is not a multiple of the output block size, and vice versa.
85879         Reported by Piergiorgio Sartor.
85880
85881 2000-06-14  Paul Eggert  <eggert@twinsun.com>
85882
85883         * lib/getdate.y (get_date): Apply relative times after time
85884         zone indicator, not before.  Reported by Todd A. Jacobs.
85885
85886 2000-06-13  Jim Meyering  <meyering@lucent.com>
85887
85888         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
85889
85890         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
85891
85892 2000-06-12  Paul Eggert  <eggert@twinsun.com>
85893
85894         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
85895
85896 2000-06-12  Jim Meyering  <meyering@lucent.com>
85897
85898         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
85899         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
85900         optional argument.
85901         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
85902         the optional argument, `lib'.
85903
85904 2000-06-08  Jim Meyering  <meyering@lucent.com>
85905
85906         * m4/largefile.m4: Remove file (now that it's part of autoconf).
85907
85908 2000-06-04  Paul Eggert  <eggert@twinsun.com>
85909
85910         Rewrite largefile configuration so that we don't need to run
85911         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
85912         AC_CANONICAL_HOST in configure.in -- jmm]
85913
85914         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
85915         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
85916         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
85917         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
85918         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
85919         All uses changed.
85920         Instead of inspecting the output of getconf, try to compile the
85921         test program without and with the macro definition.
85922         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
85923         for getconf.  Instead, check for the needed flags by compiling
85924         test programs.
85925
85926 2000-06-04  Paul Eggert  <eggert@twinsun.com>
85927
85928         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
85929
85930 2000-06-04  Jim Meyering  <meyering@lucent.com>
85931
85932         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
85933         SunOS 4.1.4 for which gid_t is an unsigned type.
85934
85935 2000-06-03  Jim Meyering  <meyering@lucent.com>
85936
85937         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
85938         now that autoconf requires that.
85939
85940         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
85941         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
85942         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
85943
85944 2000-06-03  Jim Meyering  <meyering@lucent.com>
85945
85946         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
85947
85948 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
85949
85950         * m4/glibc21.m4: New file.
85951         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
85952
85953 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
85954
85955         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
85956         newer, don't install charset.alias.
85957         * lib/config.charset: Change the Linux/glibc rules so they become empty
85958         on glibc-2.1 or newer.
85959
85960 2000-06-02  Jim Meyering  <meyering@lucent.com>
85961
85962         * lib/mountlist.c: Back out last change.  Instead, do this...
85963         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
85964         me_dummy member using the same `ignore'-testing code.
85965         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
85966         fs_type strings.
85967         From Mark D. Roth.
85968
85969 2000-05-29  Jim Meyering  <meyering@lucent.com>
85970
85971         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
85972         mounts with the `ignore' attribute.  Based on a patch from
85973         Mark D. Roth.
85974
85975 2000-05-28  Jim Meyering  <meyering@lucent.com>
85976
85977         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
85978         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85979         * m4/stat.m4: Likewise.
85980         * m4/lstat.m4: Likewise.
85981         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
85982
85983         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
85984         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
85985
85986 2000-05-26  Jim Meyering  <meyering@lucent.com>
85987
85988         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
85989
85990 2000-05-24  Jim Meyering  <meyering@lucent.com>
85991
85992         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
85993         autoconf requires that.
85994         * m4/lib-check.m4: Likewise.
85995         * m4/jm-macros.m4: Likewise.
85996         * m4/strftime.m4: Likewise.
85997
85998         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
85999         AC_CHECK_DECLS, now that autoconf requires that.
86000
86001 2000-05-22  Jim Meyering  <meyering@lucent.com>
86002
86003         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86004         * m4/lstat.m4: Likewise.
86005
86006 2000-05-22  Jim Meyering  <meyering@lucent.com>
86007
86008         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
86009
86010 2000-05-20  Jim Meyering  <meyering@lucent.com>
86011
86012         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
86013         (jm_PREREQ): Use it.
86014
86015 2000-05-18  Jim Meyering  <meyering@lucent.com>
86016
86017         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
86018         back, too, since it may have been modified by allocate_entry.
86019         (hash_delete): Rewrite to use neither the assignment operator
86020         nor the comma operator in an if-expression.
86021
86022 2000-05-15  Paul Eggert  <eggert@twinsun.com>
86023
86024         * lib/closeout.c:
86025         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
86026         Remove; no longer needed.
86027         "quotearg.h": Add include.
86028         (file_name): Do not bother to explicitly initialize to NULL; it's less
86029         efficient on some hosts.
86030         (close_stdout_status): Remove test as to whether stdout was already
86031         closed; it breaks for the case "echo x | sort >&-".
86032         Quote file name colons.
86033         Do not assume that _("write error") lacks format strings.
86034
86035 2000-05-15  Jim Meyering  <meyering@lucent.com>
86036
86037         * lib/version-etc.c (version_etc_copyright): Update the copyright
86038         string used in all --version output.
86039
86040 2000-05-14  Jim Meyering  <meyering@lucent.com>
86041
86042         * lib/closeout.c (close_stdout_set_file_name): New function.
86043         (close_stdout_status): Use new file-scoped global.
86044         Return right away if fstat says the stdout file descriptor is invalid.
86045         * lib/closeout.h (close_stdout_set_file_name): Declare.
86046
86047 2000-05-10  Jim Meyering  <meyering@lucent.com>
86048
86049         * lib/closeout.c [default_exit_status]: New file-scoped variable.
86050         (close_stdout_set_status): New function.
86051         * lib/closeout.h (close_stdout_set_status): Declare.
86052
86053 2000-05-09  Jim Meyering  <meyering@lucent.com>
86054
86055         * m4/gettext.m4: Rename this...
86056         * m4/libintl.m4: ...to this.
86057
86058 2000-05-08  Jim Meyering  <meyering@lucent.com>
86059
86060         * lib/long-options.c: Don't include closeout.h.
86061         (parse_long_options): Don't call close_stdout for --version.
86062
86063 2000-05-06  Paul Eggert  <eggert@twinsun.com>
86064
86065         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
86066         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
86067         2.1.3 bug.  This avoids a clash when files like regex.c define
86068         _GNU_SOURCE.
86069
86070 2000-05-06  Jim Meyering  <meyering@lucent.com>
86071
86072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
86073         (AC_REPLACE_FUNCS): Add strnlen.
86074
86075         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
86076         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
86077
86078         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
86079         AC_SEARCH_LIBS call for nanosleep.
86080         (LIB_NANOSLEEP): Set and AC_SUBST.
86081
86082 2000-05-06  Jim Meyering  <meyering@lucent.com>
86083
86084         * lib/strnlen.c: Undefine __strnlen and strnlen.
86085         [!weak_alias]: Define __strnlen to strnlen.
86086
86087         * lib/atexit.c: New file, from libiberty.
86088
86089 2000-05-06  Jim Meyering  <meyering@lucent.com>
86090
86091         * lib/closeout.c (close_stdout_status): Also check for errors on the
86092         stderr stream.
86093
86094 2000-05-05  Jim Meyering  <meyering@lucent.com>
86095
86096         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
86097         AC_SEARCH_LIBS call for clock_gettime.
86098         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
86099
86100         * m4/search-libs.m4: Update from autoconf.
86101
86102         su doesn't work on Solaris 2.6.
86103         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
86104         <shadow.h>.  Reported by Dragos Harabor.
86105
86106 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
86107
86108         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
86109         memcpy instead of xmalloc, xrealloc, path_concat.
86110         (locale_charset): Treat empty environment variables as absent.
86111         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
86112
86113 2000-05-04  Jim Meyering  <meyering@lucent.com>
86114
86115         * lib/getopt.c: Update from glibc.
86116         * lib/obstack.c: Likewise.
86117         * lib/obstack.h: Likewise.
86118         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
86119         file
86120
86121         * lib/regex.h: Likewise.
86122         * lib/strndup.c: Likewise.
86123         * lib/strnlen.c: New file, from glibc.
86124
86125 2000-05-03  Jim Meyering  <meyering@lucent.com>
86126
86127         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
86128
86129 2000-05-02  Paul Eggert  <eggert@twinsun.com>
86130
86131         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
86132         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
86133         compile-time test, rather than inspecting host and OS, to
86134         decide whether to define _LARGEFILE_SOURCE.
86135
86136 2000-05-01  Jim Meyering  <meyering@lucent.com>
86137
86138         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
86139
86140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
86141         Based on a patch from Bruno Haible.
86142
86143 2000-05-01  Jim Meyering  <meyering@lucent.com>
86144
86145         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
86146
86147 2000-04-29  Jim Meyering  <meyering@lucent.com>
86148
86149         * lib/path-concat.c: Declare strdup only if it's not defined.
86150         * lib/canon-host.c: Likewise.
86151
86152 2000-04-28  Jim Meyering  <meyering@lucent.com>
86153
86154         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
86155         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
86156         is included first, then limits.h is included by locale.h by libintl.h.
86157         From John David Anglin.
86158
86159 2000-04-25  Jim Meyering  <meyering@lucent.com>
86160
86161         * lib/makepath.c (S_IRWXUGO): Define.
86162         (make_path): Always perform explicit chmod if MODE specifies any
86163         of the `special' permission bits.  Prompted by a bug report against
86164         install from Mate Wierdl and Joost van Baal.
86165
86166 2000-04-18  Jim Meyering  <meyering@lucent.com>
86167
86168         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
86169         (jm_PREREQ): Use it.
86170
86171 2000-04-18  Jim Meyering  <meyering@lucent.com>
86172
86173         * lib/README: New file.
86174
86175         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
86176         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
86177
86178 2000-04-17  Jim Meyering  <meyering@lucent.com>
86179
86180         Get it right :-)
86181         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
86182         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
86183         Suggestion from Akim Demaille.
86184
86185 2000-04-17  Jim Meyering  <meyering@lucent.com>
86186
86187         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
86188         the definition of it to rpl_strftime also defined-away the system's
86189         declaration.
86190
86191 2000-04-15  Jim Meyering  <meyering@lucent.com>
86192
86193         Use `C' to denote so-called `contiguous' files, the same way
86194         that tar does.
86195         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
86196         (ftypelet): Use S_ISCTG.
86197         From Michael Deutschmann.
86198
86199 2000-04-14  Jim Meyering  <meyering@lucent.com>
86200
86201         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
86202         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
86203         clobbered.
86204
86205 2000-04-14  Jim Meyering  <meyering@lucent.com>
86206
86207         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
86208
86209 2000-04-13  Jim Meyering  <meyering@lucent.com>
86210
86211         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
86212         AH_VERBATIM to insert required #ifndef into config.h.in.
86213         Suggestion from Akim Demaille.
86214
86215 2000-04-12  Jim Meyering  <meyering@lucent.com>
86216
86217         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
86218         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
86219         Christian Krackowizer.
86220
86221         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
86222         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
86223         (AC_SYS_LARGEFILE): Require.
86224         (AM_C_PROTOTYPES): Require.
86225
86226 2000-04-08  Jim Meyering  <meyering@lucent.com>
86227
86228         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
86229         names don't conflict.  Reported by Eli Zaretskii.
86230
86231 2000-04-07  Jim Meyering  <meyering@lucent.com>
86232
86233         * lib/putenv.c: Move inclusion of errno.h so it follows that of
86234         sys/types.h, to work around system header problems on AIX 3.2.5.
86235         From Bruno Haible.
86236
86237 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
86238
86239         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
86240         bug.  Deal with the different error behavior of Irix iconv.
86241
86242 2000-04-05  Paul Eggert  <eggert@twinsun.com>
86243
86244         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
86245         IRIX if the installer said otherwise.
86246
86247 2000-04-05  Jim Meyering  <meyering@lucent.com>
86248
86249         Portability tweaks required for ultrix4.3.
86250         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
86251         (jm_CHECK_DECLS): Add getutent to the list of functions.
86252         (_jm_DECL_HEADERS): Add utmpx.h.
86253         From John David Anglin.
86254
86255         * m4/strftime.m4: Back out the 2000-04-02 change.
86256         Instead of that change, simply undefine putenv in the test program.
86257
86258 2000-04-05  Jim Meyering  <meyering@lucent.com>
86259
86260         Portability tweaks required for ultrix4.3.
86261         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
86262         getutent.
86263         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
86264         * lib/canon-host.c: Declare strdup.
86265         * lib/path-concat.c: Likewise.
86266         From John David Anglin.
86267
86268 2000-04-04  Jim Meyering  <meyering@lucent.com>
86269
86270         Be more DOS 8.3-friendly.
86271         * lib/ref-add.sin: Renamed from ref-add.sed.in.
86272         * lib/ref-del.sin: Renamed from ref-del.sed.in.
86273         * lib/Makefile.am: Reflect renaming.
86274         Reported by Eli Zaretskii.
86275
86276         Use a temporary file name that won't clash with `charset.alias'
86277         in the DOS 8.3 name space.
86278         * lib/Makefile.am (charset_tmp): Define.
86279         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
86280         (uninstall-local): Likewise.
86281         Reported by Eli Zaretskii.
86282
86283 2000-04-03  Jim Meyering  <meyering@lucent.com>
86284
86285         * m4/gettext.m4: Fix typo in comment.
86286
86287         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
86288         textutils/configure.in).  Suggestion from Paul Eggert.
86289         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
86290
86291 2000-04-02  Paul Eggert  <eggert@twinsun.com>
86292
86293         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
86294         variable in the shell rather than using putenv, which isn't
86295         portable.  This avoids the configure-time inter-test dependency
86296         on the potentially-renamed putenv function.
86297
86298 2000-03-30  Paul Eggert  <eggert@twinsun.com>
86299
86300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
86301         before checking struct stat.st_blksize, so that
86302         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
86303
86304 2000-03-29  Paul Eggert  <eggert@twinsun.com>
86305
86306         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
86307         since strftime.c uses HAVE_STRFTIME to decide whether to use
86308         the underlying strftime.
86309
86310 2000-03-29  Paul Eggert  <eggert@twinsun.com>
86311
86312         * lib/time/strftime.c (my_strftime): Make sure we call the system
86313         strftime, not ourselves, when invoking the underlying strftime.
86314
86315 2000-03-24  Jim Meyering  <meyering@lucent.com>
86316
86317         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
86318         (charset_alias): Define.
86319         (install-exec-local): Factor out common code.
86320         (uninstall-local): Split lines longer than 80.
86321         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
86322         (SUFFIXES): Define.
86323         (.sed.in.sed): New rule.  Don't redirect directly to $@.
86324         (CLEANFILES): Add ref-add.sed and ref-del.sed.
86325
86326 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
86327
86328         * lib/config.charset: Output a line containing "Packages using this
86329         file".
86330         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
86331         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
86332         ref-del.sed): New rules.
86333
86334 2000-03-17  Jim Meyering  <meyering@lucent.com>
86335
86336         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
86337         Otherwise, include <strings.h>
86338
86339 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
86340
86341         * lib/unicodeio.c (utf8_wctomb): New function.
86342         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
86343         format instead of in UCS-4 with platform dependent endianness.
86344
86345 2000-03-10  Jim Meyering  <meyering@lucent.com>
86346
86347         * m4/lib-check.m4: Look for getspnam in -lgen, too.
86348         From Marco Franzen.
86349
86350 2000-03-07  Paul Eggert  <eggert@twinsun.com>
86351
86352         * lib/savedir.c (savedir): Work even if directory size is
86353         negative; this can happen with some screwy NFS configurations.
86354
86355 2000-03-06  Jim Meyering  <meyering@lucent.com>
86356
86357         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
86358         if it's NULL (because we ran out of memory).  From Bruno Haible.
86359
86360 2000-03-05  Jim Meyering  <meyering@lucent.com>
86361
86362         * lib/localcharset.c ("path-concat.h"): Include.
86363         (get_charset_aliases): Use path_concat instead of ANSI string
86364         concatenation.
86365
86366         * lib/unicodeio.h (PARAMS): Define.
86367         Use it to guard prototype.
86368
86369 2000-03-04  Jim Meyering  <meyering@lucent.com>
86370
86371         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
86372         for lib/localcharset.c.
86373
86374 2000-03-04  Jim Meyering  <meyering@lucent.com>
86375
86376         * lib/Makefile.am (install-exec-local): Create $(libdir) before
86377         installing into it.
86378         (uninstall-local): Uncomment this rule so `make distcheck' works
86379         once again.
86380
86381         * lib/unicodeio.c (<errno.h>): Include it.
86382         (errno): Declare if not defined.
86383
86384         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
86385
86386         * lib/config.charset: New version, incorporating remarks from a linux
86387         i18n mailing list.  From Bruno Haible.
86388
86389 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
86390
86391         * m4/codeset.m4: New file.
86392         * m4/iconv.m4: New file.
86393         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
86394
86395 2000-03-03  Jim Meyering  <meyering@lucent.com>
86396
86397         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
86398
86399 2000-03-02  Jim Meyering  <meyering@lucent.com>
86400
86401         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
86402         the messages come out on separate lines.
86403
86404         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
86405         rather than jm_CHECK_DECLARATIONS.
86406         * m4/decl.m4: Remove now-unused file.
86407
86408         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
86409         geteuid.
86410
86411 2000-03-02  Jim Meyering  <meyering@lucent.com>
86412
86413         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
86414
86415 2000-03-01  Jim Meyering  <meyering@lucent.com>
86416
86417         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
86418         * lib/unicodeio.c: Likewise.
86419
86420 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
86421
86422         * lib/config.charset: New file.
86423         * lib/localcharset.c: New file.
86424         * lib/unicodeio.h, lib/unicodeio.c: New files.
86425         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
86426         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
86427         (noinst_HEADERS): Add unicodeio.h.
86428         (all-local, install-exec-local, charset.alias): New targets.
86429
86430 2000-02-28  Paul Eggert  <eggert@twinsun.com>
86431
86432         * lib/quotearg.c (ALERT_CHAR): New macro.
86433         (quotearg_buffer_restyled): Use it.
86434
86435 2000-02-27  Jim Meyering  <meyering@lucent.com>
86436
86437         * m4/check-decl.m4: Add getenv to the list.
86438
86439 2000-02-27  Jim Meyering  <meyering@lucent.com>
86440
86441         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
86442         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
86443
86444         * lib/backupfile.c: Guard inclusion of stdlib.h with
86445         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
86446         Declare malloc if needed.
86447
86448         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
86449         `#ifndef HAVE_DECL..'
86450         now that autoconf always defines the HAVE_DECL_ symbols.
86451         * lib/human.c: Likewise.
86452         * lib/same.c: Likewise.
86453         * lib/strtoumax.c: Likewise.
86454
86455         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
86456         declaration check was not run.
86457         * lib/hash.c: Likewise.
86458         * lib/human.c: Likewise.
86459         * lib/same.c: Likewise.
86460         * lib/strtoumax.c: Likewise.
86461
86462         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
86463         `.', then first look up the entire `.'-containing string as a login
86464         name.
86465
86466 2000-02-23  Jim Meyering  <meyering@lucent.com>
86467
86468         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
86469         in place of my hack.
86470
86471 2000-02-18  Paul Eggert  <eggert@twinsun.com>
86472
86473         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
86474         (textint): New typedef.
86475         (parser_control): Member year changed from int to textint.
86476         All uses changed.
86477         (YYSTYPE): Removed; replaced by %union with int and textint members.
86478         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
86479         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
86480         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
86481         (tSNUMBER, tUNUMBER): Now of type <textintval>.
86482         (date, number, to_year): Use width of number in digits, not its value,
86483         to determine whether it's a 2-digit year, or a 2-digit time.
86484         (yylex): Store number of digits of numeric tokens.
86485         Reported by John Kendall.
86486
86487         (parser_control): Changed from struct parser_control to typedef (for
86488         consistency).  All uses changed.
86489
86490         (tID): Removed; not used.
86491         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
86492
86493 2000-02-14  Paul Eggert  <eggert@twinsun.com>
86494
86495         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
86496         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
86497
86498 2000-02-12  Jim Meyering  <meyering@lucent.com>
86499
86500         * lib/userspec.c (ISDIGIT): Define it.
86501         (isdigit): Remove definition.
86502         (is_number): Use ISDIGIT, not isdigit.
86503         <libintl.h>: Include.
86504         (_ and N_): Define.
86505         (parse_user_spec): Mark translatable strings.
86506
86507 2000-02-10  Jim Meyering  <meyering@lucent.com>
86508
86509         With these changes, nanosleep.[ch] are finally enough like the other
86510         lib/* replacement files to compile on a few more losing systems.
86511
86512         * lib/nanosleep.h: Don't include config.h.
86513         Remove prototype from declaration of nanosleep.
86514         (PARAMS): Remove now-unneeded definition.
86515         * lib/nanosleep.c: #undef nanosleep.
86516         (rpl_nanosleep): Rename from nanosleep.
86517
86518 2000-02-10  Jim Meyering  <meyering@lucent.com>
86519
86520         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
86521         gnu_nanosleep to rpl_nanosleep.
86522
86523 2000-02-09  Jim Meyering  <meyering@lucent.com>
86524
86525         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
86526         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
86527
86528 2000-02-08  Akim Demaille  <akim@epita.fr>
86529
86530         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
86531         `[' and `]' and remove uses of `changequote'.
86532         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
86533         (AC_SYS_LARGEFILE): Likewise.
86534         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
86535         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
86536         of changequote.
86537         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
86538         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
86539         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
86540         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
86541
86542 2000-02-05  Jim Meyering  <meyering@lucent.com>
86543
86544         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
86545         Remove explicit use of AC_HEADER_TIME.  It is required by
86546         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
86547         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
86548         in autoconf whereby the expansion of the latter ended up preceding
86549         the expansion of its prerequisite, AC_HEADER_TIME.
86550         Reported by Volker Borchert.
86551
86552 2000-02-03  Jim Meyering  <meyering@lucent.com>
86553
86554         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
86555
86556 2000-02-03  Jim Meyering  <meyering@lucent.com>
86557
86558         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
86559         rather than with `#if HAVE_UTMPNAME'.
86560
86561 2000-02-02  Jim Meyering  <meyering@lucent.com>
86562
86563         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
86564         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
86565         Reported by Eli Zaretskii.
86566
86567 2000-02-01  Jim Meyering  <meyering@lucent.com>
86568
86569         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
86570
86571 2000-01-31  Jim Meyering  <meyering@lucent.com>
86572
86573         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
86574         functions.  Add the time.h and sys/time.h headers along with the
86575         AC_REQUIRE'ment of AC_HEADER_TIME.
86576
86577 2000-01-31  Jim Meyering  <meyering@lucent.com>
86578
86579         * lib/nanosleep.h (nanosleep): Guard declaration with
86580         `#if ! HAVE_DECL_NANOSLEEP'.
86581         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
86582         the declaration in that vendor's sys/timers.h.
86583         Reported by Christian Krackowizer.
86584
86585         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
86586         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
86587         (ISPRINT): Likewise.
86588         Reported by Tom Tromey.
86589
86590 2000-01-30  Jim Meyering  <meyering@lucent.com>
86591
86592         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
86593
86594         * m4/prereq.m4 (utmp_includes): Define.
86595         Check for ut_user and ut_name members in both struct utmpx
86596         and struct utmp.
86597
86598 2000-01-30  Jim Meyering  <meyering@lucent.com>
86599
86600         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
86601         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
86602         header files where only utmpx.ut_user is declared.
86603
86604         * lib/readutmp.h (UT_USER): Define.
86605
86606 2000-01-29  Jim Meyering  <meyering@lucent.com>
86607
86608         * m4/lib-check.m4: New file containing library-related checks from
86609         fileutils and sh-utils (textutils had none).
86610
86611 2000-01-28  Jim Meyering  <meyering@lucent.com>
86612
86613         * m4/perl.m4: Change format of warning message to look more like that
86614         from the missing script.  Suggestion from François Pinard.
86615
86616 2000-01-25  Jim Meyering  <meyering@lucent.com>
86617
86618         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
86619         well as time.h in the compile check.
86620         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
86621         Fix typo in cross-compiling case: s/yes/no/.
86622
86623 2000-01-23  Jim Meyering  <meyering@lucent.com>
86624
86625         * m4/jm-macros.m4: Move df-related tests here from
86626         fileutils/configure.in
86627
86628         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
86629         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
86630
86631         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
86632         s/space/ac_fsusage_space/.
86633         (jm_FILE_SYSTEM_USAGE): Take two parameters.
86634
86635         * m4/ftruncate.m4: New file (derived from part of
86636         fileutils/configure.in).
86637         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
86638         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
86639
86640         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
86641         AC_SUBST these here, rather than just in sh-util/configure.in, so
86642         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
86643         all the same.
86644         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
86645         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
86646         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
86647         (AC_SUBST(POW_LIBM)): Likewise.
86648         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
86649
86650 2000-01-23  Jim Meyering  <meyering@lucent.com>
86651
86652         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
86653         obstack.c.
86654
86655 2000-01-22  Jim Meyering  <meyering@lucent.com>
86656
86657         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
86658
86659         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
86660
86661         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
86662         configure.in
86663         (AC_CHECK_HEADERS): Likewise for sh-utils.
86664         (AC_CHECK_HEADERS): Likewise for textutils.
86665         Merge the three lists of headers.
86666
86667         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
86668         from fileutils' configure.in.
86669
86670         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
86671         code. Moved tests into their own function (_jm_DECL_HEADERS) in
86672         check-decl.m4.
86673
86674         * m4/check-decl.m4: Use #if rather than #ifdef.
86675         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
86676         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
86677         (_jm_DECL_HEADERS): Define new function.
86678         (jm_CHECK_DECLARATIONS): Require it.
86679
86680 2000-01-22  Jim Meyering  <meyering@lucent.com>
86681
86682         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
86683         [! HAVE_DECL_STRTOULL]: Declare strtoull.
86684         Required for some AIX systems.  Reported by Christian Krackowizer.
86685         [TESTING] (main): New function.
86686
86687         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
86688         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
86689         letters.
86690
86691         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
86692         iswprint.
86693
86694         * lib/strverscmp.c (ISDIGIT): Define.
86695         (strverscmp): Use ISDIGIT, not isdigit.
86696
86697 2000-01-19  Jim Meyering  <meyering@lucent.com>
86698
86699         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
86700         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
86701         defines `struct timespec' in <sys/time.h>
86702
86703         * m4/c-bs-a.m4: Remove uses of changequote altogether.
86704         Thanks to Akim for explaining.
86705
86706 2000-01-17  Paul Eggert  <eggert@twinsun.com>
86707
86708         * lib/nanosleep.c (nanosleep):
86709         Don't use SA_INTERRUPT to decide whether to call sigaction, as
86710         POSIX.1 doesn't require SA_INTERRUPT and some systems
86711         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
86712         it's been part of POSIX.1 since day 1 (in 1988).
86713
86714 2000-01-17  Jim Meyering  <meyering@lucent.com>
86715
86716         * lib/interlock: Remove unused file.  Reported by François Pinard.
86717
86718 2000-01-16  Paul Eggert  <eggert@twinsun.com>
86719
86720         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
86721         alert, backslash, formfeed, and vertical tab unnecessarily in
86722         shell quoting style.
86723
86724 2000-01-16  Jim Meyering  <meyering@lucent.com>
86725
86726         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
86727         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
86728         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
86729         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
86730
86731 2000-01-16  Jim Meyering  <meyering@lucent.com>
86732
86733         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
86734         because the latter didn't work.
86735
86736 2000-01-15  Jim Meyering  <meyering@lucent.com>
86737
86738         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
86739         (AC_REPLACE_FUNCS): Add memcpy and memset.
86740         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
86741         Add strpbrk.
86742         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
86743
86744 2000-01-12  Jim Meyering  <meyering@lucent.com>
86745
86746         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
86747         (jm_PREREQ): Use it.
86748         (jm_PREREQ_READUTMP): New macro.
86749         (jm_PREREQ): Use it.
86750
86751 2000-01-11  Paul Eggert  <eggert@twinsun.com>
86752
86753         Quote multibyte characters correctly.
86754         * m4/c-bs-a.m4: New file.
86755         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
86756         (jm_PREREQ): Use it.
86757
86758 2000-01-11  Paul Eggert  <eggert@twinsun.com>
86759
86760         * m4/uintmax_t.m4: Port to autoconf 2.13.
86761
86762 2000-01-08  Jim Meyering  <meyering@ascend.com>
86763
86764         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
86765         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
86766
86767 2000-01-04  Jim Meyering  <meyering@ascend.com>
86768
86769         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
86770         jm_STRUCT_DIRENT_D_TYPE.
86771         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
86772         jm_STRUCT_DIRENT_D_INO.
86773         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
86774         jm_STRUCT_UTIMBUF.
86775         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
86776         renamings.
86777         * m4/utime.m4: Likewise.
86778
86779         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
86780         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
86781
86782 2000-01-03  Paul Eggert  <eggert@twinsun.com>
86783
86784         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
86785         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
86786
86787 2000-01-02  Jim Meyering  <meyering@ascend.com>
86788
86789         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
86790         remember if this is necessary.
86791
86792 1999-12-26  Jim Meyering  <meyering@ascend.com>
86793
86794         * m4/jm-macros.m4: Use it here.
86795         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
86796
86797 1999-12-23  Jim Meyering  <meyering@ascend.com>
86798
86799         * m4/jm-macros.m4: Check for clock_gettime (moved from
86800         fileutils/configure.in)
86801         Check for gettimeofday.
86802
86803 1999-12-20  Jim Meyering  <meyering@ascend.com>
86804
86805         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
86806         autoconf-2.14a-1999-12-20.
86807
86808 1999-12-19  Jim Meyering  <meyering@ascend.com>
86809
86810         * m4/lstat-slash.m4: New file.
86811         * m4/jm-macros.m4: Use the new macro:
86812         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86813
86814 1999-12-07  Jim Meyering  <meyering@ascend.com>
86815
86816         * m4/perl.m4: Require that File::Compare be available, too.
86817         Too many systems seem to lack it.
86818
86819         * m4/strftime.m4: Add checks for most of the cpp macros tested in
86820         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
86821
86822 1999-11-18  Paul Eggert  <eggert@twinsun.com>
86823
86824         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
86825         problem with the QNX 4.25 shell, which doesn't propagate exit
86826         status of failed commands inside shell assignments.
86827
86828 1999-11-17  Jim Meyering  <meyering@ascend.com>
86829
86830         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
86831
86832 1999-11-07  Jim Meyering  <meyering@ascend.com>
86833
86834         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
86835
86836 1999-11-06  Jim Meyering  <meyering@ascend.com>
86837
86838         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
86839         * m4/jm-macros.m4 (jm_MACROS): Use it here.
86840
86841 1999-11-05  Jim Meyering  <meyering@ascend.com>
86842
86843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
86844         configure.in of textutils, fileutils, and sh-utils into this one
86845         (shared between those packages) file.
86846         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
86847         AC_STRUCT_ST_BLKSIZE.
86848
86849 1999-11-03  Jim Meyering  <meyering@ascend.com>
86850
86851         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
86852         of AC_CHECK_TYPE checks includes unistd.h.
86853         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
86854         Suggestion from Akim Demaille.
86855
86856 1999-10-30  Jim Meyering  <meyering@ascend.com>
86857
86858         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
86859         m4-quoted string.
86860         * m4/ls-mntd-fs.m4: Likewise.
86861         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
86862         * m4/jm-winsz1.m4: Likewise.
86863
86864         * m4/const.m4: Remove file, since the fix made it into the experimental
86865         version of autoconf.
86866         * m4/mktime.m4: Likewise.
86867
86868         * m4/check-type.m4: Remove file, now that the latest version of
86869         AC_CHECK_TYPE takes a third arg to specify additional #includes.
86870
86871         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
86872         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
86873         AC_CHECK_TYPE.
86874
86875 1999-10-04  Jim Meyering  <meyering@ascend.com>
86876
86877         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
86878
86879 1999-09-22  Paul Eggert  <eggert@twinsun.com>
86880
86881         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
86882         2.95.1 bug with HP-UX 10.20.
86883
86884 1999-09-17  Jim Meyering  <meyering@ascend.com>
86885
86886         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
86887         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
86888         due to missing strdup (against sh-utils-2.0).
86889
86890 1999-08-29  Jim Meyering  <meyering@ascend.com>
86891
86892         * m4/jm-macros.m4: Require jm_BISON.
86893         * m4/bison.m4: New file.
86894
86895 1999-08-17  Paul Eggert  <eggert@twinsun.com>
86896
86897         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
86898         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
86899
86900 1999-08-05  Jim Meyering  <meyering@ascend.com>
86901
86902         * m4/getline.m4: Rename test file from conftestdata to conftest.data
86903         to avoid conflicts with `conftest' on 8+3 filesystems.
86904         Suggestion from Eli Zaretskii.
86905
86906 1999-08-04  Jim Meyering  <meyering@ascend.com>
86907
86908         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
86909         fileutils and sh-utils (textutils's getline test was inadequate).
86910         (AM_FUNC_GETLINE): Run this test.
86911         (AC_CHECK_FUNCS): Check for getdelim.
86912         Reported by Bob Proulx.
86913
86914 1999-08-02  Jim Meyering  <meyering@ascend.com>
86915
86916         * m4/jm-macros.m4: Add a comment.
86917
86918 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86919
86920         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
86921         <inttypes.h> defines strtoumax as a macro (and not as a
86922         function).
86923
86924 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86925
86926         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
86927         that we can shift, multiply and divide unsigned long long
86928         values; Ultrix cc can't do it.
86929
86930 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86931
86932         * m4/mktime.m4: New file, which is a preview of what should appear
86933         in the next public autoconf release.
86934
86935 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86936
86937         * m4/lfs.m4: Remove this file.
86938         * m4/largefile.m4: New file.  It contains the old contents of
86939         lfs.m4, except that all names with prefix AC_LFS have been
86940         changed to use the prefix AC_SYS_LARGEFILE instead, to be
86941         compatible with future autoconf versions.  Also, some minor m4
86942         quoting problems have been fixed.
86943
86944 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86945
86946         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
86947         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
86948         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
86949         and simplify the shell code.
86950
86951 1999-08-01  Jim Meyering  <meyering@ascend.com>
86952
86953         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
86954         m4.
86955
86956 1999-07-20  Jim Meyering  <meyering@ascend.com>
86957
86958         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
86959
86960 1999-07-15  Jim Meyering  <meyering@ascend.com>
86961
86962         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
86963
86964 1999-05-22  Jim Meyering  <meyering@ascend.com>
86965
86966         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
86967
86968 1999-05-20  Jim Meyering  <meyering@ascend.com>
86969
86970         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
86971         Add a colon after each `then' in case $4 is empty.
86972
86973 1999-05-16  Jim Meyering  <meyering@ascend.com>
86974
86975         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
86976
86977 1999-05-10  Jim Meyering  <meyering@ascend.com>
86978
86979         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
86980
86981         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
86982         AC_FUNC_MKTIME.
86983
86984 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
86985
86986         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
86987
86988 1999-05-04  Paul Eggert  <eggert@twinsun.com>
86989
86990         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
86991         not CPPFLAGS, so that linking works correctly in IRIX.
86992
86993 1999-04-30  Paul Eggert  <eggert@twinsun.com>
86994
86995         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
86996
86997 1999-04-20  Paul Eggert  <eggert@twinsun.com>
86998
86999         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
87000         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
87001         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
87002         jm_AC_TYPE_UNSIGNED_LONG_LONG.
87003         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
87004
87005         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
87006
87007 1999-04-20  Jim Meyering  <meyering@ascend.com>
87008
87009         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
87010         AC_REPLACE xstroull if necessary.  From Paul Eggert.
87011         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
87012
87013 1999-04-18  Jim Meyering  <meyering@ascend.com>
87014
87015         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
87016         * m4/jm-macros.m4: Use it.
87017
87018 1999-04-06  Jim Meyering  <meyering@ascend.com>
87019
87020         * m4/strftime.m4: Remove test for %f.
87021
87022 1999-03-29  Jim Meyering  <meyering@ascend.com>
87023
87024         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
87025         superset of the AC_TYPE_* checks in the textutils, fileutils,
87026         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
87027         AC_TYPE_PID_T.
87028
87029 1999-03-28  Jim Meyering  <meyering@ascend.com>
87030
87031         * m4/jm-macros.m4: Define GNU_PACKAGE here.
87032         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
87033         replaced e.g., in the *.sh files of the sh-utils.
87034
87035 1999-03-20  Jim Meyering  <meyering@ascend.com>
87036
87037         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
87038         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
87039         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
87040
87041 1999-03-19  Jim Meyering  <meyering@ascend.com>
87042
87043         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
87044
87045 1999-03-12  Jim Meyering  <meyering@ascend.com>
87046
87047         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
87048
87049 1999-03-07  Jim Meyering  <meyering@ascend.com>
87050
87051         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
87052         declared.
87053
87054 1999-02-17  Jim Meyering  <meyering@ascend.com>
87055
87056         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
87057         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
87058
87059 1999-02-07  Jim Meyering  <meyering@ascend.com>
87060
87061         * m4/group-member.m4: New file -- extracted from sh-utils'
87062         configure.in.
87063
87064         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
87065         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
87066
87067 1999-02-06  Jim Meyering  <meyering@ascend.com>
87068
87069         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
87070         * m4/fnmatch.m4: Likewise.
87071         * m4/getgroups.m4: Likewise.
87072         * m4/lstat.m4: Likewise.
87073         * m4/malloc.m4: Likewise.
87074         * m4/putenv.m4: Likewise.
87075         * m4/realloc.m4: Likewise.
87076         * m4/regex.m4: Likewise.
87077         * m4/stat.m4: Likewise.
87078         * m4/strftime.m4: Likewise.
87079         Suggestion from Alain Magloire.
87080
87081         * m4/chown.m4: Use `.$ac_objext', not `.o'.
87082         * m4/fnmatch.m4: Likewise.
87083         * m4/getgroups.m4: Likewise.
87084         * m4/getline.m4: Likewise.
87085         * m4/lstat.m4: Likewise.
87086         * m4/malloc.m4: Likewise.
87087         * m4/memcmp.m4: Likewise.
87088         * m4/putenv.m4: Likewise.
87089         * m4/realloc.m4: Likewise.
87090         * m4/regex.m4: Likewise.
87091         * m4/stat.m4: Likewise.
87092         * m4/strftime.m4: Likewise.
87093         Suggestion from Alain Magloire.
87094
87095         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
87096         an argument.
87097
87098         * m4/regex.m4: Add a run-time Test for proper operation of
87099         re_compile_pattern.
87100
87101 1999-01-31  Jim Meyering  <meyering@ascend.com>
87102
87103         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
87104
87105 1999-01-30  Jim Meyering  <meyering@ascend.com>
87106
87107         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
87108
87109         * m4/jm-mktime.m4: Make this a wrapper around the official
87110         AM_FUNC_MKTIME rather than my private copy, now that the official one
87111         is up to date.
87112         * m4/mktime.m4: Remove file.
87113
87114         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
87115         * m4/uptime.m4: Likewise.
87116         * m4/uintmax_t.m4: Likewise.
87117
87118 1999-01-28  Jim Meyering  <meyering@ascend.com>
87119
87120         * m4/jm-macros.m4: Use jm_AFS.
87121         * m4/afs.m4: New file (from fileutils' configure.in).
87122
87123         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
87124         * m4/chown.m4: Likewise.
87125         * m4/d-ino.m4: Likewise.
87126         * m4/d-type.m4: Likewise.
87127         * m4/fnmatch.m4: Likewise.
87128         * m4/getgroups.m4: Likewise.
87129         * m4/gettext.m4: Likewise.
87130         * m4/jm-mktime.m4: Likewise.
87131         * m4/jm-winsz2.m4: Likewise.
87132         * m4/lcmessage.m4: Likewise.
87133         * m4/ls-mntd-fs.m4: Likewise.
87134         * m4/malloc.m4: Likewise.
87135         * m4/memcmp.m4: Likewise.
87136         * m4/putenv.m4: Likewise.
87137         * m4/realloc.m4: Likewise.
87138         * m4/st_mtim.m4: Likewise.
87139         * m4/strftime.m4: Likewise.
87140
87141 1999-01-16  Jim Meyering  <meyering@ascend.com>
87142
87143         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
87144         (ARGMATCH_DIE_DECL): Define.
87145
87146 1999-01-12  Jim Meyering  <meyering@ascend.com>
87147
87148         * m4/Makefile.am.in: Rewrite to avoid using fmt.
87149         Reported by Lars Hecking.
87150
87151 1999-01-10  Jim Meyering  <meyering@ascend.com>
87152
87153         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
87154         gross kludge.
87155         * m4/inttypes_h.m4: Likewise.
87156         * m4/lstat.m4: Likewise.
87157         * m4/malloc.m4: Likewise.
87158         * m4/readdir.m4: Likewise.
87159         * m4/realloc.m4: Likewise.
87160         * m4/st_dm_mode.m4: Likewise.
87161         * m4/stat.m4: Likewise.
87162         * m4/utimbuf.m4: Likewise.
87163         * m4/utimes.m4: Likewise.
87164
87165         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
87166         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
87167         comments in config.h.in are meaningful.
87168
87169         * m4/jm-macros.m4: Require autoconf-2.13 here.
87170
87171         * m4/regex.m4: By default, don't use the included regex.c on systems
87172         with glibc 2.  Suggestion from Uli Drepper.
87173
87174 1999-01-02  Jim Meyering  <meyering@ascend.com>
87175
87176         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
87177
87178 1998-12-18  Jim Meyering  <meyering@ascend.com>
87179
87180         * m4/Makefile.am.in (Makefile.am): Simplify rule.
87181         Based on a suggestion from Lars Hecking.
87182
87183 1998-11-16  Paul Eggert  <eggert@twinsun.com>
87184
87185         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
87186
87187 1998-11-16  Jim Meyering  <meyering@ascend.com>
87188
87189         * m4/lfs.m4: Double-quote the `uname...` expression.
87190
87191 1998-11-14  Jim Meyering  <meyering@ascend.com>
87192
87193         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
87194         * m4/stat.m4: Likewise.
87195
87196 1998-11-03  Jim Meyering  <meyering@ascend.com>
87197
87198         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
87199         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
87200
87201 1998-10-18  Jim Meyering  <meyering@ascend.com>
87202
87203         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
87204
87205 1998-10-17  Jim Meyering  <meyering@ascend.com>
87206
87207         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
87208         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
87209         calls for those previously hard-coded headers.  Instead, take a new
87210         parameter.
87211         (jm_CHECK_DECLARATIONS): Reflect interface change.
87212         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
87213         (jm_CHECK_DECL_LOCALTIME_R): New macro.
87214
87215         * m4/mktime.m4: Test for spring-forward gap before long-running test.
87216
87217 1998-10-14  Jim Meyering  <meyering@ascend.com>
87218
87219         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
87220         instead of "TZ=America/Vancouver".  From Paul Eggert.
87221
87222 1998-10-11  Jim Meyering  <meyering@ascend.com>
87223
87224         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
87225         This adds a test for a recently added compatibility fix for mktime.c.
87226         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
87227
87228 1998-09-27  Jim Meyering  <meyering@ascend.com>
87229
87230         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
87231
87232         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
87233         ../configure.in, including a change from Gordon Matzigkeit to allow
87234         cross-compiling for the Hurd.
87235
87236         * m4/glibc.m4: New file/macro to test for the GNU C Library
87237         versions 1 and 2.  From Gordon Matzigkeit.
87238         Indent.
87239
87240 1998-09-21  Jim Meyering  <meyering@ascend.com>
87241
87242         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
87243
87244 1998-08-18  Paul Eggert  <eggert@twinsun.com>
87245
87246         Port nanosecond-resolution times to UnixWare 2.1.2 and
87247         pedantic Solaris 2.6.
87248
87249         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
87250         AC_STRUCT_ST_MTIM.
87251         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
87252         Generate name of ns member, instead of just 1 or undef.
87253         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
87254
87255 1998-08-15  Jim Meyering  <meyering@ascend.com>
87256
87257         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
87258         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
87259         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
87260         instead of jm_TYPE_SSIZE_T.
87261
87262 1998-08-12  Jim Meyering  <meyering@ascend.com>
87263
87264         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
87265
87266 1998-08-02  Jim Meyering  <meyering@ascend.com>
87267
87268         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
87269         in acconfig.h manually.
87270
87271 1998-07-31  Paul Eggert  <eggert@twinsun.com>
87272
87273         * m4/st_mtim.m4: New file.
87274
87275 1998-07-28  Jim Meyering  <meyering@ascend.com>
87276
87277         * m4/utimes.m4: Undef stat.
87278
87279 1998-07-25  Jim Meyering  <meyering@ascend.com>
87280
87281         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
87282         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
87283
87284 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
87285
87286         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
87287         uid and gid actually remain unchanged.
87288
87289 1998-07-07  Jim Meyering  <meyering@ascend.com>
87290
87291         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
87292
87293 1998-07-04  Jim Meyering  <meyering@ascend.com>
87294
87295         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
87296         to prove that this macro can be used in packages without regex.c.
87297
87298 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
87299
87300         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
87301         is to be used.
87302
87303 1998-07-03  Jim Meyering  <meyering@ascend.com>
87304
87305         * m4/gettext.m4: Add -lintl if it's found to be necessary.
87306
87307         * m4/gettext.m4: New file -- from gettext-0.10.35.
87308         * m4/lcmessage.m4: Likewise.
87309         * m4/progtest.m4: Likewise.
87310
87311         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
87312         * m4/jm-macros.m4: Require the new macro.
87313
87314 1998-06-29  Jim Meyering  <meyering@ascend.com>
87315
87316         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
87317         for the definition of NGROUPS (used in a system header included
87318         by sys/mount.h).
87319
87320 1998-06-28  Jim Meyering  <meyering@ascend.com>
87321
87322         * m4/ls-mntd-fs.m4: New file.
87323         * m4/fstypename.m4: New file.
87324
87325         * m4/jm-macros.m4: Require the new macro.
87326         * m4/jm-glibc-io.m4: New file.
87327
87328 1998-05-19  Jim Meyering  <meyering@ascend.com>
87329
87330         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
87331         * m4/lchown.m4: New file.
87332
87333         * m4/Makefile.am.in: New file.
87334         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
87335
87336 1998-05-14  Jim Meyering  <meyering@ascend.com>
87337
87338         * m4/Makefile.am (EXTRA_DIST): Add them.
87339         * m4/jm-macros.m4: New file.
87340         * m4/utimbuf.m4: New file.
87341
87342 1998-05-12  Jim Meyering  <meyering@ascend.com>
87343
87344         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
87345
87346 1998-05-11  Jim Meyering  <meyering@ascend.com>
87347
87348         * m4/isc-posix.m4: New file.
87349
87350 1998-05-10  Jim Meyering  <meyering@ascend.com>
87351
87352         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
87353
87354 1998-05-09  Jim Meyering  <meyering@ascend.com>
87355
87356         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
87357         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
87358         with automake.
87359
87360         * m4/ssize_t.m4: New file.
87361         * m4/mktime.m4: Remove file -- the new automake has this now.
87362
87363 1998-04-26  Jim Meyering  <meyering@ascend.com>
87364
87365         * m4/assert.m4: New file.
87366         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
87367
87368 1998-04-05  Jim Meyering  <meyering@ascend.com>
87369
87370         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
87371         (jm_PREREQ): Use it here.
87372
87373 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
87374
87375         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
87376         in acconfig.h.
87377
87378 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
87379
87380         * m4/prereq.m4: New file.
87381         * m4/error.m4: New file.
87382         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
87383
87384 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
87385
87386         * m4/getline.m4: Don't set am_cv_func_working_getline before the
87387         cache-check for the same variable -- that defeated the purpose of
87388         the test; the test program was never run.  This was a problem only
87389         on systems with losing getline functions -- HP-UX 10.20 is one.
87390         Reported by Bjorn Helgaas.
87391
87392 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
87393
87394         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
87395
87396 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
87397
87398         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
87399
87400         * m4/const.m4: New file.  Use an initializer in this declaration
87401         typedef int charset[2]; const charset x;
87402         Reported by Bob Glickstein.
87403
87404 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
87405
87406         * m4/chown.m4: Fix reversed types on -1 args to chown.
87407         From Kaveh Ghazi.
87408
87409 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
87410
87411         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
87412         Add lseek and memchr.
87413
87414         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
87415         T.E.Dickey <dickey@clark.net> said that some older preprocessors
87416         have a 20-character limit on names.
87417
87418 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
87419
87420         * m4/inttypes_h.m4: New file.
87421         * m4/uintmax_t.m4: New file.
87422         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
87423
87424
87425         -----
87426
87427         Local Variables:
87428         coding: utf-8
87429         End:
87430
87431         Copyright (C) 1997-2011 Free Software Foundation, Inc.
87432
87433         Copying and distribution of this file, with or without
87434         modification, are permitted provided the copyright notice
87435         and this notice are preserved.